Badr Abardazzou

Tools

Crypto Barometer

Which assets moved on their own, once the market move is taken out. Daily, at the UTC close, with the false-alarm share controlled and every figure traced to its endpoint and formula.

As of 2026-09-19 close 23 h old at publish time
Run 20260920T231754Z_e61a mode v1 · generated 2026-09-20T23:22:18Z · 150 assets in the universe, 146 with a z

Movers abnormal volume z across, abnormal return z up; red = mover, orange = passes BH only, grey = the rest

-4 -2 0 2 4 6 8 10 12 14 16 -2 0 2 4 6 8 10 12 CELR: z 15.40, abnormal volume z 12.69, 1d +45.8%, p <0.0001 AVAX: z 12.58, abnormal volume z 3.01, 1d +23.0%, p 0.0002 SKL: z 6.12, abnormal volume z 5.30, 1d +15.5%, p 0.0020 ZAMA: z 5.50, abnormal volume z 3.49, 1d +37.3%, p 0.0021 XTZ: z 5.16, abnormal volume z 4.14, 1d +24.2%, p 0.0045 ONE: z 3.87, abnormal volume z 4.01, 1d +94.9%, p 0.0111 JOE: z 3.42, abnormal volume z 2.93, 1d +11.3%, p 0.0107 ENA: z 3.40, abnormal volume z 1.34, 1d +21.3%, p 0.0143 MANTA: z 3.30, abnormal volume z 1.81, 1d +7.9%, p 0.0156 ZIL: z 3.19, abnormal volume z 1.66, 1d +15.3%, p 0.0174 BANK: z 3.12, abnormal volume z 5.12, 1d +30.2%, p 0.0046 STG: z -3.05, abnormal volume z 3.01, 1d -8.0%, p 0.0196 INJ: z 3.04, abnormal volume z 2.78, 1d +18.7%, p 0.0202 G: z 2.99, abnormal volume z 3.15, 1d +39.5%, p 0.0141 FET: z -2.63, abnormal volume z 1.12, 1d -4.7%, p 0.0352 CTSI: z 2.62, abnormal volume z 2.50, 1d +12.5%, p 0.0116 F: z -2.49, abnormal volume z 3.97, 1d -19.6%, p 0.0242 AR: z 2.44, abnormal volume z 4.22, 1d +21.1%, p 0.0309 AGLD: z 2.44, abnormal volume z 2.95, 1d +9.5%, p 0.0322 U: z 2.43, abnormal volume z -0.24, 1d +0.1%, p 0.0443 VET: z 2.37, abnormal volume z 1.72, 1d +12.0%, p 0.0439 WIF: z -2.33, abnormal volume z 0.08, 1d -1.4%, p 0.0389 ZEN: z -1.93, abnormal volume z 0.51, 1d -6.9%, p 0.0664 ALGO: z 1.85, abnormal volume z 1.31, 1d +7.3%, p 0.0728 STX: z 1.83, abnormal volume z 1.14, 1d +11.2%, p 0.0759 DASH: z -1.83, abnormal volume z 0.06, 1d -8.0%, p 0.0594 BERA: z 1.82, abnormal volume z 2.12, 1d +9.4%, p 0.0665 BOME: z -1.80, abnormal volume z 0.11, 1d -4.7%, p 0.0529 SOL: z -1.76, abnormal volume z -0.43, 1d -1.5%, p 0.0858 HOME: z 1.59, abnormal volume z 1.44, 1d +10.6%, p 0.0911 USTC: z -1.57, abnormal volume z 0.35, 1d -0.1%, p 0.0717 BONK: z -1.56, abnormal volume z 0.73, 1d -0.3%, p 0.0984 ORDI: z -1.52, abnormal volume z 0.44, 1d +0.1%, p 0.0909 HEI: z 1.42, abnormal volume z 1.74, 1d +14.0%, p 0.0751 ONDO: z 1.41, abnormal volume z 1.80, 1d +5.4%, p 0.1070 SUI: z 1.41, abnormal volume z 1.77, 1d +5.3%, p 0.1150 DOGE: z -1.38, abnormal volume z 0.53, 1d +0.2%, p 0.1360 PENGU: z -1.35, abnormal volume z 0.01, 1d 0.0%, p 0.1500 PEPE: z 1.35, abnormal volume z 1.09, 1d +8.1%, p 0.1300 XPL: z -1.34, abnormal volume z -0.28, 1d -1.9%, p 0.1520 TAO: z 1.30, abnormal volume z 1.48, 1d +5.3%, p 0.1310 ETC: z 1.29, abnormal volume z 0.70, 1d +5.5%, p 0.1530 ZEC: z -1.29, abnormal volume z 0.37, 1d -5.9%, p 0.1830 ARB: z -1.26, abnormal volume z 0.37, 1d -6.9%, p 0.1790 LDO: z 1.13, abnormal volume z 0.21, 1d +5.8%, p 0.2010 UNI: z -1.12, abnormal volume z 1.38, 1d -2.1%, p 0.1690 SOLV: z 1.12, abnormal volume z 0.92, 1d +14.6%, p 0.1630 ASTER: z -1.10, abnormal volume z 0.93, 1d -0.3%, p 0.1850 NIL: z 1.07, abnormal volume z 0.84, 1d +9.2%, p 0.1790 NEAR: z -1.06, abnormal volume z 1.89, 1d -4.7%, p 0.2200 REZ: z -1.04, abnormal volume z 0.13, 1d -3.3%, p 0.2280 NEIRO: z -1.02, abnormal volume z 0.37, 1d +1.0%, p 0.2090 ICP: z -1.02, abnormal volume z 0.34, 1d -0.0%, p 0.1950 RUNE: z 1.02, abnormal volume z -0.52, 1d +3.0%, p 0.2650 BB: z -1.02, abnormal volume z 0.61, 1d -1.6%, p 0.2750 EIGEN: z -1.02, abnormal volume z 0.31, 1d +0.1%, p 0.2780 COTI: z -0.99, abnormal volume z 1.08, 1d -9.3%, p 0.2070 GRT: z -0.99, abnormal volume z 0.26, 1d +0.5%, p 0.2470 APT: z -0.92, abnormal volume z 3.10, 1d -0.9%, p 0.3250 LTC: z -0.91, abnormal volume z 0.86, 1d +0.2%, p 0.3080 PLUME: z -0.91, abnormal volume z -0.34, 1d -0.2%, p 0.2710 LUNA: z -0.90, abnormal volume z 0.58, 1d +0.7%, p 0.2130 OP: z -0.89, abnormal volume z 1.93, 1d +0.7%, p 0.3050 GALA: z -0.88, abnormal volume z 0.11, 1d +0.6%, p 0.3590 WLFI: z -0.87, abnormal volume z -0.57, 1d -1.0%, p 0.2600 BNB: z -0.87, abnormal volume z -0.45, 1d +0.1%, p 0.2760 LUNC: z -0.87, abnormal volume z 0.70, 1d +0.4%, p 0.2410 ENSO: z -0.87, abnormal volume z -0.74, 1d -1.4%, p 0.2300 KMNO: z -0.86, abnormal volume z -0.14, 1d -1.9%, p 0.3110 IO: z -0.85, abnormal volume z 0.96, 1d +0.7%, p 0.3500 PUMP: z -0.84, abnormal volume z -1.71, 1d +0.2%, p 0.3490 CHIP: z -0.83, abnormal volume z -0.44, 1d -2.3%, p 0.3640 ARK: z 0.82, abnormal volume z 0.93, 1d +7.1%, p 0.3120 GIGGLE: z -0.80, abnormal volume z -1.30, 1d -1.7%, p 0.3270 SHIB: z -0.77, abnormal volume z 0.54, 1d +1.0%, p 0.3580 CYBER: z 0.76, abnormal volume z 0.54, 1d +4.8%, p 0.3060 MORPHO: z 0.76, abnormal volume z 2.39, 1d +4.3%, p 0.3810 POL: z -0.75, abnormal volume z 0.13, 1d -2.5%, p 0.3630 DOT: z -0.73, abnormal volume z 0.48, 1d -0.9%, p 0.3860 HBAR: z 0.73, abnormal volume z 1.05, 1d +2.7%, p 0.3740 RAY: z -0.70, abnormal volume z 0.77, 1d -3.1%, p 0.3720 PENDLE: z -0.68, abnormal volume z 0.73, 1d +1.2%, p 0.4390 BCH: z -0.67, abnormal volume z 0.12, 1d -0.3%, p 0.4240 FTT: z -0.66, abnormal volume z 0.51, 1d -0.5%, p 0.3350 ZK: z -0.66, abnormal volume z 0.70, 1d +0.6%, p 0.3480 FLOKI: z -0.65, abnormal volume z 0.41, 1d +2.1%, p 0.3950 MIRA: z 0.65, abnormal volume z -0.56, 1d +3.8%, p 0.3920 WLD: z -0.64, abnormal volume z 0.35, 1d +1.5%, p 0.3310 ETH: z -0.64, abnormal volume z -1.10, 1d +0.8%, p 0.4170 ADA: z -0.63, abnormal volume z 0.65, 1d +1.5%, p 0.4890 EPIC: z 0.62, abnormal volume z 2.35, 1d +9.2%, p 0.4020 CAKE: z -0.62, abnormal volume z 0.40, 1d -0.5%, p 0.4240 JST: z 0.61, abnormal volume z 1.36, 1d +2.9%, p 0.4800 TUT: z -0.60, abnormal volume z -1.23, 1d -4.7%, p 0.4290 HEMI: z -0.54, abnormal volume z -1.46, 1d -4.5%, p 0.4940 MINA: z -0.53, abnormal volume z 0.73, 1d -0.5%, p 0.4960 0G: z 0.52, abnormal volume z 0.33, 1d +5.4%, p 0.4900 SKY: z -0.52, abnormal volume z 1.02, 1d -0.1%, p 0.5730 ZRO: z -0.50, abnormal volume z -0.24, 1d -0.2%, p 0.5510 DYM: z 0.49, abnormal volume z 1.30, 1d +5.0%, p 0.4450 ENS: z -0.49, abnormal volume z 0.34, 1d +1.8%, p 0.5550 CHZ: z -0.48, abnormal volume z 1.09, 1d +1.8%, p 0.4890 AVA: z -0.47, abnormal volume z 1.58, 1d -4.2%, p 0.5860 STRK: z -0.47, abnormal volume z 3.34, 1d +0.2%, p 0.5600 CRV: z -0.46, abnormal volume z -0.26, 1d +0.1%, p 0.5880 ALLO: z 0.46, abnormal volume z 1.55, 1d +3.4%, p 0.5130 CFG: z -0.45, abnormal volume z 0.42, 1d +0.8%, p 0.7160 TRUMP: z -0.44, abnormal volume z -0.30, 1d +0.9%, p 0.4800 PROVE: z 0.44, abnormal volume z 3.93, 1d +2.5%, p 0.5270 TRX: z 0.39, abnormal volume z -0.51, 1d +0.4%, p 0.6210 KAITO: z 0.39, abnormal volume z -0.10, 1d +3.6%, p 0.6180 ACE: z -0.39, abnormal volume z -0.52, 1d -1.9%, p 0.6140 AAVE: z -0.38, abnormal volume z 0.29, 1d +1.2%, p 0.6000 LINK: z -0.38, abnormal volume z 0.08, 1d +1.6%, p 0.6070 FIL: z -0.36, abnormal volume z 2.08, 1d +1.7%, p 0.6080 XRP: z -0.35, abnormal volume z 0.32, 1d +1.0%, p 0.6950 S: z -0.35, abnormal volume z 1.43, 1d +3.4%, p 0.6630 GAS: z -0.34, abnormal volume z -0.57, 1d +1.8%, p 0.6470 LSK: z -0.34, abnormal volume z 1.15, 1d -8.1%, p 0.6470 MITO: z 0.33, abnormal volume z 0.08, 1d +3.4%, p 0.6730 SEI: z 0.31, abnormal volume z 1.06, 1d +2.8%, p 0.6420 XLM: z -0.29, abnormal volume z 0.95, 1d +1.6%, p 0.7010 SAGA: z -0.29, abnormal volume z 1.66, 1d +0.7%, p 0.6280 PYTH: z -0.29, abnormal volume z -0.49, 1d +1.6%, p 0.6780 C: z 0.24, abnormal volume z 3.21, 1d +2.6%, p 0.7870 CFX: z -0.23, abnormal volume z 1.70, 1d +2.6%, p 0.7480 SOPH: z 0.21, abnormal volume z 0.14, 1d +4.9%, p 0.7480 PROM: z 0.20, abnormal volume z -0.70, 1d +4.5%, p 0.7760 JTO: z 0.20, abnormal volume z 0.57, 1d +4.4%, p 0.7840 AERO: z 0.18, abnormal volume z 0.29, 1d +2.7%, p 0.7560 MEGA: z 0.18, abnormal volume z 0.58, 1d +3.7%, p 0.8650 T: z -0.16, abnormal volume z -0.14, 1d +1.1%, p 0.8800 TIA: z -0.13, abnormal volume z 1.10, 1d +3.4%, p 0.9240 ATOM: z 0.12, abnormal volume z 0.92, 1d +1.6%, p 0.8590 GUN: z -0.12, abnormal volume z 0.41, 1d +1.9%, p 0.8780 GENIUS: z -0.12, abnormal volume z 1.46, 1d +0.1%, p 0.9140 DODO: z -0.11, abnormal volume z 0.68, 1d +0.4%, p 0.9040 DEXE: z 0.09, abnormal volume z -0.41, 1d +1.4%, p 0.8850 VIRTUAL: z -0.09, abnormal volume z -0.46, 1d +2.0%, p 0.9460 ROSE: z -0.08, abnormal volume z 1.19, 1d +2.9%, p 0.8840 ETHFI: z -0.08, abnormal volume z -0.09, 1d +3.6%, p 0.9430 SYN: z 0.06, abnormal volume z 2.31, 1d +0.1%, p 0.9300 FF: z 0.04, abnormal volume z -1.71, 1d -0.4%, p 0.9660 IOST: z -0.03, abnormal volume z 0.49, 1d +2.0%, p 0.9960 ONG: z -0.01, abnormal volume z -1.46, 1d +1.1%, p 0.9990 RENDER: z -0.01, abnormal volume z 1.27, 1d +1.7%, p 0.9620 CELRAVAXSKLZAMA abnormal volume z (log quote volume against its 30-day baseline) abnormal return z (return minus beta x BTC, over EWMA volatility)

