XRPL-Utilities
XR-Flows

XR-Flows

ETF flow meets the ledger

Daily AUM for every US-listed XRP-exposure ETF, plotted side by side with the XRPL exchange-flow delta. The off-chain side of institutional capital and the on-chain side of XRP movement, on one date axis.

Tracked ETFs · correlation only · never causation

Understanding XRP ETFs

What an XRP ETF is

A spot XRP ETF holds XRP off-chain in institutional custody and issues exchange-traded shares against it. Buying a share is buying a claim on a slice of that custodied XRP, without ever touching a wallet or a private key. The custody is pooled across all investors in the fund, so individual holders cannot be attributed to specific on-chain wallets.

Who issues them on US exchanges

Names you know: Bitwise, Franklin Templeton, Grayscale, 21Shares. Names you might not: Canary Capital, REX-Osprey, Hashdex. Plus indirect-basket exposure via funds that hold XRP alongside other large-cap crypto assets. The tracked set grows automatically as new US-listed products surface in SEC's ticker index.

Why correlation, not causation

ETFs hold XRP through pooled custody. That custody serves every share holder in the fund collectively, not any single buyer. So when ETF AUM and XRPL exchange-flow move in the same direction on the same day, that's a useful institutional-capital signal, but it isn't proof that the ETF caused the flow. We measure both sides honestly and let the consumer draw their own inference.

Total tracked AUM
USD, US spot + indirect + European ETP
Day-over-day change
across the tracked set
XRP attributable
XRP held under ETF wrappers
Tickers tracked
live + stubbed pending coverage

Tracked ETF AUM over time

Net Assets per tracked issuer per UTC day, stacked. AUM is refreshed from public-source issuer dashboards and secondary public-source fallbacks where issuer pages are gated. Same-day re-reads overwrite the prior reading. Indirect-basket funds (BITW, GDLC, EZPZ, NCIQ, TTOP, TXBC) appear separately and persist only their XRP-attributable slice. Recent 21Shares launches TTOP + TXBC return null until public coverage indexes them.

ETF Net Assets stacked (USD)

Daily AUM change (per ticker, USD)

Green = AUM rose that day, red = AUM fell. Computed from day-over-day delta of the per-ticker series; first day in the window has no prior reference and is omitted.

XRPL exchange-flow delta (net XRP)

Moscow Exchange XRP index (MOEXXRP, USD)

USD-denominated XRP price benchmark published by the Moscow Exchange from four spot venues, weighted by trading volume. Launched 2026-05-13; the series grows one row per MOEX trading day. Trading is restricted to professional investors but the index itself is a public reference price.

Cross-border institutional settlement

Country-pair settlement edges derived from whale Payments where both sender and receiver XRPScan labels resolve to operator-curated jurisdictions and the assigned countries differ. Each edge counts one Payment moving USD value between two countries; the map shades each country by total inbound plus outbound USD over the window. Labeled-wallet layer only.

World map: country total USD (in + out)

scale: none low mid high

Top corridors (origin → destination)

loading…

Tracked ETFs

Operator-curated registry. Two tiers: spot funds that hold XRP directly, and indirect baskets that hold XRP alongside other large-cap crypto assets. The list grows automatically as the discovery loop surfaces new US-listed products and they pass operator review. Excludes futures-only XRP products and international-listed funds.

Expense ratio is the annual management fee the issuer charges as a percent of fund assets, paid by the fund itself (so it reduces NAV over time rather than billing investors directly). Lower is cheaper to hold long-term.

Methodology

Two independent measurements, one date axis

Off-chain AUM

ETF AUM is collected daily from each issuer's public dashboard after the US market close. Spot tier funds hold XRP directly via institutional custody. Indirect-basket tier funds hold XRP alongside other large-cap crypto; we persist only the XRP-attributable slice (weight × total basket AUM). Each snapshot row carries a source label for lineage audit.

On-chain flow

XRPL exchange-flow delta comes from XR-Pulse, measuring net XRP moving in and out of labeled exchange wallets per UTC day. Positive = XRP left exchange custody (off-exchange accumulation); negative = XRP arrived at exchanges (sell-side distribution). Independent of the AUM scrape; plotted on the same axis.

Correlation, never causation

A custodian wallet on XRPL serves many clients, not a single fund. XR-Flows does not attempt to attribute on-chain wallets to specific ETFs. The rolling 7-day Pearson coefficient is a directional alignment score: if the two series moved together, nothing more.

AUM is issuer-reported

AUM is what each issuer publishes. We do not cross-validate it against on-chain spot price times XRP held; different sources, different timestamps. The issuer's number is the official number for our purposes. Per-scraper freshness is exposed on /healthz so consumers can tell when a dashboard parser breaks.

Launch-event window analysis

For each ETF, the 7 days before and the 7 days from launch are summarised separately (window tunable up to 30 each side). The post-window vs pre-window ratio of institutional and whale-grade XRP transfer flow is the headline launch-impact figure. Pre-rollup launches return an honest no-data marker rather than synthetic zeros.

Auto-discovery + public sources only

No paid feeds. Direct issuer dashboards where data is exposed in static HTML, plus secondary public-source fallbacks where issuer pages are gated. A discovery loop watches SEC's public ticker index for new XRP ETFs and surfaces candidates at /stats/etf-candidates for operator review.

Manifest
/agents.json

Full registry, payment terms, methodology.

Liveness
/healthz

Per-scraper freshness, DB state, upstream Pulse.

For developers & AI agents

Agents read the same data via x402

XR-Flows renders this dashboard over the same endpoints agents call. Three free public reads: GET /stats/correlation for the headline cross-tier series, GET /stats/launch-impact for the per-launch window analysis, and GET /stats/cross-border-flow for the country-pair institutional settlement edges. The paid per-ETF deep dive lives at POST /scan on flows.xrpl-utilities.io for $0.10 USD per call via x402 v2 (XRP/RLUSD on XRPL or USDC on Base). Each /scan response carries the latest scrape, full daily history, the chain-flow context from XR-Pulse, and the SEC EDGAR filing list for that ticker.

Free MCP tools (3)
  • xrpl_flows_correlation
  • xrpl_flows_launch_impact
  • xrpl_flows_cross_border_flow
Paid MCP tools (1)
  • xrpl_flows_scan · $0.10

Call any tool above from an MCP client (Claude Desktop etc.) via @xrpl-utilities/mcp or the hosted endpoint at mcp.xrpl-utilities.io/mcp. Free tools work without a payment header; paid tools use the same x402 model wrapped as MCP arguments.

Sister products

Also part of the XRPL-Utilities Portfolio