Explainer · Kresmion Research
What Is Exchange Netflow (and What Whale Self-Transfer Noise Means)?
Exchange netflow is the on-chain coin volume arriving at exchange wallets minus the volume leaving them, where positive means net inbound and negative means net outbound.
Netflow is one of the most quoted on-chain numbers and one of the most misread. The metric itself is simple arithmetic, but the raw data feeding it is often dominated by movements that cross no economic boundary at all. This page defines netflow precisely, then shows, with a worked Bitcoin example from Kresmion's own data, why a large share of the raw "flow" is housekeeping noise that has to be stripped before the number means anything.
Key takeaways
| Metric | Value | As of |
|---|---|---|
| BTC whale rows that are self-transfers (from_label = to_label) | 13,802 of 15,929 (86.6%) | June 15, 2026 |
| Self-transfers that are Binance to Binance | 13,781 of 13,802 | June 15, 2026 |
| Genuine BTC whale flow, last 7 days | $836,693,685.08 (28.6% of total) | June 9-15, 2026 |
| Self-transfer noise, last 7 days | $2,086,612,338.62 (71.4% of total) | June 9-15, 2026 |
| Genuine inbound vs outbound (7-day) | $836.7M inbound / $0.00 outbound | June 9-15, 2026 |

How inflow, outflow and netflow are defined
An exchange inflow is coins moving from a non-exchange wallet (self-custody or a whale wallet) into a wallet controlled by an exchange (CryptoQuant User Guide). In practice, analytics platforms classify a transfer as inflow when the receiving (`to`) address is a labeled exchange wallet, identified against a maintained set of known exchange addresses.
An exchange outflow is the reverse: coins leaving an exchange wallet for a non-exchange wallet, a withdrawal (CryptoQuant User Guide). It is classified when the sending (`from`) address matches the same known-exchange set.
Netflow is just the difference: `netflow = inflow - outflow`. Positive netflow means more coin arrived at exchanges than left; negative netflow means more left than arrived. CryptoQuant states this directly as "Inflow - Outflow = Netflow," and the convention is standard across major on-chain analytics providers (CryptoQuant User Guide).
What netflow does and does not tell you
Netflow is a flow location, not a statement of intent. Coins arriving at an exchange are merely positioned where they *could* be sold, but they could equally be used as collateral, settled OTC, moved between an entity's own sub-accounts, or re-custodied. Inflow is not proven selling. Symmetrically, an outflow puts coins in a wallet where they cannot be sold on that order book, often read as accumulation, but it is not proven buying. The metric describes *where* coins sit, not *why* they moved.
The self-transfer noise problem
The biggest data-quality trap in netflow is the self-transfer. When the sending label equals the receiving label, for example Binance to Binance, the transaction is an internal hot-to-cold wallet reshuffle by the *same entity*. It crosses no entity boundary and represents zero genuine economic flow. If these rows are not stripped, netflow is grossly inflated by housekeeping movements. The fix is mechanical: strip every row where `from_label = to_label`.
The severity in Kresmion's own feed is striking. As of June 15, 2026, of 15,929 BTC whale rows in the Kresmion Whale Transactions dataset, 13,802 are self-transfers, which is 86.6% of all BTC rows. The noise is concentrated: as of June 15, 2026, 13,781 of those 13,802 self-transfers are Binance to Binance (14 are OKX to OKX and 7 are Kraken to Kraken), and all 13,802 carry a `direction` of `exchange_outflow`. In other words, the raw outflow column for BTC is almost entirely internal housekeeping, not real withdrawals.
What is left after stripping the noise
Once self-transfers are removed, the genuine BTC tape is one-sided. As of June 15, 2026, the Kresmion Whale Transactions dataset shows 2,126 genuine `exchange_inflow` rows worth roughly $10.07B in notional, against just 1 genuine `exchange_outflow` row. Genuine outflow is effectively absent, so this feed cannot support a balanced inflow-minus-outflow netflow read for BTC. Only genuine inbound flow can be reported, and even that is a flow location, not proven selling.
The rolling 7-day window tells the same story in dollar terms. Across June 9-15, 2026, total BTC whale volume was $2,923,306,023.70 over 1,351 transactions. Of that, $2,086,612,338.62 (71.4%) was self-transfer noise, leaving $836,693,685.08 (28.6%) of genuine flow over 175 transactions. Every dollar of that genuine flow was inbound, recorded as Unknown Whale to Binance, with $0.00 and zero transactions of genuine outbound flow detected in the window.
The absent outbound side is almost certainly a label-coverage gap rather than literal zero withdrawals, which is exactly why this should be read as "detected inbound only," not a true net figure. This is the honesty boundary that separates a usable on-chain read from a misleading one: when one side of the ledger is unobserved, the difference between the two sides cannot be reported as a net number.
Cross-asset: the noise is BTC-specific here
The self-transfer problem is not uniform across assets in this feed. As of June 15, 2026, BTC sits at 86.6% self-transfer, while ETH (2,346 rows, 8 self), USDT (2,075 rows, 7 self), USDC (653 rows, 0 self) and SOL (212 rows, 0 self) are essentially clean of the Binance-loop noise. The implication is practical: a netflow figure must be assessed asset by asset, because the share of housekeeping rows differs by an order of magnitude between chains. Separately, per Kresmion's standing data guidance, ETH whale coverage is treated as dark and is not used for flow conclusions despite appearing clean of self-transfer noise.
How to read a netflow number
Three checks turn a raw netflow figure into something defensible:
- Strip self-transfers first. Drop every row where the sending and receiving labels are the same entity before computing anything. In this BTC feed that alone removes 86.6% of the rows.
- Confirm both sides are observed. A netflow is only a net number when both genuine inflow and genuine outflow are present. With 2,126 inbound rows against 1 outbound, this BTC feed yields "detected inbound only," not a net read.
- Read it as location, not intent. Even clean inbound flow says coins moved to where they *could* be sold; it does not confirm that they were.
Frequently asked questions
What is exchange netflow in simple terms?
Exchange netflow is inflow minus outflow: the coin volume moving into exchange-controlled wallets minus the volume moving out. Positive netflow means more coin arrived than left; negative means more left than arrived.
Does a high exchange inflow mean people are selling?
No. Inflow is a flow location, not proven selling. Coins at an exchange could be used as collateral, settled OTC, rotated between an entity's own sub-accounts, or re-custodied, so a deposit does not confirm intent to sell.
What is whale self-transfer noise?
It is a transaction where the sending and receiving labels are the same entity, such as Binance to Binance. It is an internal wallet reshuffle that crosses no entity boundary and represents zero genuine economic flow. In Kresmion's BTC feed, 86.6% of rows are self-transfers as of June 15, 2026.
How do you strip self-transfer noise from netflow?
Remove every row where the sending label equals the receiving label (`from_label = to_label`) before computing inflow, outflow or netflow. This is a deterministic filter, not an estimate, and in this BTC feed it removes 13,802 of 15,929 rows.
Can you compute a true BTC netflow from this dataset?
Not currently. After stripping self-transfers the BTC feed shows 2,126 genuine inbound rows versus 1 genuine outbound row, so a balanced inflow-minus-outflow figure cannot be calculated. Only detected inbound flow can be reported for BTC as of June 15, 2026.
---
This explainer is from Kresmion Research. It is information about on-chain methodology, not investment advice. Numbers are sourced from the Kresmion Whale Transactions dataset and the cited methodology references; rolling 7-day figures are a snapshot as of June 15, 2026 and shift as new transactions land.
- · https://userguide.cryptoquant.com/cryptoquant-metrics/exchange/exchange-in-outflow-and-netflow
Kresmion publishes information, not investment advice. See our methodology and the latest research notes.
Kresmion is free during beta. A free account makes your watchlist permanent across devices and adds alerts when new signals fire. No card, about 30 seconds.
Start free