Dotted lines at z = +2 and -2, the dashed line at abnormal volume z = 1 (the volume confirmation). Hover a point for its figures. 146 of 146 assets have both a z and a volume z today.

Ranked by |z| z first; the percent return is context, never the ranking

4 of 146 assets pass Benjamini-Hochberg at q = 0.1, so about 0.4 of them are expected false discoveries; 4 also carry volume confirmation and count as movers. Base rates (forward 7, 30 and 90-day residual returns of past flags) accumulate from the first live run and are not shown yet.

#Assetz1d7dvol zpdirflag
1 CELR 15.40 +45.8% +54.6% 12.69 <0.0001 ▲ mover
2 AVAX 12.58 +23.0% +36.5% 3.01 0.0002 ▲ mover
3 SKL 6.12 +15.5% +24.4% 5.30 0.0020 ▲ mover
4 ZAMA 5.50 +37.3% +70.2% 3.49 0.0021 ▲ mover
5 XTZ 5.16 +24.2% +38.0% 4.14 0.0045 ▲
6 ONE 3.87 +94.9% +482.7% 4.01 0.0111 ▲
7 JOE 3.42 +11.3% +13.4% 2.93 0.0107 ▲
8 ENA 3.40 +21.3% +43.3% 1.34 0.0143 ▲
9 MANTA 3.30 +7.9% +9.2% 1.81 0.0156 ▲
10 ZIL 3.19 +15.3% +32.2% 1.66 0.0174 ▲
11 BANK 3.12 +30.2% +40.4% 5.12 0.0046 ▲
12 STG -3.05 -8.0% -8.3% 3.01 0.0196 ▼
13 INJ 3.04 +18.7% +32.5% 2.78 0.0202 ▲
14 G 2.99 +39.5% +178.7% 3.15 0.0141 ▲
15 FET -2.63 -4.7% +5.7% 1.12 0.0352 ▼
16 CTSI 2.62 +12.5% +18.7% 2.50 0.0116 ▲
17 F -2.49 -19.6% +23.3% 3.97 0.0242 ▼
18 AR 2.44 +21.1% +71.3% 4.22 0.0309 ▲
19 AGLD 2.44 +9.5% +15.0% 2.95 0.0322 ▲
20 U 2.43 +0.1% +0.0% -0.24 0.0443 ▲

