Exchange flows, hour by hour

Coins arriving at and leaving EVERY exchange our address map knows, counted hour by hour on our own node and added up here by day. Bars above zero: more coins arrived than left. Line = 30-day average.

−2,601 BTC arrivals minus departures on Oct-22 2026, the last day in this build, measured and published by askthetape.com.

For everyone

Every exchange move has two times on it. One is the hour the block that carried it was mined — that number stops moving once the day is closed, and it is what you compare across months. The other is the hour we first saw the transaction waiting in the mempool, minutes before any block. We keep both, because they answer different questions: the first is right, the second is early. Measured on our own tape between 2026-07-13 and 2026-09-10, 469,482 of the 506,689 arrivals that confirmed were already sitting in the mempool when we looked — 92.7% of them, with a lead of 7.4 minutes median, 27.5 minutes at the 90th percentile — and 19.2% of them fall into a DIFFERENT hour depending on which clock you read. This page shows the settled clock by day, back to 2022-01-01; the hour-by-hour view of the last 30 days is the paid layer. Since 13 September this page counts EVERY exchange our map knows (55 of them, the three mapped non-exchange wallets left out) — the same population as the daily flow page, and summed by day the hours here match the bars there to our print rounding: 1,756 of 1,756 days identical on this build. The eight biggest exchanges, which this page counted on their own until then, are still drawn as a second line: they carry 85.0% of the arrivals of the last year. 287 minutes on 2026-09-12 (between 09:58:28Z and 14:45:28Z) have no first-sight coverage at all: the frozen tape ends and the live capture had not started. We do not draw a line across it.

For the pro

