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.
A spot XRP ETF holds XRP off-chain in institutional custody (Coinbase Custody, BitGo, Anchorage) 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.
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.
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.
Net Assets per tracked issuer per UTC day, stacked. AUM is scraped hourly across three source paths: direct issuer dashboards, Yahoo Finance for SPA-gated issuers, and a daily-cadence third-party aggregator for Franklin XRPZ. Same-day re-scrapes 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 aggregator coverage indexes them.
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.
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.
Registry unreachable. Retry shortly.
ETF AUM is scraped daily from each issuer's public dashboard. XRPL exchange-flow delta comes from XR-Pulse, measuring net XRP moving in and out of known exchange wallets per UTC day. These are independent data sources; XR-Flows plots them side by side and computes a rolling 7-day Pearson coefficient as a directional alignment score.
ETFs hold XRP via pooled institutional custody (Coinbase Custody, BitGo, Anchorage). 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. A high correlation says the two series moved together, nothing more.
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.
For each ETF, the 7 days before and the 7 days from launch are summarised separately (window is 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. Launches that predate our daily-rollup horizon return an honest no-data marker rather than synthetic zeros.
Spot tier. Funds that hold XRP directly in institutional custody and issue shares against it. AUM is what the issuer reports on its public dashboard, scraped daily after market close. The live tracked set is rendered on the page above and grows as new spot products list and surface in SEC's ticker index.
Indirect-basket tier. Multi-asset crypto funds that hold XRP as one component alongside Bitcoin, Ether, and others. We persist the XRP-attributable slice only (XRP weight times total basket AUM), not the full basket. Chart math separates the two tiers so the spot signal stays clean.
Three source paths, no paid APIs. Direct issuer dashboards where the data is exposed in static HTML, Yahoo Finance via the yfinance library where issuer pages are SPA-gated, and one third-party aggregator for Franklin Templeton whose API is locked down. Each snapshot row carries a source label so consumers can audit lineage.
XRPL exchange-flow on the other axis. The chain side reads XR-Pulse's daily exchange-flow delta, which measures net XRP moving in and out of labeled exchange wallets per UTC day. Positive means XRP left exchange custody (off-exchange accumulation pattern); negative means XRP arrived at exchanges (sell-side accumulation pattern).
Correlation, never causation. ETFs hold XRP through pooled custody at Coinbase Custody, BitGo, Anchorage. A custodian wallet serves every shareholder collectively, not a single fund. We measure both sides independently and let consumers draw their own inference. A high Pearson coefficient says the two series moved together, nothing more.
Auto-discovery for the long tail. A daily background job scans SEC's official ticker index for new XRP-related ETFs and surfaces candidates at /stats/etf-candidates. New launches get reviewed and either promoted to the operator-curated registry or dismissed. The next Hashdex or 21Shares product on US exchanges lands here automatically.
XR-Flows renders this dashboard over the same endpoints agents call. Two free public reads:
GET /stats/correlation for the headline cross-tier series, and
GET /stats/launch-impact for the per-launch window analysis.
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 or RLUSD).
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.