Showing the top 20 of 146 by |z|; the CSV twin at /data/movers.csv holds every row with its run id.

New listings under 90 days of history in this dataset: no z, no place in the BH list

Assetdaysfirst closeclose1d7d
MARSCOIN162026-09-040.0990693-12.3%-14.8%
牛来112026-09-090.10777661-9.9%-20.1%
GRAM802026-07-021.38157192+0.5%-0.2%

Breadth the cross-section a single mover is read against

Above SMA5089.2%of 150 assets
Above SMA20069.2%of 150 assets
Mean pairwise corr0.17630 daily log returns
Dispersion0.449std of 7-day returns
Persistence 30d-0.073CI [-0.23, 0.09], N 148
Altseason shareTBCNULL until a top-50 universe snapshot 90 days old exists (T8b)

Persistence at 7, 30 and 90 days (Spearman rho with its 95 percent interval): -0.123 [-0.28, 0.04], N 149 · -0.073 [-0.23, 0.09], N 148 · -0.055 [-0.22, 0.11], N 144. An interval that straddles zero means the ranking of the last window says nothing about the next.

Flows where the measured dollars went; ribbons only for flows a document or a chain records

Ribbons are dollars a document or a chain records: stablecoin issuance, per-chain stablecoin balances, ETF creations, exchange flows. The box is revaluation: market caps and USD TVL move with price, so they are never drawn as a flow.

