Table · StrataPlanned

Bitcoin ETF Holdings by Issuer and Fund

How much bitcoin does each spot Bitcoin ETF hold?

How much bitcoin each spot bitcoin ETF holds, how that changed and its share of supply, with custody read on-chain where disclosed.

ShareEmail itvoltfincrypto.com/apps/bitcoin-etf-holdings-by-issuer
Blueprint

What the table will hold.

The table as it will open in Strata. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

One row One row per spot bitcoin ETF, at its latest published fileSorted by BTC held, highest first

FundIssuerCustodianBTC heldBTCValueUSD7-day changeBTC30-day changeBTCShare of supplyOn-chain balanceBTCSponsor feeAs ofSource
Fund fund Text
The ETF's name and its ticker.
Issuer issuer Text
The asset manager that sponsors the fund.
Custodian custodian Text
The custodian named in the fund's filings.
BTC held btc_held Exact amount
Bitcoin held at the latest as-of date, from the issuer's file.
Value usd_value Exact amount
BTC held times the oracle BTC/USD price at the block nearest the as-of time.
7-day change change_7d Exact amount
Change in BTC held against the fund's own file 7 days earlier.
30-day change change_30d Exact amount
Change in BTC held against the fund's own file 30 days earlier.
Share of supply share_of_supply Percent
BTC held as a share of bitcoin issued through the matching block.
On-chain balance onchain_balance Exact amount
UTXO total of published custody addresses at the matching block, where addresses are published.
Sponsor fee sponsor_fee Percent
The fund's annual sponsor fee from its latest prospectus, before any waiver.
As of as_of Date
The date the fund's latest holdings refer to.
Source source Link
The issuer file and, where present, the block behind the on-chain balance.

Filter by Issuer, Custodian.

About

What it answers, and for whom.

Spot bitcoin ETFs hold bitcoin directly, through a custodian, for their shareholders, and each issuer publishes its fund's holdings every trading day. This table puts every fund side by side: the BTC it holds, how that has changed, the share of all bitcoin it represents and who keeps the coins.

Where an issuer has published the addresses its custodian uses, the fund's balance is also read from the Bitcoin chain at the block closest to the as-of time and shown beside the published figure. Funds without published addresses rely on the issuer's file, and the table says so. Sort by BTC held to see the largest funds, filter by issuer or custodian and open a row for its file, its addresses and the block behind its on-chain balance.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. BTC held is each fund's holdings from the daily file its issuer publishes, recorded with the file's as-of date, its source and the time it was retrieved.
  2. Share of supply divides BTC held by the bitcoin issued through the block nearest the as-of time, summed from block subsidies.
  3. On-chain balance is the UTXO total of the custody addresses an issuer has published, read at the block nearest the as-of time; any difference from the file is shown, never hidden.
  4. Changes over 7 and 30 days compare each fund's holdings with its own files on those earlier dates.

The data it needs

Chain data, with some off-chain sources

  • etf_holdings_dailyTo buildSpot ETF holdingsHoldings and daily flows of spot crypto ETFs per fund, from issuer-published holdings, matched to custody addresses where they are disclosed.
  • bitcoin_supply_dailyTo buildBitcoin supply and holding ageBitcoin issued, supply by coin age band and by output script type (including coins whose public keys are already exposed), supply last moved long ago, and cost-basis measures.
  • address_labelsTo buildAddress labelsLabels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
  • native_prices_dailyTo buildOracle prices by dayReference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
  • Issuer-published daily BTC holdings per fund (off-chain)
  • Balances of issuer-disclosed custody addresses at daily blocks
  • Circulating supply from gettxoutsetinfo total_amount, checked against summed block subsidies
  • Chainlink BTC/USD at the block nearest the as-of time, for USD value
Questions

Questions people ask.

How much bitcoin do ETFs hold?

The table adds up the BTC held by every spot bitcoin ETF from their latest files and shows the total as a share of bitcoin issued. Each fund's figure links to the file it came from.

Who holds the bitcoin for spot ETFs?

Each fund names a custodian in its filings: a regulated firm that keeps the private keys, mostly in cold storage. The table lists each fund's custodian, and several funds can share one.

Can you verify ETF bitcoin on-chain?

Only where the issuer publishes its custody addresses. For those funds, the table reads the addresses' balances from the Bitcoin chain and compares them with the file. Other funds' holdings rest on the issuer's report.

Why does a fund's on-chain balance differ from its file?

Timing is the usual reason: the file is struck at a set time, and creations or redemptions may settle on-chain hours later. A difference can also mean the address list is incomplete, so both figures are shown.

Custodian
The firm that holds a fund's bitcoin and its keys on the fund's behalf, usually in cold storage.
Cold storage
Keeping private keys offline, away from internet-connected systems, so the coins cannot be moved without physical access.
As-of date
The date and time a fund's published holdings refer to, which can differ from when the file was released.

Build Bitcoin ETF Holdings by Issuer and Fund on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.