Coins arriving at and leaving the exchanges we map ourselves. Bars above zero: more coins arrived than left. Line = 30-day average. map v2.1 · history recomputed 2026-09-12 · v1 kept
769 BTC arrivals minus departures on Oct-25 2026, the last day in this build, measured and published by askthetape.com.
LIVEWe keep our own map of which addresses belong to which exchange and count the coins crossing that line every day — over a public copy of the chain from 2022 to Sep-12 2026 (its gaps on Jul-23 and Aug-12–29 2026 refilled from our own node), and over our own node since. 57 exchange entities have moved coins through this map. The map holds 2,560,727 addresses across 133 entities, and 30 of them moved a coin on Sep-11 2026. Arrivals minus departures is the bar: what arrived at an exchange minus what left it. We remove internal moves our map recognises and name the remaining custody-move contamination in the coverage notes. The balance line shows how those holdings have changed since Jan-2022 on our clustering: a change, not an anchored reserve. Thinner where we say so: the Coinbase net is not readable here, Upbit, Bithumb and Coinone are not mapped (Korbit is, thinly), and history before 2025 is thinner. On the chain a wallet belongs to the exchange, not to its spot or futures desk: Binance, OKX, Bybit and Bitget run both books on one custody, so no filter can split them. «Spot-only» here means the custody our map tags serves a spot book only — the house runs no leverage desk on it; «derivatives-only» venues run no spot book; the mixed venues cannot be split by the chain. Over the last year 39.1 % of the coins that arrived at an exchange landed at a spot-only venue (2,590,683 of 6,631,337 BTC). Kraken sits in spot-only because Kraken Futures keeps a separate custody our map does not tag; counted with the derivatives houses instead, that share would read 31.4 % — the cut leans on that one call, so both numbers are printed. Spot-only, on that rule: Coinbase, Kraken, Bitstamp, Gemini, Robinhood, HashKey, Bitkub, bitbank, Coincheck and 10 more. Venues with a derivatives arm: Binance, OKX, Bybit, Crypto.com, Bitfinex, Bitget, KuCoin, Gate and 17 more. We name them one by one below — if a venue is not verified it sits in neither bucket and is listed as unchecked, so the three views still add up to the whole.
| leg | own exchange clustering · daily arrivals, departures and net in BTC · 57 entities with flow of 133 in the map, 2,560,727 addresses (counted on the same run, not a fixed number) · 30 moved coins on 2026-09-11 |
|---|---|
| cadence | daily; hourly cut since 2022, the Tape window = newest 30 days |
| since | 2022-01-01 · history recomputed on map v2.1 on 2026-09-12 · balance is relative to that day, not an absolute reserve |
| what this page keeps in the open | an hourly cut of these flows exists since 2022 (the Tape window draws its newest 30 days); the tape has run on our own node since Sep-12 2026 (a public copy of the chain before that); the method and its holes are published; and we keep the transaction list behind every bar — 16,515,437 flow events. |
| thinner here | Coinbase: hot wallets selected statistically; ownership not proven on-chain; net for Coinbase not readable. Bitstamp: volume-level only, direction unreliable — one address carries 67% of that leg's arrivals and the year's daily net sign is 51%, a coin flip. Zero coverage: Upbit, Bithumb, Coinone, CEX.io — no public BTC labels. Phemex over-attributed about 4×. History before 2025 is thinner. The balance line is a change since 2022, not an anchored level. Coinbase and Bitstamp: a large share of arrivals leaves at the same size within a day — internal custody moves counted on both sides (Coinbase 28.7% of arrivals over 2025-09 → 2026-08, Bitstamp 13–25%; placebo-corrected, measured 2026-09-12) — read gross volume, not net. |
| net = arrivals − departures | on map v2.1 all three series run under one rule, so net is exactly arrivals − departures: checked on all 1,708 days, largest gap 0.000 BTC (2026-09-12) |
| map v1 view | map v1 only: arrivals excluded three non-exchange wallets (a mining pool, an ETF custody address, a reserve wallet) while the net bar and departures did not — so on the v1 view net ≠ arrivals − departures on 1,242 of 1,715 days, by up to 5,107 BTC (2024-01-12). Map v2.1 excludes them everywhere and has no such gap. |
| tape repair | BQ-archive gaps (Jul 23 and Aug 12–29 2026) refilled from our own node on 2026-09-12 (+104,580 + 2,859 events; density v2/v1 on those days 1.5–1.6, holes 0); history recomputed on the healed tape the same day |
| spot-only vs a derivatives arm | On the chain a wallet belongs to the exchange, not to its spot or futures desk: Binance, OKX, Bybit and Bitget run both books on one custody, so no filter can split them. «Spot-only» here means the custody our map tags serves a spot book only — the house runs no leverage desk on it; «derivatives-only» venues run no spot book; the mixed venues cannot be split by the chain. Over the last year 39.1 % of the coins that arrived at an exchange landed at a spot-only venue (2,590,683 of 6,631,337 BTC). Kraken sits in spot-only because Kraken Futures keeps a separate custody our map does not tag; counted with the derivatives houses instead, that share would read 31.4 % — the cut leans on that one call, so both numbers are printed. Spot-only, on that rule: Coinbase, Kraken, Bitstamp, Gemini, Robinhood, HashKey, Bitkub, bitbank, Coincheck and 10 more. Venues with a derivatives arm: Binance, OKX, Bybit, Crypto.com, Bitfinex, Bitget, KuCoin, Gate and 17 more. We name them one by one below — if a venue is not verified it sits in neither bucket and is listed as unchecked, so the three views still add up to the whole. |
| which venue is which (checked 2026-10-09) | Spot-only, no derivatives book (19): Coinbase, Kraken, Bitstamp, Gemini, Robinhood, HashKey, Bitkub, bitbank, Coincheck, Luno, indodax, Mercado Bitcoin, Coinsquare, Korbit, bitcoin de, OKCoin, spectrocoin, p2b, zaif. — Both books on one custody, cannot be split (25): Binance, OKX, Bybit, Crypto.com, Bitfinex, Bitget, KuCoin, Gate, HTX, bitFlyer, MEXC, Phemex, CoinEx, Poloniex, Pionex, bitunix, lbank, Biconomy, BigONE, CoinDCX, flipster, CoinW, bitvenus, btse, BingX. — Derivatives only (3): Deribit, BitMEX, blofin. — Not verified, counted in neither bucket (8): Bittrex, bitzlato, Xapo, localbitcoins, hibt, bitmake, Fire, fastex. Each line was read off the venue's own product pages on 2026-10-09. |
| by month | Each monthly bar is the sum of the daily numbers already on this page inside one calendar month — the same tape, added up, nothing filled in and no second source. Months are calendar UTC; the running month is drawn hollow and is not ranked. A month that lost days to the source-gap guard prints how many days it counted — no closed month is short today. The monthly keys stay out of the daily digest and never judge the page's freshness. |
| arriving now (before confirmation) | own mempool collector on the prod box · a public mempool relay's websocket × our own exchange address map v2.1 (2,568,222 addresses, map_md5 3d2b4423) · net per exchange per transaction, |net| ≥ 0.01 BTC, the same rule as the daily tape · the free page prints whole UTC days of this capture, summed from its minute file (rebuilt hourly); the live 15-minute window, the pending rows and the collector's own counters are Desk |
| arriving now · how big the lead is (re-measured, dated) | 7 days 2026-09-05..2026-09-12, our own re-measurement: 46,609 of 49,781 confirmed transfers our own map sees (93.6 %) were in the mempool before their block — day-clustered 95 % bootstrap interval 91.8 % to 95.1 %, and by day 89.0 % to 96.4 %. Those 49,781 transactions carry 51,775 exchange legs: one transaction can touch up to four exchanges. We previously counted exchange legs in this dated check; we now count transactions. 47,797 were in the mempool at all and 1,188 of those only after their block — «found» is not «found first». Among the transfers seen before their block: median lead 7.5 min, p25 3.2 min, p75 14.5 min, p90 25.5 min, and by day the median runs 6.9 min to 8.7 min. That median is the wait for the next block, the same wait any mempool watcher has — our first seen comes from a public mempool relay's feed, not from our own node, so what is ours is the tagging, not the clock. Inflow over the window 101,323 BTC, of which 93,910 BTC (92.7 %) was known before the block. Large arrivals ≥100 BTC: 201 of 219 seen before the block (207 found in the mempool at all), 134 of 219 with five minutes or more, median lead 7.8 min. The denominator is what our own map sees, not every exchange transfer on the network — Upbit, Bithumb and Coinone are not mapped (Korbit is, thinly). The first-seen source of this measurement is our deposit-tracking capture; the day above and the Desk window come from a separate collector. Capture degraded since Sep-11 2026, re-measure deferred. Measured 2026-09-13T07:50:58Z against our own confirmed tape — one dated line, not a running number, and the run that produced it is kept with the map. |
| arriving now · thinner here | pending ≠ confirmed (replaced, dropped and expired transactions are not counted in the day) · only the exchanges in our own map are tagged: Upbit, Bithumb and Coinone are not mapped (Korbit is, thinly) and the Coinbase net is not readable on the daily tape either · the public mempool feed is a dependency: 3,165 of 3,214 new transaction ids (98.5 %) reached our websocket against the same node's REST list in a 4-minute probe on 2026-09-12 11:45Z, so about 1.5 % arrive late or not at all — one short probe, not a long-run number, and feed gaps inside the printed day are named on it · the free page prints whole UTC days only — the live 15-minute window and its rows are Desk, the minute-by-minute cut is Tape · no price claim is attached: the lead is an observation, not an edge |
| reserve · anchored level (not parity) | Our reserve, snapshot-anchored 2026-09-12 (1,760,960 BTC printed: clean exchanges 1,612,609 + the Kraken reserve-only hub 148,351; the map's own sum is 1,660,024 BTC before the hub and before the three non-exchange wallets are dropped). The snapshot is the chain at 00:00Z of the anchor date, which is the CLOSE of Sep-11 2026 — that is the day the level is pinned to, and every day after it is the anchor plus our own netflow. 🩸 Not a full reserve: the cold wallets of Coinbase, Bitstamp and Gemini are not in our map. Anchored once, on the Sep-12 2026 snapshot, and not re-anchored since (re-anchoring is manual; there is no cron for it yet), so the further the chart runs past the anchor, the more it is our netflow and the less it is a measured balance. |
| addresses a proof-of-reserves list names and our map does not have yet | 1,760,960 BTC on map v2.1b + 63,501 BTC on PoR-listed addresses pending map v2.2 (446 addresses, 391 of them funded in the same snapshot 2026-09-12; the biggest single block is Binance's own proof-of-reserves list). Those addresses are NOT in the roll-forward: the level above moves with our netflow, and netflow runs on map v2.1b — so the anchor and the tape keep looking at one map. They enter the map in v2.2 (October). |
| the exchange's own claim against our addresses | The exchange's own proof-of-reserves claim against our addresses: HTX claims 8,083 BTC at block 964902 (2026-09-12), our map holds 8,133 BTC → 1.006 · Bybit claims 59,967 BTC at block 964087 (2026-09-12), our map holds 61,620 BTC → 1.028. Read it as coverage, not as an audit: their list is signed by them, our number is what our map finds in a public address→balance snapshot, and both are dated above. |
| disputed clusters (confirmed only) | A 20-address cluster holding 81,371 BTC is labelled OKX by our v1 sources; its anchor address (55,905 BTC) was listed by Gemini itself (trust-center, Jul-2025) and its on-chain behaviour matches Gemini cold storage (re-checked independently on 2026-09-12). Until the v2.2 recompute read OKX ≈147.8k and Gemini ≈56.3k (+25.5k unattested) instead of 229.2k / 0.4k. |
| how the level is built | reserve[entity] = Σ balance over map addresses present in the snapshot (inner join by address); snapshot = chain state at 00:00Z of the file date · daily roll-forward: reserve(d) = printed_total + Σ netflow over days in (anchor_date, d] from the map's own daily netflow row (column netflow); re-anchor on the 1st of each month from a fresh snapshot (manual, no cron yet) · identity check: Δ(snapshot 2026-09-01 → 2026-09-12) vs Σ our netflow same window per entity: r 0.9988, Σ|residual| 902 BTC = 4.56 %, median 1.1 % on large exchanges |
| 🩸 the hourly window under this page, summed by day, matches these bars | Recomputed on this build: 1,759 days, 2022-01-01 → 2026-10-25: summed by day, the hours of the Tape window match these bars on every day to within our print rounding of 0.05 BTC — 1,759 of 1,759 identical within 1e-6 BTC, largest difference 0 BTC — and every printed bar is within 0.050 BTC of its hours. The window counts the same population as the bars: all mapped exchanges, 55 of our 58 entities, with three mapped non-exchange wallets left out — binance_pool, bitb_bitcoin_etf_holdings_address, swisborg_reserve_wallets. The layer that keeps them (all57) is a different number and it is not what this page draws: on 2024-02-14 the two differ by 18,664 BTC, one ETF custody move. |
| this build | data to Oct-25 2026 |
| policy | no backfill · read it here · export: whole history |
| time UTC | exchange | BTC | inputs | transaction |
|---|---|---|---|---|
| 00:08:30 | Coinbase | −243.73 departure | 1 | 9c4dfd7af3068e24ceca1baddb0cdf8c2e2426cdda4c1a8ccc9b30e39878334d |
| 09:11:38 | OKX | +204.11 arrival | 3 | 63dbc3550a3e9e2ad54059c0030617a15ac1ebeb34bb1da392fe18929d98219f |
| 10:44:06 | Binance | +190.30 arrival | 2 | acec027cd22a8c2ee179f95599a8e2d2b8369d5a6501ac9e2db9b633bda7b196 |
| 06:37:58 | Binance | +182.30 arrival | 2 | 9d292803722a2225afcc9efd57f22d29e459e794cecefd7a4888230d883d2af6 |
| 15:21:36 | Coinbase | −166.05 departure | 1 | 929d13750653463d4236682505baa7072919a7260e45828efa989fa87186dc31 |
| 19:59:28 | Coinbase | −161.75 departure | 1 | f6533cd9b3935fd9d45ee4146684ccefee24e2fae43d2ce42a13a85a59bc7e9a |
| 23:17:46 | Coinbase | +159.48 arrival | 25 | 4887baacd1d11fed60ab559d5ede63f5151d44953a247a4d9a0cee79cea69f2b |
| 23:17:46 | Coinbase | +158.91 arrival | 153 | 614de1a3aa8342c0eebe51eec833ab48564dda56dd2d6562eca7caf1fa9126ed |
| 15:25:32 | Bitget | −150.05 departure | 5 | 1f9cfc6b4242a4d2f29469b2c1e514b3dd0cd3efc612670a3c1fa7610e5d2f29 |
| 03:41:34 | OKX | +149.54 arrival | 10 | 1382a6bc8cc0ddad8172e2602e2af60806f8f6f71afeff9e93a0fa34352d92ec |
| 16:52:07 | Coinbase | +147.74 arrival | 18 | 6dc9f35027e220344e7a6b2594bb8b9382ba5003852ce7be9c1e62650565c182 |
| 04:26:16 | Coinbase | −127.69 departure | 1 | 104005b9f7200c853af7d153298d0b9e7a38bae15f738ef7ef57531677495f1f |
| 05:50:33 | Coinbase | −123.00 departure | 1 | 77eb4cc39ab7cbea7b9f257a6adb15a8b6aff4ef73561e5f268a97b638233507 |
| 11:35:31 | HTX | −120.00 departure | 1 | d15522785814e89d27973085893eef8df593ca78792848d12316077d922fe936 |
| 14:38:21 | Binance | +120.00 arrival | 1 | 0f48c039534387f273f0934cf6403a3b0445610f2de2aeaa6c0225b98196ebbd |
| 03:28:47 | OKX | −107.40 departure | 1 | 5c680db090177b3d0606bfeca1b7ec7fc60767df906112170669669c5085bafc |
| 03:41:34 | OKX | +107.40 arrival | 4 | 98ee841d7e2b15255802e3ce7c56cce5865f6c0037968d9afed82494278a87b1 |
| 17:59:10 | Coinbase | +104.52 arrival | 2 | 5fd421573d76ebc1e4fc0ebe9705d96beaec77b1ee8b22ec7a5b253f69762c36 |
| 22:05:37 | Coinbase | +103.00 arrival | 1 | aebbcf04bc3298bdf75eebe5f72754fc6c54d768277b2b6089f85b7b40be42d1 |
| 23:40:24 | Coinbase | −103.00 departure | 1 | b1bfca971bf95360133e9d34603adf696fbc3c79d99f9c172e7961daffb55e43 |
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-26 2026 08:25Z.
What the tape says today · what's new · all 111 metrics
Exchange inflow is measured at the sweep into the exchange's wallet — for Binance ~0.5–3 h after the deposit (sample of 15.10)
snapshot · every 5 minutes