Where the dollars went, 30 days (USD bn), measured flows only Window 2026-08-20 to 2026-09-19 (UTC). Ribbon width = dollars a document or a chain records; revaluation is in the box, never a ribbon. BTC on exchanges to BTC in wallets and custody: 3.43 bn Stablecoin net issuance to Tron: 1.91 bn US spot BTC ETF net creations to BTC in ETF vaults: 1.76 bn US spot ETH ETF net creations to ETH in ETF vaults: 1.28 bn Bridged between chains to Other chains and redemptions: 0.99 bn Stablecoin net issuance to Hyperliquid L1: 0.73 bn BSC (stablecoins left) to Bridged between chains: 0.56 bn Solana (stablecoins left) to Bridged between chains: 0.29 bn Avalanche (stablecoins left) to Bridged between chains: 0.21 bn Stablecoin net issuance to Arbitrum: 0.20 bn Bridged between chains to Tron: 0.17 bn Stablecoin net issuance to Ethereum: 0.14 bn Aptos (stablecoins left) to Bridged between chains: 0.12 bn Polygon (stablecoins left) to Bridged between chains: 0.10 bn Stablecoin net issuance to Base: 0.07 bn Bridged between chains to Hyperliquid L1: 0.07 bn Bridged between chains to Arbitrum: 0.02 bn Bridged between chains to Ethereum: 0.01 bn Stablecoin net issuance to Sui: 0.01 bn Bridged between chains to Base: 0.01 bn Stablecoin net issuance 3.07 bn BSC (stablecoins left) 0.56 bn Solana (stablecoins left) 0.29 bn Avalanche (stablecoins left) 0.21 bn Aptos (stablecoins left) 0.12 bn Polygon (stablecoins left) 0.10 bn US spot BTC ETF net creations 1.76 bn US spot ETH ETF net creations 1.28 bn BTC on exchanges 3.43 bn Bridged between chains 1.27 bn Sui 0.01 bn Ethereum 0.16 bn Tron 2.08 bn Base 0.08 bn Arbitrum 0.22 bn Hyperliquid L1 0.80 bn Other chains and redemptions 0.99 bn BTC in ETF vaults 1.76 bn ETH in ETF vaults 1.28 bn BTC in wallets and custody 3.43 bn MEASURED SOURCES, 30 DAYS BRIDGE HUB WHERE IT SITS NOW new stablecoin dollars (DefiLlama net issuance, absorbed pro rata by the chains that gained balance) stablecoins bridged between chains (DefiLlama per-chain balances; remainder = other chains and redemptions) US spot ETF net creations into the vaults (Farside daily totals) BTC that left exchanges into wallets and custody (Coin Metrics exchange flows, in USD) Revaluation, not money in (same window) BTC market cap +165.54 bn (price 73,071 to 81,262); US spot BTC ETF net flow +1.76 bn in the same window TVL Ethereum +6.20, Solana +1.07, Base +0.86 bn: USD TVL mixes deposits and price Total market cap 2.77 tn, BTC 59, ETH 12, USDT+USDC 9 percent (CoinGecko global, now) Basis: flows.json window 30d (2026-08-20 to 2026-09-19, barometer.flows, keyless live calls: DefiLlama stablecoin and TVL charts, Farside ETF tables, Coin Metrics community, CoinGecko global). One basis line per figure in the page's basis block. Stablecoin issuance absorbed by gaining chains pro rata; the remainder of their gains is bridged from the chains that lost balance. Chain ribbons below 0.005 bn are folded into the hub remainder so every node balances. Script: barometer/sankey.py

30 days 2026-08-20 to 2026-09-19, UTC days, USD bn with 2 decimals

Measured entries stablecoin net issuance +3.07 bn · US spot BTC ETF net flow +1.76 bn · US spot ETH ETF net flow +1.28 bn · 3.43 bn of BTC left exchanges

  • Revaluation, not money in, same window
  • BTC market cap +165.54 bn (price 73,071 to 81,262)
  • TVL in USD: Ethereum +6.20 bn, Solana +1.07 bn, Base +0.86 bn; USD TVL mixes deposits and price
  • Total market cap 2.77 tn, BTC 59 percent, ETH 12 percent, USDT+USDC 9 percent (CoinGecko global, snapshot at fetch time, not a window figure)
