XRP ETF Data Downloads
Daily XRP holdings and flows history for every US spot XRP ETF we track plus the Bitwise 10 Crypto Index Fund (BITW), as free CSV and JSON files you can download, analyze and cite. Holdings come from each issuer's own website; flows are the day-over-day change in those holdings.
+406,171 XRP
≈ +$742K at each day's XRP price · 5 settled trading days
Sum of daily holdings changes across all funds with computed flows (flow-excluded funds count as zero). Total held on Oct 2: 1,185,626,628 XRP.
$1.72 per XRP
XRP was $1.49 on Oct 2: 13.3% below break-even
Dollar-weighted average price at which the funds' XRP was added, from Dec 1, 2025. Method and per-fund figures.
Datasets
- First date
- Dec 1, 2025
- Last date
- Oct 2, 2026
- Rows
- 1,422
- Granularity
- one row per fund per trading day
https://xrp-insights.com/data/xrp-etf-flows.csv · https://xrp-insights.com/data/xrp-etf-flows.json
Column dictionary (12 columns)
| Column | Unit | Description |
|---|---|---|
| date | — | Trading day (YYYY-MM-DD, US market calendar). |
| ticker | — | Fund ticker. |
| issuer | — | Fund issuer. |
| xrp_holdings | XRP | XRP held by the fund, as reported on the issuer's website. |
| xrp_flow | XRP | Net flow: change in xrp_holdings vs the previous trading day. Blank when flow_status is initial or excluded. |
| flow_usd | USD | xrp_flow × that day's XRP reference price (see the totals dataset). Blank when xrp_flow is blank. |
| flow_status | — | computed = holdings delta; initial = first row for this fund (starting balance, not a flow); excluded = flow withheld because the holdings series has a known capture gap (see notes). |
| aum_usd | USD | Net assets attributed to the fund's XRP position (for BITW, its XRP sleeve only). |
| close_price_usd | USD | ETF share closing price that day. |
| volume_shares | shares | ETF shares traded that day (consolidated volume). |
| volume_usd | USD | volume_shares × close_price_usd. |
| row_status | — | settled = final; provisional = latest trading day, may be rewritten by the next-morning re-settle; reconstructed = holdings rebuilt from third-party daily flow estimates between issuer-reported anchor days (treat the day-by-day split as an estimate) |
- First date
- Dec 1, 2025
- Last date
- Oct 2, 2026
- Rows
- 206
- Granularity
- one row per trading day
https://xrp-insights.com/data/xrp-etf-totals.csv · https://xrp-insights.com/data/xrp-etf-totals.json
Column dictionary (9 columns)
| Column | Unit | Description |
|---|---|---|
| date | — | Trading day (YYYY-MM-DD, US market calendar). |
| funds_reporting | — | Funds with a holdings observation that day. |
| total_xrp_holdings | XRP | Sum of xrp_holdings across reporting funds (includes BITW's XRP sleeve). |
| total_aum_usd | USD | Sum of aum_usd across reporting funds. |
| net_flow_xrp | XRP | Sum of computed per-fund flows (initial and excluded funds contribute nothing). Blank on the first row. |
| net_flow_usd | USD | net_flow_xrp × xrp_price_usd. |
| xrp_price_usd | USD per XRP | XRP reference price used for USD values that day. |
| xrp_price_source | — | snapshot = XRP/USD spot price recorded when the row was last written (evening aggregation or next-morning re-settle; not an official close); nav_implied = median across funds of net assets ÷ XRP holdings, used when no snapshot was stored. |
| row_status | — | settled = final; provisional = latest trading day, may be rewritten by the next-morning re-settle; reconstructed = holdings rebuilt from third-party daily flow estimates between issuer-reported anchor days (treat the day-by-day split as an estimate) |
Also available: the XRP supply allocation snapshot (JSON) behind the XRP Radar: escrow, exchanges, ETFs, treasuries, DeFi and tokenized assets across all 100 billion XRP.
Break-even price (average cost basis)
All funds incl. BITW
$1.7185
1.19B XRP · cost $2.04B
Spot ETFs only (excl. BITW)
$1.7136
1.16B XRP · cost $2.00B
Value vs cost at $1.49
−$271M
Aggregate, before fund fees · XRP price of Oct 2
| Fund | XRP held | Cost basis | Break-even | Starting balance |
|---|---|---|---|---|
| XRP Bitwise | 412,927,958 | $653M | $1.58 | 81.8M XRP on Dec 1 2025 at $2.02 |
| XRPZ Franklin Templeton | 295,825,867 | $492M | $1.66 | 39.1M XRP on Dec 1 2025 at $2.02 |
| XRPC Canary Capital | 247,639,659 | $456M | $1.84 | 159M XRP on Dec 1 2025 at $2.02 |
| TOXR 21Shares | 107,295,621 | $209M | $1.95 | 120M XRP on Dec 15 2025 at $2.00 |
| GXRP Grayscale * | 65,443,396 | $121M | $1.84 | 38.0M XRP on Dec 1 2025 at $2.02 |
| XRPR REX-Osprey * | 35,387,953 | $64.5M | $1.82 | 32.5M XRP on Dec 1 2025 at $2.02 |
| BITW Bitwise * | 21,106,174 | $42.0M | $1.99 | 28.2M XRP on Dec 15 2025 at $2.00 |
- * Grayscale: holdings were frozen 2026-09-02 to 2026-09-28 while the issuer page blocked automated reads; the catch-up landed on 2026-09-28.
- * REX-Osprey: part of the reported XRP exposure is held through a position in another XRP exchange-traded product rather than directly.
- * Bitwise 10 Crypto Index Fund: multi-asset index fund; only its XRP position is counted, so its holdings also move with index rebalancing.
- Each fund starts from its first holdings row in the dataset; that starting balance is valued at that day's XRP price.
- Every later trading day, a rise in issuer-reported holdings adds XRP added × that day's XRP price to the fund's cost basis.
- A fall in holdings (redemptions, fees) removes XRP at the fund's average cost, so it lowers the cost basis but leaves the average unchanged (average-cost method).
- Break-even = cost basis ÷ current holdings. The combined figure sums each fund's cost basis and holdings; one fund's outflows are never netted against another's inflows.
Price used: the XRP/USD snapshot stored with each day's row. Where none was stored, the issuers' NAV-implied XRP price (median of net assets ÷ XRP holdings across funds) fills in. Valuing every day at the NAV-implied price instead gives $1.7528, so the result is not very sensitive to the price source.
Caveats: funds that launched before Dec 1, 2025 enter at that day's price, which likely understates the cost of launch-period purchases slightly because XRP traded higher in late November 2025. Unlike the flows dataset, the break-even uses every holdings change, including GXRP's, so each fund's cost basis reconciles to its reported holdings. It is an estimate of the funds' aggregate XRP acquisition cost, not any individual investor's entry price, and ignores fees and share premiums or discounts.
Methodology and data notes
Source. XRP holdings and net assets are read from each fund issuer's own website (primary source) by XRP Insights' scrapers and stored once per trading day. ETF share closing price and volume come from finalized daily exchange bars. Flows are computed by XRP Insights; no third-party flow feed is used for current data.
Flows. Daily flow = change in a fund's issuer-reported XRP holdings versus the previous trading day (creations minus redemptions, in XRP). Changes smaller than 100 XRP are treated as rounding noise (0). A fund's first row in the dataset is its starting balance, not a flow. USD values multiply the XRP flow by that day's XRP reference price. Weekend rows and NYSE holidays are omitted. This is the same calculation the XRP ETF Tracker dashboard uses, so downloaded figures match the charts.
- Coverage starts 2025-12-01. Earlier launch-period rows in our database are hand-entered estimates and are not published.
- Flows for GXRP are withheld (flow_status = excluded) across the whole history, matching the XRP Insights dashboard. GXRP's issuer page blocked automated reads from 2026-09-02 to 2026-09-28, so its holdings froze and a four-week catch-up landed on a single day (2026-09-28); booking that as one day's flow would misstate both the day and the trend. Holdings and AUM for this fund remain in all totals.
- Settlement timing: issuers publish a session's holdings overnight to the next morning, and some publish a day later. The evening row carries forward the previous values and is re-settled the next morning, so the latest row can change (row_status = provisional), and a fund's creation can appear one trading day late. data_as_of is the latest settled row.
- Flows are derived from holdings, not from issuer flow reports: a change in holdings caused by anything other than creations/redemptions (e.g. BITW index rebalancing, fee accruals paid in XRP) is counted as flow.
- Reconstructed rows (2026-03-23 to 2026-03-27; 2026-03-31 to 2026-04-29; 2026-05-12): our issuer scrapes were not captured on these days, so holdings were rebuilt from third-party daily flow estimates chained between issuer-reported anchor days. Cumulative change between anchors matches issuer data; the day-by-day split is an estimate.
- No XRP price snapshot was stored for 2025-12-24 to 2026-04-14; USD values on those days use the issuers' NAV-implied XRP price (median of net assets ÷ XRP holdings across funds).
Update cadence
Rebuilt from the database at most hourly. A new trading-day row is written each weekday at 22:30 UTC, then re-settled the next morning (10:00 and 13:00 UTC; Friday rows on Saturday at 12:30 UTC) as issuers publish that day's NAV.
How to cite
Please credit XRP Insights and link to this page when you publish figures from these datasets:
XRP Insights (xrp-insights.com), XRP ETF holdings & flows dataset, accessed 2026-10-05. https://xrp-insights.com/data
When quoting a single number, give its date, e.g. “US spot XRP ETFs held N XRP on Oct 2, 2026 (XRP Insights, issuer-reported holdings)”. Each JSON file repeats this citation together with its generation time and data-as-of date.
License. Free to use and cite with attribution to XRP Insights (xrp-insights.com). Commercial redistribution of the data itself requires written permission. See the Terms of Use.
