BitcoinDatabase.com

Query the chain · Exchange flows

Bitcoin exchange flows API for inflows, outflows and net flow

Exchange flows measure how much bitcoin moves into and out of exchange wallets over a window of time. Inflows are coins arriving at exchange-labeled addresses, outflows are coins leaving them, and net flow is the difference. The Bitcoin exchange flows API computes these from the fully-indexed chain: BitcoinDatabase labels the addresses that cluster to known exchanges, then sums the confirmed value crossing that boundary so you get inflow, outflow and net flow without reconstructing it yourself.

or try it below ↓

REST API · SQL · dashboards · indexed from genesis

Query Console
btc
try:

Hit Run to query the fully-indexed Bitcoin blockchain.

BTC

30-day trend

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Querying the indexed Bitcoin blockchain ...

Pull the numbers over REST for a dashboard, or run SQL to slice net flow by exchange, by day, or against a price series you join in. Because the labels and the raw transactions live on the same indexed chain, you can drill from an aggregate straight down to the individual transactions behind it. This is informational on-chain data and analytics for research and monitoring, not a trading signal and not investment advice.

REST API SQL DASHBOARDS WEBHOOKS CSV EXPORT

Indexed from genesis queryable in seconds

On-chain data not financial advice

Why it works

What you get with Exchange flows

Inflow, outflow and net

Get coins arriving at exchange wallets, coins leaving them, and the net of the two for any window, all computed from confirmed transactions crossing labeled exchange boundaries on the indexed chain.

Drill to the transactions

An aggregate is only useful if you can check it. Every flow number traces back to the individual labeled transactions behind it, so you can verify, audit or investigate a spike rather than trust a black box.

Join flows to anything

Because flows, entity labels and raw transactions share one schema, in SQL you can group net flow by exchange, roll it up by day, or join it against historical market data you already query here.

What it handles

The indexed Bitcoin chain, queryable your way

Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.

  • Compute inflow, outflow and net flow by window
  • Break flows down by individual exchange
  • Trace any aggregate to its underlying transactions
  • Join net flow against historical market data
  • Feed flow metrics into research dashboards
GET /v1/address/{addr} query result
200 · JSON
{
  "address": "bc1qxy2k…l0wdv8",
  "balance_btc": 68432.10,
  "balance_usd": 4612165420,
  "tx_count": 1284,
  "unspent_outputs": 37,
  "first_seen": "2014-02-09"
}
indexed from genesis · to the satoshi ✓ reconciled block-by-block

Why BitcoinDatabase

One platform, queryable three ways

Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.

REST API

Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or any HTTP client.

SQL access

Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.

Compliance-first

Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.

Good questions

Questions about Exchange flows

Exchange flows measure bitcoin moving between the open chain and exchange wallets: inflow is value arriving at exchange-labeled addresses, outflow is value leaving them, and net flow is inflow minus outflow. BitcoinDatabase computes them from labeled addresses on the fully-indexed chain.
No. Exchange net flow is an informational on-chain metric that describes how coins are moving relative to exchange wallets. BitcoinDatabase provides the data and analytics only; it is not a trading signal, financial advice or a guarantee of any market outcome.
It is the total balance of the addresses a data provider believes an exchange controls, computed from the public chain. Bitcoin has no field marking an output as belonging to an exchange, so every reserve figure in existence is a sum over an inferred address list. The balances are exact. The list is a judgment call, and it is the part that decides the answer.
Because they are summing different address lists, and both can be arithmetically correct. Providers differ on which addresses they attribute to an exchange, on when an address enters or leaves the list, and on whether movements between an exchange own wallets count as flow. Any of the three moves a chart without a coin changing owner.
Heavily, which makes reserve deltas fragile. On 16 August 2026 at block height 962,803 we measured five widely reported exchange cold addresses holding 671,622.49 BTC between them. A single address held 248,597.59 BTC, or 37 percent of the set, and the top four held 99.99 percent. Adding or dropping one address moves a reserve series by more than most real flows do.
It depends on the provider, and you should ask. When an exchange consolidates UTXOs or rotates cold storage, coins move from a labeled address to one the provider may not have attributed yet. The chain records an outflow and nothing actually left the exchange. This is the same double-counting that inflates raw transaction volume, and the fix is netting movements inside a labeled set rather than summing every crossing.
Yes, and for anything load-bearing you should. You can supply your own address set and compute inflow, outflow and net flow against it in SQL, rather than accepting a vendor list you cannot inspect. That also lets you re-run a historical series after an attribution changes, which is the step that reveals whether a past spike was a real flow or a relabeling.

Explore more

More ways to query Bitcoin with BitcoinDatabase

Stop running a node. Just query Bitcoin.

Run your first query now and get on-chain data back by REST API, SQL or dashboard, indexed from the genesis block. Informational on-chain data only, not financial advice.

See pricing

Indexed from genesis · REST · SQL · dashboards · addresses, transactions, UTXOs, metrics