Where the dollars went, 7 days (USD bn), measured flows only Window 2026-09-12 to 2026-09-19 (UTC). Ribbon width = dollars a document or a chain records; revaluation is in the box, never a ribbon. Bridged between chains to Other chains and redemptions: 0.92 bn Solana (stablecoins left) to Bridged between chains: 0.73 bn BTC on exchanges to BTC in wallets and custody: 0.44 bn Bridged between chains to Hyperliquid L1: 0.30 bn Tron (stablecoins left) to Bridged between chains: 0.21 bn Arbitrum (stablecoins left) to Bridged between chains: 0.19 bn US spot ETH ETF net redemptions to ETH out of ETF vaults: 0.14 bn Avalanche (stablecoins left) to Bridged between chains: 0.09 bn Ethereum (stablecoins left) to Bridged between chains: 0.08 bn Bridged between chains to TON: 0.05 bn Bridged between chains to Base: 0.04 bn BSC (stablecoins left) to Bridged between chains: 0.02 bn Bridged between chains to Sui: 0.02 bn Polygon (stablecoins left) to Bridged between chains: 0.01 bn Bridged between chains to Aptos: 0.01 bn US spot BTC ETF net creations to BTC in ETF vaults: 0.01 bn Solana (stablecoins left) 0.73 bn Tron (stablecoins left) 0.21 bn Arbitrum (stablecoins left) 0.19 bn Avalanche (stablecoins left) 0.09 bn Ethereum (stablecoins left) 0.08 bn BSC (stablecoins left) 0.02 bn Polygon (stablecoins left) 0.01 bn US spot BTC ETF net creations 0.01 bn US spot ETH ETF net redemptions 0.14 bn BTC on exchanges 0.44 bn Bridged between chains 1.33 bn Hyperliquid L1 0.30 bn TON 0.05 bn Base 0.04 bn Sui 0.02 bn Aptos 0.01 bn Other chains and redemptions 0.92 bn BTC in ETF vaults 0.01 bn ETH out of ETF vaults 0.14 bn BTC in wallets and custody 0.44 bn MEASURED SOURCES, 7 DAYS BRIDGE HUB WHERE IT SITS NOW stablecoins bridged between chains (DefiLlama per-chain balances; remainder = other chains and redemptions) US spot ETF net creations into the vaults (Farside daily totals); net redemptions run out of the vaults BTC that left exchanges into wallets and custody (Coin Metrics exchange flows, in USD) omitted, A: no net stablecoin issuance above 0.005 bn (net -0.216 bn; a negative net is redemptions, counted in B) Revaluation, not money in (same window) BTC market cap +80.79 bn (price 77,252 to 81,262); US spot BTC ETF net flow +0.01 bn in the same window TVL Ethereum +2.30, Solana +0.41, Base +0.31 bn: USD TVL mixes deposits and price Total market cap 2.77 tn, BTC 59, ETH 12, USDT+USDC 9 percent (CoinGecko global, now) Basis: flows.json window 7d (2026-09-12 to 2026-09-19, barometer.flows, keyless live calls: DefiLlama stablecoin and TVL charts, Farside ETF tables, Coin Metrics community, CoinGecko global). One basis line per figure in the page's basis block. Stablecoin issuance absorbed by gaining chains pro rata; the remainder of their gains is bridged from the chains that lost balance. Chain ribbons below 0.005 bn are folded into the hub remainder so every node balances. Script: barometer/sankey.py

7 days 2026-09-12 to 2026-09-19, UTC days, USD bn with 2 decimals

Measured entries stablecoin net issuance -0.22 bn · US spot BTC ETF net flow +0.01 bn · US spot ETH ETF net flow -0.14 bn · 0.44 bn of BTC left exchanges

  • Revaluation, not money in, same window
  • BTC market cap +80.79 bn (price 77,252 to 81,262)
  • TVL in USD: Ethereum +2.30 bn, Solana +0.41 bn, Base +0.31 bn; USD TVL mixes deposits and price
  • Total market cap 2.77 tn, BTC 59 percent, ETH 12 percent, USDT+USDC 9 percent (CoinGecko global, snapshot at fetch time, not a window figure)
Where the dollars went, last day (USD bn), measured flows only Window 2026-09-18 to 2026-09-19 (UTC). Ribbon width = dollars a document or a chain records; revaluation is in the box, never a ribbon. Stablecoin net issuance to Hyperliquid L1: 0.286 bn Bridged between chains to Other chains and redemptions: 0.275 bn Stablecoin net issuance to Solana: 0.137 bn Tron (stablecoins left) to Bridged between chains: 0.132 bn BTC on exchanges to BTC in wallets and custody: 0.121 bn Arbitrum (stablecoins left) to Bridged between chains: 0.097 bn Avalanche (stablecoins left) to Bridged between chains: 0.076 bn Bridged between chains to Hyperliquid L1: 0.048 bn Stablecoin net issuance to Base: 0.038 bn BSC (stablecoins left) to Bridged between chains: 0.038 bn Stablecoin net issuance to TON: 0.026 bn Bridged between chains to Solana: 0.023 bn Polygon (stablecoins left) to Bridged between chains: 0.016 bn Stablecoin net issuance to Aptos: 0.011 bn Bridged between chains to Base: 0.006 bn Bridged between chains to Ethereum: 0.005 bn Stablecoin net issuance 0.498 bn Tron (stablecoins left) 0.132 bn Arbitrum (stablecoins left) 0.097 bn Avalanche (stablecoins left) 0.076 bn BSC (stablecoins left) 0.038 bn Polygon (stablecoins left) 0.016 bn BTC on exchanges 0.121 bn Bridged between chains 0.358 bn TON 0.026 bn Aptos 0.011 bn Base 0.044 bn Solana 0.161 bn Hyperliquid L1 0.334 bn Ethereum 0.005 bn Other chains and redemptions 0.275 bn BTC in wallets and custody 0.121 bn MEASURED SOURCES, LAST DAY BRIDGE HUB WHERE IT SITS NOW new stablecoin dollars (DefiLlama net issuance, absorbed pro rata by the chains that gained balance) stablecoins bridged between chains (DefiLlama per-chain balances; remainder = other chains and redemptions) BTC that left exchanges into wallets and custody (Coin Metrics exchange flows, in USD) omitted, C: US spot BTC ETF flow: no trading-day row in the window or source down (the basis line names the last row) omitted, C: US spot ETH ETF flow: no trading-day row in the window or source down (the basis line names the last row) Revaluation, not money in (same window) BTC market cap +6.423 bn (price 80,944 to 81,262) TVL Ethereum +2.443, Solana +0.409, Base +0.314 bn: USD TVL mixes deposits and price Total market cap 2.77 tn, BTC 59, ETH 12, USDT+USDC 9 percent (CoinGecko global, now) Basis: flows.json window 1d (2026-09-18 to 2026-09-19, barometer.flows, keyless live calls: DefiLlama stablecoin and TVL charts, Farside ETF tables, Coin Metrics community, CoinGecko global). One basis line per figure in the page's basis block. Stablecoin issuance absorbed by gaining chains pro rata; the remainder of their gains is bridged from the chains that lost balance. Chain ribbons below 0.005 bn are folded into the hub remainder so every node balances. Script: barometer/sankey.py

