{"service":"Spot-crypto-ETF net-flow intelligence (BTC/ETH US + HK scaffold)","method":{"daily_flow_coin":"units(t) - units(t-1)  [Δ coin units held between disclosures]","implied_price":"market_value(t) / units(t)  [from the SAME disclosure]","daily_flow_usd":"daily_flow_coin(t) * implied_price(t)","total":"sum over funds of an (asset, region) that report a given trading day","cumulative":"sum of total_flow_usd over the series window","rationale":"a spot ETF's coin holdings change only via share creation/redemption, so Δunits IS the net primary-market flow"},"funds":[{"ticker":"IBIT","name":"iShares Bitcoin Trust ETF","issuer":"BlackRock","asset":"btc","region":"us","kind":"ishares_csv","enabled":true,"unit_type":"coin","supports_history":true,"attribution":"BlackRock iShares first-party holdings disclosure (keyless product-data CSV)"},{"ticker":"ARKB","name":"ARK 21Shares Bitcoin ETF","issuer":"ARK/21Shares","asset":"btc","region":"us","kind":"ark_csv","enabled":true,"unit_type":"coin","supports_history":false,"attribution":"ARK Invest / 21Shares first-party holdings CSV (assets.ark-funds.com)"},{"ticker":"BITB","name":"Bitwise Bitcoin ETF","issuer":"Bitwise","asset":"btc","region":"us","kind":"bitwise_next","enabled":true,"unit_type":"coin","supports_history":false,"attribution":"Bitwise first-party fund-data (bitbetf.com __NEXT_DATA__)"},{"ticker":"GBTC","name":"Grayscale Bitcoin Trust ETF","issuer":"Grayscale","asset":"btc","region":"us","kind":"grayscale_xlsx","enabled":true,"unit_type":"share","supports_history":true,"attribution":"Grayscale first-party product-performance XLSX (S3, shares/NAV/AUM history)"},{"ticker":"BTC","name":"Grayscale Bitcoin Mini Trust ETF","issuer":"Grayscale","asset":"btc","region":"us","kind":"grayscale_xlsx","enabled":true,"unit_type":"share","supports_history":true,"attribution":"Grayscale first-party product-performance XLSX (S3, shares/NAV/AUM history)"},{"ticker":"FBTC","name":"Fidelity Wise Origin Bitcoin Fund","issuer":"Fidelity","asset":"btc","region":"us","kind":"fidelity_json","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"Fidelity first-party product holdings disclosure"},{"ticker":"ETHA","name":"iShares Ethereum Trust ETF","issuer":"BlackRock","asset":"eth","region":"us","kind":"ishares_csv","enabled":true,"unit_type":"coin","supports_history":true,"attribution":"BlackRock iShares first-party holdings disclosure (keyless product-data CSV)"},{"ticker":"ETHW","name":"Bitwise Ethereum ETF","issuer":"Bitwise","asset":"eth","region":"us","kind":"bitwise_next","enabled":true,"unit_type":"coin","supports_history":false,"attribution":"Bitwise first-party fund-data (ethwetf.com __NEXT_DATA__)"},{"ticker":"ETHE","name":"Grayscale Ethereum Trust ETF","issuer":"Grayscale","asset":"eth","region":"us","kind":"grayscale_xlsx","enabled":true,"unit_type":"share","supports_history":true,"attribution":"Grayscale first-party product-performance XLSX (S3, shares/NAV/AUM history)"},{"ticker":"ETH","name":"Grayscale Ethereum Mini Trust ETF","issuer":"Grayscale","asset":"eth","region":"us","kind":"grayscale_xlsx","enabled":true,"unit_type":"share","supports_history":true,"attribution":"Grayscale first-party product-performance XLSX (S3, shares/NAV/AUM history)"},{"ticker":"FETH","name":"Fidelity Ethereum Fund","issuer":"Fidelity","asset":"eth","region":"us","kind":"fidelity_json","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"Fidelity first-party product holdings disclosure"},{"ticker":"3042.HK","name":"ChinaAMC Bitcoin ETF","issuer":"ChinaAMC","asset":"btc","region":"hk","kind":"hk_nav","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"ChinaAMC (HK) first-party NAV / units-outstanding disclosure"},{"ticker":"3439.HK","name":"Harvest Bitcoin Spot ETF","issuer":"Harvest Global","asset":"btc","region":"hk","kind":"hk_nav","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"Harvest Global (HK) first-party NAV / units-outstanding disclosure"},{"ticker":"3008.HK","name":"Bosera HashKey Bitcoin ETF","issuer":"Bosera/HashKey","asset":"btc","region":"hk","kind":"hk_nav","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"Bosera / HashKey (HK) first-party NAV / units-outstanding disclosure"},{"ticker":"3046.HK","name":"ChinaAMC Ethereum ETF","issuer":"ChinaAMC","asset":"eth","region":"hk","kind":"hk_nav","enabled":false,"unit_type":"coin","supports_history":false,"attribution":"ChinaAMC (HK) first-party NAV / units-outstanding disclosure"}],"coverage":{"btc/us":{"enabled":["IBIT","ARKB","BITB","GBTC","BTC"],"scaffold_disabled":["FBTC"]},"btc/hk":{"enabled":[],"scaffold_disabled":["3042.HK","3439.HK","3008.HK"]},"eth/us":{"enabled":["ETHA","ETHW","ETHE","ETH"],"scaffold_disabled":["FETH"]},"eth/hk":{"enabled":[],"scaffold_disabled":["3046.HK"]}},"tos_basis":"Sources are each issuer's OWN first-party public holdings disclosure (published daily under regulatory requirement), read via keyless public endpoints and differenced by us. We do NOT resell an aggregator's compiled flow table: Farside Investors (UK database right), SoSoValue (ToS forbids commercial use) and CoinGlass (keyed product) are EXCLUDED as sources.","excluded_sources":["Farside Investors","SoSoValue","CoinGlass"],"license":"Primary-source issuer disclosures read via keyless public endpoints; normalized, differenced and fused by this service. Attribution to each source issuer carried on every response. Intelligence, not trading advice.","attribution":"Spot-crypto-ETF net flow computed by us from each issuer's OWN first-party public holdings disclosure (BlackRock iShares product-data CSV today; more issuers as data rows). Net flow = Δ(coin units held) between consecutive trading-day disclosures; USD flow = Δunits × implied price (market_value / units) from the same disclosure. NOT a resale of an aggregator's compiled table — Farside / SoSoValue / CoinGlass are excluded as sources (ToS / database-right).","freshness":{"snapshot_ttl_seconds":14400,"backfill_days":10,"history_capable_issuers":["BlackRock iShares (asOfDate per-date history)","Grayscale (product-performance XLSX full history)"],"snapshot_only_issuers":["ARK/21Shares","Bitwise"]},"how_to_add_a_fund":"Add one row to etfflows_registry.FUNDS (hard-coded host + url template + kind). A fund of an existing disclosure kind needs nothing else; a new issuer shape needs one pure parser in worker.PARSERS keyed by that kind."}