Skip to content

AI analysis

Crypto exchange inflows and outflows: read the evidence

A seven-transfer example separates deposits, internal moves and custody, then shows why incomplete labels can reverse an exchange's reported netflow.

Ivory paper ribbons link two ceramic basins inside a circular enclosure and cross a lime-edged opening.
Illustration for ai analysis; examples in this article are educational.

Crypto exchange inflows measure assets transferred into addresses attributed to exchanges; outflows measure assets transferred out. Netflow is inflow minus outflow within the same asset, period and address scope. These movements can reflect deposits, withdrawals, custody or wallet operations. They do not prove that someone bought or sold. Check address labels, internal transfers and coverage before interpreting a flow alert.

Define the boundary before reading the number

An exchange-flow chart starts with an attribution decision: which blockchain addresses belong inside its exchange set? The transactions are observable; the assignment of an address to an exchange requires additional evidence. A missing address can change how a genuine transfer is classified.

CryptoQuant's flow definitions distinguish the amount deposited, the amount withdrawn and their difference. A positive netflow means more units entered than left that defined scope. A negative netflow means the reverse. Neither sign tells you the gross activity: 320 units entering and 110 leaving have the same net result as 210 entering and none leaving.

Check whether the display reports token units, dollar value, transaction count or mean transfer size. These answer different questions. A dollar-valued balance can rise because the token price changed, even without a transfer. A large transfer count can coexist with a small transferred amount. Address counts introduce another distinction, explained in the active addresses versus users guide.

For the calculations below, an inflow crosses from outside a stated address set to inside it. An outflow crosses in the opposite direction. Transfers entirely within the set are excluded from both. This is an explicit teaching convention; check how your provider treats each component before reproducing its chart.

Reconcile seven transfers without inventing trades

The following ledger is hypothetical. It covers one complete UTC day for a fictional fixed-unit token, T, on one chain. All seven transfers are finalized. Fees are paid in another asset; there are no token burns, issuance, rebases or omitted T transfers.

Exchange A controls A-deposit, A-hot and A-cold. Their opening balances are 15 T, 250 T and 735 T, totaling 1,000 T. Exchange B controls B-hot, which starts with 300 T. U and V are external customers; W is an external institution. C is an independent custodian outside the covered exchange set.

Ownership and purposes are stipulated for the example. A production researcher could not establish them merely from these abbreviated sender and recipient names.

RecordTransferAmountStipulated purpose
1U to A-deposit120 TCustomer deposit
2A-deposit to A-hot120 TInternal deposit sweep
3A-hot to A-cold80 TInternal storage move
4A-hot to V70 TCustomer withdrawal
5A-cold to B-hot40 TTransfer between covered exchanges
6W to A-cold200 TInstitutional custody allocation
7B-hot to C30 TTransfer to the independent custodian

For Exchange A, records 1 and 6 are inflows: 120 + 200 = 320 T. Records 4 and 5 are outflows: 70 + 40 = 110 T. Its netflow is therefore 320 − 110 = +210 T, and its closing balance is 1,000 + 210 = 1,210 T.

Records 2 and 3 move 200 T within A. They change where A holds tokens while leaving its combined balance unchanged. Counting every receipt at A's individual addresses would report 520 T received, including those internal moves. That is a different statistic from the 320 T crossing A's boundary. Glassnode documents a separate In-House Exchange Volume series for transfers between wallets of the same exchange.

The custody allocation contributes 200 T to A's measured inflow. The scenario explicitly supplies no trading order for it. Calling all 320 T “coins deposited to sell” would add an intention that the ledger does not contain.

Aggregating venues changes the gross flows

Exchange B receives 40 T from A and sends 30 T to C, leaving a 10 T net inflow and a 310 T closing balance. Now draw one boundary around both exchanges.

ScopeInflowOutflowNetflowClosing balance
Exchange A320 T110 T+210 T1,210 T
Exchange B40 T30 T+10 T310 T
Combined boundary320 T100 T+220 T1,520 T

The 40 T transfer from A to B crosses each venue's individual boundary. It does not cross the combined boundary. Adding the individual gross numbers gives 360 T of inflows and 140 T of outflows; measuring only transfers between the combined set and outsiders gives 320 T and 100 T. Both calculations yield the same 220 T net change under these fixed labels.

This explains why summing venue charts need not reproduce a provider's aggregate gross-flow chart. Establish whether inter-exchange transfers are included, excluded or reported separately. Also check which venues are covered. A movement to an uncovered exchange crosses the observed set even though it may remain within the broader exchange industry.