last day 2026-09-18 to 2026-09-19, UTC days, USD bn with 3 decimals

Measured entries stablecoin net issuance +0.498 bn · US spot BTC ETF net flow n/a · US spot ETH ETF net flow n/a · 0.121 bn of BTC left exchanges

  • Revaluation, not money in, same window
  • BTC market cap +6.423 bn (price 80,944 to 81,262)
  • TVL in USD: Ethereum +2.443 bn, Solana +0.409 bn, Base +0.314 bn; USD TVL mixes deposits and price
  • Total market cap 2.77 tn, BTC 59 percent, ETH 12 percent, USDT+USDC 9 percent (CoinGecko global, snapshot at fetch time, not a window figure)

Flow figures from /data/flows.json, run 20260920T231754Z_e61a. Basis per figure in the Basis block below, keyed flows_30d, flows_7d and flows_1d.

BTC, 365 daily closes 2025-09-20 to 2026-09-19, USD

124,720 · 2025-10-06 58,524 · 2026-06-30 2025-09-20 2026-09-19 · 81,234

Last close 81,234 USD on 2026-09-19; 7-day change +5.1%.

Basis every figure family above, its endpoint and its formula in words

prices_btc
BTC slice of prices_daily, canonical close per day (Coinbase > Kraken > Coin Metrics > Bitstamp > Binance; site file for days no venue covers), running candle dropped
prices
canonical close: coinbase > kraken > coinmetrics > bitstamp > binance (bitstamp first before 2016-01-01); Coinbase Exchange GET /products/{id}/candles granularity=86400: [time, low, high, open, close, volume]; day = UTC date of time; volume_usd = base volume x close
runs
one row per daily or backfill publish from data/runs.jsonl, newest first, last 30 (demo rows excluded)
share_above_sma50
share of the universe whose close is above its 50-day simple moving average
share_above_sma200
share of the universe whose close is above its 200-day simple moving average
mean_pairwise_corr_30d
mean off-diagonal correlation of the last 30 daily log returns across the universe
dispersion_7d
cross-sectional standard deviation of 7-day simple returns (engine column d7); the daily log-return dispersion is d_daily in breadth_daily
persistence
rho[t, w] = Spearman(rank ln(P[t-w] / P[t-2w]), rank ln(P[t] / P[t-w])) on today's universe restricted to the assets with a close at t-2w, t-w and t (survivors; point-in-time snapshots are not yet 2w old); 95 percent Fisher CI tanh(atanh(rho) +- 1.96 / sqrt(N - 3)); w = 7, 30, 90
altseason
share of the point-in-time CoinGecko top 50 (ex stablecoins, wrapped) with 90-day log return above BTC; needs the snapshot stored 90 days before as_of, TBC until then
abnormal_return_z
two-factor model r = a + b m + b2 f2 + e, m = r_BTC, f2 = equal-weight alt index ex BTC, stablecoins and wrapped; Huber RLM on [t-90, t-1], |b| and |b2| capped at 3; z = e / sqrt(s2), s2 = 0.94 s2[t-1] + 0.06 e[t-1]^2
scar7
sum of e over 7 days / sqrt(sum of s2 over the same days)
scar30
sum of e over 30 days / sqrt(sum of s2 over the same days)
abnormal_volume_z
av = (ln(1 + V_usd) - 30-day mean) / 30-day std, lagged, min 20 obs; av is null when the 30-day median USD volume is under 100k USD; avm = av - cross-sectional median
p_value
two-sided Student-t p with (nu, loc, scale) fitted on the asset's trailing 365 z, nu in [3, 10]
bh_flag
Benjamini-Hochberg step-up at q = 0.1; Benjamini-Yekutieli when the mean pairwise 30-day residual correlation is above 0.3
mover
BH-significant and avm >= 1
expected_false_discoveries
q x number of BH-significant assets, q = 0.1
new_listings
assets with under 90 days of history in this dataset (first close or first snapshot sighting across every collected venue), no z, listed apart from the movers table; a venue listing date is not collected yet, so an asset older than the archive can appear here
engine_inputs
close of prices_daily (canonical venue per day) and volume_usd of prices_sources from one venue per asset (binance 149, coinbase 1; column vol_source), 2025-03-19 to 2026-09-19, 150 assets incl. BTC; USDT quotes already scaled by the DefiLlama USDT price in the price tables (flag usdt_scaled, or usdt_unscaled with factor 1.0 on days without a DefiLlama point), so the engine applies no second scaling
engine_e
r - a - b m - b2 f2; m = BTC log return, f2 = leave-one-out equal-weight mean log return of the other alts ex BTC, stablecoins, wrapped, tokenised equities (149 alt columns in the panel, 105 names on the exclusion lists; 149 constituents on 2026-09-19, min 50 and max 149 over the frame, no fit under 20 others); statsmodels RLM HuberT(1.345) on [t-90, t-1], min 60 obs, returns winsorised at 1/99 pct in the window; loadings clipped to [-3, 3] (capped flag); refit every 7 days per asset, residual daily on the raw return
engine_z
e / sqrt(s2); s2[t] = 0.94 s2[t-1] + 0.06 e[t-1]^2 (RiskMetrics, half-life 11.2 days); no z under 90 days of history and none before 30 consecutive residual days (EWMA burn-in); z_hist_n = finite z in the trailing 365 ending t-1, quality = ok, short_z_history, no_loadings or new_listing
engine_scar
scar_k = sum_{t-k+1..t} e / sqrt(sum s2), k in 7, 30
engine_av
v = ln(1 + V_usd); av = (v - mean30) / std30 with the baseline ending t-1 (min 20 obs); NaN when the lagged 30-day median volume is under 100k USD; avm = av - cross-sectional median; s = z x clip((avm + 1) / 3, 0, 1)
engine_p
Student t fitted on the asset's trailing 365 z ending t-1 (scipy.stats.t.fit), nu in [3, 10], nu = 4 under 365 z (loc, scale fitted from 60 z, else 0, 1); p = 2 T.sf(|z - loc| / scale)
engine_fdr
statsmodels multipletests step-up at q = 0.10, fdr_bh, or fdr_by when the mean pairwise 30-day residual correlation is above 0.3 (BY dates: none); family = assets with z, 90 days of history and no capped loading; mover = flagged and avm >= 1; expected false discoveries = q x flagged
engine_breadth
b50, b200 share of assets with a defined SMA above it; rho_bar mean off-diagonal correlation from the Ledoit-Wolf (2004) shrinkage covariance of the last 30 daily log returns (complete columns); d cross-sectional std of daily log returns; d7 std of 7-day simple returns; dres std of e; ar top ceil(N/5) eigenvalues over all, 90-day sample covariance
engine_persistence
rho_w = Spearman(rank ln(P[t-w]/P[t-2w]), rank ln(P[t]/P[t-w])) on today's universe restricted to the assets with a close at t-2w, t-w and t (survivors; point-in-time snapshots are not yet 2w old), Fisher CI tanh(atanh(rho) +- 1.96/sqrt(N-3)), w in 7, 30, 90
engine_altseason
NULL until universe_snapshots holds a top-50 list 90 days old (T8b)
prices_daily
canonical close: coinbase > kraken > coinmetrics > bitstamp > binance (bitstamp first before 2016-01-01); Coinbase Exchange GET /products/{id}/candles granularity=86400: [time, low, high, open, close, volume]; day = UTC date of time; volume_usd = base volume x close
usdt_scaling
Binance GET /api/v3/klines interval=1d: [openTime, o, h, l, c, v, closeTime, quoteVolume, ...]; USDT prices and quoteVolume multiplied by the DefiLlama USDT price of the day (coins.llama.fi chart coingecko:tether)
reconciliation
max pairwise |a - b| / ((a + b) / 2) x 100 over the USD closes of every source for the asset and day; tbc when above 1 percent (report section 2, task T2)
volume_venue
one venue per asset for the whole volume series: the collected venue (binance, coinbase, kraken, bitstamp) with the largest median USD volume over the 30 days ending the day before as_of, ties by the canonical order; the close keeps its own canonical venue
yahoo_site_file
read-only site file barda-ma/research/btc-cycle-forecast/data/btc_usd_yahoo.csv (Yahoo Finance BTC-USD daily close), used only for days no venue covers
universe_universe_snapshots
CoinGecko GET /coins/markets vs_currency=usd order=market_cap_desc per_page=250: rank = market_cap_rank, mcap_usd = market_cap, volume_usd = total_volume (24 h); date = UTC fetch day | Binance GET /api/v3/exchangeInfo USDT spot pairs with status TRADING, ranked by GET /api/v3/ticker/24hr quoteVolume descending; volume_usd = quoteVolume x DefiLlama USDT price (1.0 when none); no market cap; date = UTC fetch day | Coinbase Exchange GET /products quote USD, status online, trading enabled, ranked by GET /products/stats stats_24hour.volume x stats_24hour.last descending; no market cap; date = UTC fetch day
universe_assets
first_seen and last_seen = earliest and latest UTC day the asset appears in any universe snapshot or prices_daily row; flags from the exclusion lists (stablecoins, wrapped, leveraged suffix or name, tokenised equity: equity or ETF stem plus a venue suffix B, x or on, or an xStock name)
universe_universe_at
top n by the source's rank from the snapshot stored on the date asked for, or the latest earlier one, never a later one unless the run states a look-ahead (no snapshot at or before the date: the earliest later snapshot is used and lookahead_days is printed); stablecoins, wrapped, leveraged and tokenised-equity tokens removed when exclude is on
universe_new_listings
assets with under 90 days of history in this dataset at the date (first close or first snapshot sighting across every collected venue, first day inclusive); no venue listing date is collected yet, so the pane reads 'under 90 days in this dataset'
universe_membership
scored 2026-09-19: top 250 of the binance snapshot of 2026-09-20 (250 after exclusions); stated look-ahead: the snapshot was taken 1 day(s) after the scored date because no earlier snapshot exists (the 24 h ticker window of the snapshot day ranks the membership)
flows_30d.stablecoin_net_issuance_usd
DefiLlama stablecoins.llama.fi/stablecoincharts/all totalCirculatingUSD.peggedUSD, point on or before 2026-09-19 minus point on or before 2026-08-20 (306,942,863,690 to 310,016,997,435)
flows_30d.stablecoin_change_by_chain_usd
DefiLlama stablecoincharts/{chain} totalCirculatingUSD.peggedUSD for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-08-20; a chain's change mixes new issuance and bridging, so the Sankey absorbs net issuance pro rata into the gaining chains and bridges the rest from the losing chains
flows_30d.us_spot_btc_etf_net_flow_usd
Farside farside.co.uk/btc/ (month page merged with the all-data page) Total column summed over 20 trading days 2026-08-21 to 2026-09-18 (USD millions x 1e6); weekends and holidays have no row
flows_30d.us_spot_eth_etf_net_flow_usd
Farside farside.co.uk/eth/ (month page merged with the all-data page) Total column summed over 20 trading days 2026-08-21 to 2026-09-18 (USD millions x 1e6); weekends and holidays have no row
flows_30d.btc_exchange_net_inflow_usd
Coin Metrics community timeseries/asset-metrics btc FlowInExUSD minus FlowOutExUSD summed over 2026-08-21 to 2026-09-19 (positive = coins moved onto exchanges); 30 of 30 rows flash (preliminary, Coin Metrics revises them)
flows_30d.btc_market_cap_change_usd
Coin Metrics CapMrktCurUSD point on or before 2026-09-19 minus point on or before 2026-08-20; PriceUSD 73,071 to 81,262 on the same dates; revaluation, not money in
flows_30d.chain_tvl_change_usd
DefiLlama api.llama.fi/v2/historicalChainTvl/{chain} for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-08-20; USD TVL mixes deposits and price revaluation, so it is not a flow until decomposed and never a ribbon
flows_30d.total_market_cap_usd
CoinGecko api.coingecko.com/api/v3/global, snapshot at fetch time 2026-09-20T23:22:18Z, not a window figure
flows_7d.stablecoin_net_issuance_usd
DefiLlama stablecoins.llama.fi/stablecoincharts/all totalCirculatingUSD.peggedUSD, point on or before 2026-09-19 minus point on or before 2026-09-12 (310,233,106,315 to 310,016,997,435)
flows_7d.stablecoin_change_by_chain_usd
DefiLlama stablecoincharts/{chain} totalCirculatingUSD.peggedUSD for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-09-12; a chain's change mixes new issuance and bridging, so the Sankey absorbs net issuance pro rata into the gaining chains and bridges the rest from the losing chains
flows_7d.us_spot_btc_etf_net_flow_usd
Farside farside.co.uk/btc/ (month page merged with the all-data page) Total column summed over 5 trading days 2026-09-14 to 2026-09-18 (USD millions x 1e6); weekends and holidays have no row
flows_7d.us_spot_eth_etf_net_flow_usd
Farside farside.co.uk/eth/ (month page merged with the all-data page) Total column summed over 5 trading days 2026-09-14 to 2026-09-18 (USD millions x 1e6); weekends and holidays have no row
flows_7d.btc_exchange_net_inflow_usd
Coin Metrics community timeseries/asset-metrics btc FlowInExUSD minus FlowOutExUSD summed over 2026-09-13 to 2026-09-19 (positive = coins moved onto exchanges); 7 of 7 rows flash (preliminary, Coin Metrics revises them)
flows_7d.btc_market_cap_change_usd
Coin Metrics CapMrktCurUSD point on or before 2026-09-19 minus point on or before 2026-09-12; PriceUSD 77,252 to 81,262 on the same dates; revaluation, not money in
flows_7d.chain_tvl_change_usd
DefiLlama api.llama.fi/v2/historicalChainTvl/{chain} for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-09-12; USD TVL mixes deposits and price revaluation, so it is not a flow until decomposed and never a ribbon
flows_7d.total_market_cap_usd
CoinGecko api.coingecko.com/api/v3/global, snapshot at fetch time 2026-09-20T23:22:18Z, not a window figure
flows_1d.stablecoin_net_issuance_usd
DefiLlama stablecoins.llama.fi/stablecoincharts/all totalCirculatingUSD.peggedUSD, point on or before 2026-09-19 minus point on or before 2026-09-18 (309,519,353,146 to 310,016,997,435)
flows_1d.stablecoin_change_by_chain_usd
DefiLlama stablecoincharts/{chain} totalCirculatingUSD.peggedUSD for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-09-18; a chain's change mixes new issuance and bridging, so the Sankey absorbs net issuance pro rata into the gaining chains and bridges the rest from the losing chains
flows_1d.us_spot_btc_etf_net_flow_usd
Farside farside.co.uk/btc/: no trading-day row between 2026-09-18 (exclusive) and 2026-09-19 (weekend, holiday or not yet published), last Farside row 2026-09-18 (433.0 mn) is counted in the longer windows that contain it
flows_1d.us_spot_eth_etf_net_flow_usd
Farside farside.co.uk/eth/: no trading-day row between 2026-09-18 (exclusive) and 2026-09-19 (weekend, holiday or not yet published), last Farside row 2026-09-18 (143.7 mn) is counted in the longer windows that contain it
flows_1d.btc_exchange_net_inflow_usd
Coin Metrics community timeseries/asset-metrics btc FlowInExUSD minus FlowOutExUSD summed over 2026-09-19 to 2026-09-19 (positive = coins moved onto exchanges); 1 of 1 rows flash (preliminary, Coin Metrics revises them)
flows_1d.btc_market_cap_change_usd
Coin Metrics CapMrktCurUSD point on or before 2026-09-19 minus point on or before 2026-09-18; PriceUSD 80,944 to 81,262 on the same dates; revaluation, not money in
flows_1d.chain_tvl_change_usd
DefiLlama api.llama.fi/v2/historicalChainTvl/{chain} for 12 of 12 chains, point on or before 2026-09-19 minus point on or before 2026-09-18; USD TVL mixes deposits and price revaluation, so it is not a flow until decomposed and never a ribbon
flows_1d.total_market_cap_usd
CoinGecko api.coingecko.com/api/v3/global, snapshot at fetch time 2026-09-20T23:22:18Z, not a window figure