legtwo layers of the same coins, dated. H1 «hour of confirmation» = UTC hour of the block header the transaction landed in, own node tape v2.1b against our own exchange address map v2.1b, 42,144 hourly rows 2022-01-01 → 2026-10-22, layer all_exch = all 55 mapped exchanges (the map's 58 entities minus binance_pool, bitb_bitcoin_etf_holdings_address, swisborg_reserve_wallets, which are not exchanges). H2 «hour of first sight» = the UTC hour we first saw the transaction in the mempool (own capture of a public mempool relay), live since 2026-09-12T14:45:28Z, with our own frozen tape joined to a snapshot first-seen feed before that (2026-07-13 → 2026-10-22).
cadenceH1 settles once a day, after our node bridge runs (settles daily ~06:10Z after the node bridge; last hour = D-1 23:00Z) — the running day is not on this page. H2 is live and refreshes hourly, a few minutes past the hour.
sinceH1 2022-01-01 · H2 2026-07-13 (history) and 2026-09-12 (live capture)
🩸 the hours on this page against the bars on /m/exchange-netflow/Recomputed on this build: 1,756 days, 2022-01-01 → 2026-10-22: 1,756 of 1,756 identical within 1e-6 BTC against that page's own daily carrier, largest difference 0 BTC on 2026-02-06, every day within our print rounding of 0.05 BTC; bar for printed bar, what you read here and what you read there match on 1,756 of 1,756 days (largest 0.0 BTC, one step of the rounding we print with). Our arrival-transaction count matches that page's transaction series on 1,756 of 1,756 days too. Until 13 September this page counted eight venues, a different population, and the two pages could not agree at all.
the eight largest, and what they missthe eight venues this page used to be (Binance, Bitfinex, Bybit, Coinbase, Deribit, HTX (Huobi), Kraken, OKX) carry 85.0% of the arrivals and 84.1% of the departures of the last 365 days, and by year 2022 83.0%/83.0%; 2023 90.0%/90.4%; 2024 90.7%/91.1%; 2025 89.6%/89.2%; 2026 85.2%/84.7% — measured on this build against the full layer, not quoted from a ticket. They are drawn as the second line of the «all of them against the eight largest» view. The per-exchange split below is NOT those eight: it is the 8 busiest exchanges of the last 29 days (92% of the window's turnover, 8 of the 39 that moved anything), recomputed every build, and those lines do not add up to the bars.
the checks we hold ourselves tosummed to days, H1 equals our daily flow panel cell for cell: 60,090 day x entity x direction cells, 0 differences, 2022-01-01 → 2026-10-09 (2026-10-23). The frozen 8-exchange tape equals the same hours of this layer hour by hour on the overlap: 312,754 cells, 0 differences (exchange_flows_hourly_8ex.csv (frozen neighbour file), compared with this layer before the 22.10 address-map correction, which that file does not carry; with the correction 26,494 of these cells differ, each by exactly the correction). And the first-sight tape equals it too: 2,207 cells, sum of absolute differences 0.00000000 BTC.
🩸 the two clocks do not line up, and that is the product19.2% of the arrivals we saw fall into a different hour depending on the clock (91,784 of 479,183 events, 2026-07-13 → 2026-10-23). Median lead 7.417 minutes, 90th percentile 27.533. Never add the two layers together; read one or the other.
🩸 thinner herethe history half of the first-sight layer is coarser than the live half: its first-seen time comes from a collector that polls the mempool on a step, so it is the moment of the snapshot, not the moment the transaction appeared. In 2.3% of those events that lands AFTER the block, which is why a few leads read negative; the live layer has none (0 of 306,881 confirmed). 7.3% of history events were never seen in the mempool at all and sit in the hour of their block. The last hour of the live file is always incomplete, and the last day of the first-sight series is left out of this page for the same reason. The first-sight layer also covers every mapped exchange, but only since 2026-07-13 — it is two months old against four years of the settled clock, and the two series are not the same length. 287 minutes on 2026-09-12 (between 09:58:28Z and 14:45:28Z) have no first-sight coverage at all: the frozen tape ends and the live capture had not started. We do not draw a line across it.
🩸 what this page is notit is not a reserve (a flow, not a balance). Coins an exchange shuffles between its own wallets are not flow and are left out, and so are the three mapped wallets that are not exchanges (binance_pool, bitb_bitcoin_etf_holdings_address, swisborg_reserve_wallets). An entity's silent hour has no row in the layer at all — silence, not a zero.
🩸 how much of the history we saw first, datedbetween 2026-07-13 and 2026-09-10 our snapshot first-seen feed had already seen 469,482 of the 506,689 arrivals that later confirmed — 92.7%, recomputed on this build, not copied from a ticket. The last 2 days of that era read lower — 2026-09-11 91.3%, 2026-09-12 82.2% — and are left OUT of the number above, marked «snapshot feed degraded»: a broken instrument, not a change in the market. The data line's own note on those days: «2026-09-11..2026-09-12: the snapshot first-seen feed degraded (collector restarts); unseen events sit in their block hour». Their bars stay on the chart, they are simply not part of the headline share. From 2026-09-13 the history layer stops using that feed altogether: rows dated 2026-09-13 and later come from our own websocket capture (the moment we received the transaction), where every event in the file is one we saw — its «seen» share is 100% by construction and is NOT comparable with the number above.
🩸 how much the live layer actually sees, datedcounted on this build over 2026-10-22, the last day the history layer carries in full: 8,232 of the 8,248 arrivals that confirmed that day (99.81%) were already in our mempool before their block; the rest reached the chain without passing our mempool feed first. Nothing is lost by that: whatever the live layer misses is still counted on the hour-of-block clock, which stays the series to quote for absolute flow. The number carries its window and its date, so it can be replaced by data, not by code.
policyno backfill · read it here · export: whole history
this builddata to Oct-22 2026
policyno backfill · read it here · export: whole history

The chart itself is drawn in the browser: turn JavaScript on to hover a day, pick a window and draw your line. The numbers above come from the last build, Oct-23 2026 21:24Z.

What the tape says today · what's new · all 111 metrics

built 21:24Z
🔔 Free alerts in Telegram · two at a time per chat · press 🔔 next to a chart’s numberTerms · Refund · Privacy · askthetape@gmail.comIndependent market-data site. Not an exchange and not affiliated with any exchange. We never ask for exchange keys, wallet seed phrases or passwords.askthetape.com · by @shridlock · notes · what’s new · we never call direction, the data draws, you conclude · NFA