Our combined opening balance was 1,300 T. The closing check is 1,300 + 320 − 100 = 1,520 T. This reconciliation verifies the fixture's accounting, without answering why the owners transferred anything.

A missing label can reverse the apparent direction

Keep the seven transactions unchanged, but suppose an early dataset recognizes only A-deposit and A-hot as Exchange A addresses. A-cold is unclassified. “Unclassified” means outside the known set; it does not prove independent ownership.

That incomplete set receives 120 T in record 1. It appears to send 80 T outside in record 3 and 70 T outside in record 4. Its measured netflow is 120 − 80 − 70 = −30 T. Record 6 is invisible to that set because neither endpoint is recognized as A.

After A-cold is attributed to A, record 3 becomes internal, record 5 becomes an A outflow, and record 6 becomes an A inflow. The complete set has the previously calculated positive 210 T netflow. No blockchain transaction changed, yet the sign reversed.

Check the balances under each version too. The incomplete set opens at 265 T and closes at 235 T, matching its 30 T decrease. The complete set opens at 1,000 T and closes at 1,210 T. The added cold address held 735 T at opening and 975 T at closing. Its 240 T increase explains the revision from −30 T to +210 T. Adding that label expands both snapshots; it does not mean 975 T arrived when the label was corrected.

CryptoQuant's exchange methodology warning specifically describes apparent outflows that later prove to be internal wallet changes. That documented failure case supports investigating a surprising transfer. It does not authorize labeling any inconvenient outflow as internal without evidence.

Separate custody, balances and execution

Exchange control and trading availability are separate questions. A provider may attribute custody infrastructure to an exchange operator, or distinguish it from trading wallets. You need its actual classification. Glassnode's exchange-metrics methodology discusses institutional custody, changing wallet arrangements and alternative uses of transferred funds, including collateral.

In the fixture, the institution's 200 T remains a custody allocation because the scenario supplies that purpose. In real data, leave purpose unknown when the evidence does not establish it. The same discipline applies to withdrawals: an address outside the exchange set is not automatically a long-term holder or a person taking self-custody.

To establish an executed trade, seek an execution record with instrument, side, quantity, time and price. A transfer record lacks those fields. An exchange's public trade feed can describe market activity without linking a particular deposit to a particular sale.

Nor does an attributed token balance establish solvency. Glassnode's transparency notice separates its on-chain exchange metrics from spot and futures trading volume, and states that its balance data do not include obligations and liabilities. The 1,210 T balance in our example cannot answer whether A can meet all claims against it.

Match adjacent questions to the evidence they need. A transfer into a protocol does not identify the amount retained as income; use the protocol fees versus revenue framework to trace that allocation. If an outflow is actually a staking deposit, the staking ratio and liquid supply guide explains why the staked amount alone does not settle how transferable the resulting claims are.

Use a worksheet before escalating a flow alert

Record these fields for the observation you are investigating. Leave unknowns visible instead of replacing them with an intention.

CheckEvidence to saveFailure it helps detect
Asset and unitsChain, contract or native asset, token units and valuation ruleCombining different assets or price effects
BoundaryProvider, metric ID, covered venues and custody treatmentComparing different address sets
Transfer classificationHashes, endpoints, label evidence and internal/inter-exchange rulesCalling a wallet reshuffle a withdrawal
WindowStart, end, timezone and indexed block rangeComparing partial and complete periods
ReconciliationMatching opening balance, inflow, outflow and closing balanceOmitted movements or changed definitions
Data versionDownload time, label revision notes and available-at timeSubstituting later knowledge into earlier decisions
InterpretationConfirmed purpose, missing purpose and any actual execution evidenceTurning a transfer into an unsupported trade claim

Use fixed token units and one consistent address set when testing the simple balance identity. If it fails, inspect fees in the measured asset, supply-changing token events, missing records, timing and label changes before treating the gap as an economic signal. A provider's filtered flow series may also have a different scope from its balance series.

For historical research, preserve the first observation and later correction separately. Glassnode's point-in-time documentation describes immutable observations intended to preserve what was known then. It also distinguishes computation from publication time, so a computed timestamp alone should not be assumed to be your retrieval time. Verify the relevant series' coverage and actual availability.

Finally, use the stablecoin supply versus liquidity guide when an alert is being presented as immediate buying capacity. Exchange balances and executable order-book depth require different measurements.

The next flow alert should leave you with a checkable statement: which asset crossed which documented boundary, during which complete window, under which label version. Add a claim about buying, selling or future supply only when separate evidence supports it.

Keep the context with the example.

Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.