Source health, this run source and HTTP status (the counts per status when a source's fetches disagree)

SourceStatus
coinmetrics200
defillama200
coinbase200
kraken200
bitstamp200
fred200
polymarket200
alternative_me200
cftc200
sec200
coingeckoskipped:no_key
binance200
defillama_flows200
coinmetrics_flows200
farside200
coingecko_global200

Attribution

  • Coin Metrics community data, CC BY-NC 4.0 (coinmetrics.io)
  • CoinGecko (coingecko.com), Demo plan, personal use with attribution
  • alternative.me Crypto Fear and Greed index, attribution required
  • DefiLlama (defillama.com), open data
  • Polymarket (polymarket.com), public Gamma, CLOB and Data APIs
  • Coinbase Exchange public market data (api.exchange.coinbase.com)
  • Binance spot public market data (api.binance.com), laptop runs only

Last 10 runs at /data/runs.json; twins for Power BI at movers.csv, breadth.csv, prices_btc.csv, runs.csv. Latest breadth through /api/barometer-latest.

How to read it. A z of 3 means the asset moved three of its own recent volatilities beyond what its beta to BTC explains that day. The percent columns are there for scale, not for ranking: a 40 percent day on a coin that swings 20 percent every day is a smaller event than a 12 percent day on one that usually moves 2. Benjamini-Hochberg keeps the share of false flags near q, so the expected-false-discoveries line tells you how many of today's names are noise. Volume confirmation asks whether more money took part than usual, wash trading included, so it is a participation check and not a verdict.