Best Bitcoin Exchange Reserve Data API for Trading Desks and Risk Teams
We re-measured five widely reported exchange cold addresses eight days apart. They gained 18,143.06 BTC, an apparent 2.70 percent inflow, and four of the five never moved. The whole increase was three sweeps out of one hot wallet that is not on the reserve list, each returning change to the source at an identical 5.03 sat/vB. What to check before you buy reserve data, with vendor API access and pricing verified first-hand.
By the BitcoinDatabase team
August 2026 · 9 min read
Hit Run to query the fully-indexed Bitcoin blockchain.
BTC
30-day trend
informational on-chain data · not financial advice
The short answer
For a trading desk or a risk team, the best Bitcoin exchange reserve data API is whichever one lets you see the address list and the transactions underneath the number, because the number on its own is close to meaningless. We measured five widely reported exchange cold addresses on 16 August 2026 and again on 24 August 2026. They went from 671,622.49 BTC to 689,765.55 BTC, an apparent inflow of 18,143.06 BTC in eight days. Four of the five addresses did not move. The entire increase came from three sweeps out of one hot wallet that is not on the reserve list, with the change returned to that same wallet and an identical 5.03 satoshi per virtual byte fee on each transfer. No bitcoin entered anyone's control. If your desk trades on reserve prints, that is the failure mode to buy against.
Exchange reserve data gets bought for one of two jobs. Either a desk wants an early read on supply moving toward or away from venues where it can be sold, or a risk and treasury team wants to know how much of an exchange's stated holdings it can see on chain from exchange reserve and exchange balance data. Both jobs are legitimate. Both are badly served by a single aggregate line on a chart, and the reason is structural rather than a quality problem at any particular vendor.
A reserve figure is two components multiplied together. The first is arithmetic over the chain, summing unspent outputs at a set of addresses, which is exact and which nobody gets wrong. The second is an attribution list: somebody decided which addresses belong to exchanges. That list is inference, it is almost never published, and it carries essentially all of the disagreement between providers. You are not buying a measurement. You are buying somebody's opinion about ownership, with arithmetic applied to it.
What an eight day re-measurement actually showed
We track the same five addresses across runs specifically so the deltas are comparable, and the first reading of this set explains why those five and not others. The 16 August reading was taken at block 962,803 and the 24 August reading at block 963,839, mined at 09:16:34 UTC. Both readings were cross-checked against a second independent explorer, which agreed to the satoshi on all five addresses, so there is no measurement dispute to argue about here.
| Tracked address | 16 Aug 2026 | 24 Aug 2026 | Change |
|---|---|---|---|
| 3M219KR5vEneNb47ewrPfWyb5jQ2DjxRP6 | 196,082.40 | 214,225.46 | Plus 18,143.06 BTC, 4 txs |
| 34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo | 248,597.59 | 248,597.59 | Plus 0.0022 BTC, 3 txs |
| bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrp... | 130,010.08 | 130,010.08 | No transactions |
| bc1qjasf9z3h7w3jspkhtgatgpyvvzgpa2wwd2lr0e... | 96,932.41 | 96,932.41 | No transactions |
| 1FzWLkAahHooV3kzTgyx6qsswXJ6sCXkSR | 0.0139 | 0.0139 | No transactions |
| All five combined | 671,622.49 | 689,765.55 | Plus 18,143.06 BTC (2.70%) |
Balances are in BTC. The two bech32 addresses are shortened for the table only; in full they are bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97 and bc1qjasf9z3h7w3jspkhtgatgpyvvzgpa2wwd2lr0eh5tx44reyn2k7sfc27a4, so every figure above is yours to check.
Read the table row by row and the aggregate falls apart as a signal. A 2.70 percent eight day increase sounds like a trend. It is one address. Three of the five recorded no activity whatsoever, and the largest address in the set, holding 36 percent of the total, saw three transactions that between them changed its balance by about two thousandths of a bitcoin.
The three transactions that were the whole move
Every satoshi of the increase arrived in three transfers, on 17 August at 21:11:32 UTC, 21 August at 11:47:40 UTC, and 23 August at 21:46:03 UTC. They moved 4,735.68, 5,754.215 and 7,653.163 BTC respectively. A fourth transaction on 19 August moved 546 satoshis, which is the dust threshold and not a treasury operation.
The three real ones share a fingerprint that is hard to read any other way. Each pulled a batch of native SegWit outputs, 37 then 97 then 121 of them, from one single address. Each paid a round number into the cold address we track. Each returned its change to that same source address. And each paid an identical 5.03 satoshis per virtual byte, which is a configured fee policy rather than three independent decisions made in three different market conditions.
The source address is bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h. It holds 8,524.23 BTC across 2,308,660 transactions, which is the shape of a busy deposit and hot wallet rather than anything a person operates. It is on no reserve list we have seen. So one operator moved coins from a wallet nobody was counting into a wallet somebody was counting, and the metric recorded a 2.70 percent inflow for an internal transfer.
Note the reverse case is equally true and less visible. Had the hot wallet been on the list from the start, those three transfers would have netted to zero and the eight days would have looked completely flat. The same chain, the same operator, the same behavior, and two opposite readings depending only on which addresses somebody wrote down.
What to check before you buy exchange reserve data
Five questions, in the order they tend to matter.
Can you see the address list? If not, you cannot audit a print, you cannot reproduce a historical series, and you cannot tell a re-attribution from a real flow. A vendor quietly adding an address to its list produces a step change indistinguishable from a large deposit.
Can you query at a block height rather than a date? Daily sampling turns a single sweep into what looks like a session's worth of flow. The three transfers above landed at 21:11, 11:47 and 21:46 UTC on three different days, and a daily snapshot places each of them wherever the sampling boundary happens to fall.
Do you get the transactions, or only the aggregate? This is the one that separates a data product from a chart. Without the underlying transfers you cannot see input counts, fee rates or change destinations, and those are exactly the fields that showed the move above to be internal.
What resolution does your tier actually include? Several vendors gate block level or intraday resolution well above the entry API tier, so the plan you can afford may only answer daily.
Is API access included at all? Often it is not, at the price you first see.
How the main providers compare
Everything below was checked directly, with the date it was checked. Pricing changes, so treat the dates as part of the fact.
| Provider | Reserve and exchange balance coverage | API access and price when checked | Checked |
|---|---|---|---|
| CryptoQuant | Exchange flows and reserves are its signature product, with the broadest per-venue breakdown of anyone here. This is the category leader for the metric itself | API access starts at Professional, 109 dollars monthly or 99 dollars a month billed yearly, and that tier is day resolution only. Block level API and 800 requests a minute start at Premium, 799 dollars a month, annual only | 16 Aug 2026 |
| Glassnode | Long, well documented exchange balance series with a strong methodology write-up and deep history | The 49 dollar Advanced plan, billed annually, does not include API access. Professional has no published price and states API access is an optional add-on chosen when configuring the plan | 21 Aug 2026 |
| CoinGlass | Exchange balance charts across many venues, widely referenced in trading coverage | Key required. Worth knowing for your error handling: an unauthenticated call to its v4 exchange balance endpoint returned HTTP 200 with a body of code 401 and the message API key missing, so the HTTP status will not tell you the request failed | 24 Aug 2026 |
| Coin Metrics, now Talos | Rigorous, heavily documented network data with a serious research reputation | coinmetrics.io now returns HTTP 301 to talos.com, where there is no published pricing and the only path is a demo request. Documentation remains at docs.coinmetrics.io | 21 Aug 2026 |
| Blockstream Esplora and mempool.space | No reserve product and no attribution at all. Per-address balances only, which is what we used above. Both agreed to the satoshi on all five addresses | Free, no key, undisclosed rate limits enforced with HTTP 429. You supply the address list and the arithmetic yourself | 24 Aug 2026 |
| BitcoinDatabase | No pre-baked venue attribution. Exact balances for any address at any height, the transactions behind every change, and your own address set as a first-class input | REST and SQL over the indexed chain. SQL is available from the Growth plan and up and costs more credits than a REST lookup | 24 Aug 2026 |
The honest summary is that CryptoQuant and Glassnode will give you a better ready-made reserve series than we will, because building and maintaining venue attribution is most of their product and none of ours. If what you want is a chart of exchange balances per venue tomorrow morning, buy one of those. What they will not give you is the address list, and therefore the ability to audit a print like the one above. Those are different purchases and it is worth being clear which one you are making.
Why reserves and proof of reserves are not the same thing
These get conflated constantly, including in coverage that should know better. Exchange reserves is an outside estimate of what a set of addresses appears to hold, assembled by people with no access to the exchange. Proof of reserves is something the exchange itself performs, typically signing messages from addresses it controls and publishing a cryptographic commitment to customer balances so that individual customers can check their inclusion.
The practical difference is liabilities. Reserves counts assets and stops. Proof of reserves is an attempt, imperfect and usually unaudited, to show assets against what is owed. A venue can have rising reserves and deteriorating solvency at the same time, and no amount of address watching will reveal that. Treat a reserve number as a supply observation, never as a solvency signal.
Building the series yourself
If you have decided you want the address list under your control, the work is smaller than it sounds. You need per-address balances at arbitrary block heights, the transactions that changed them, and a place to keep your own attribution set so it can be versioned and reviewed. That is a query problem rather than an infrastructure problem once the chain is already indexed, which is what SQL access over the Bitcoin chain is for.
The operational discipline that matters more than the tooling is treating your attribution list as a dataset with its own change history, because a list edit and a market move produce the same shape in the output. Teams that already run freshness and anomaly monitoring over their data pipelines tend to catch this quickly, since an unexplained step change in a series is exactly the pattern that tooling is built to flag. Everyone else finds out when somebody trades on it.
From there, the same joins that produce a reserve total, or an exchange inflow and outflow series, also produce the checks that keep it honest: input counts and change destinations to spot internal sweeps, fee rates to spot automated treasury scripts, and coin age to separate long-held supply from coins that arrived last week.
What we would tell a desk buying this week
Buy the ready-made series if you need coverage across many venues and you accept the attribution on trust. Buy the underlying data if a reserve print can move a position, because then you need to be able to answer the question the aggregate cannot: was that a deposit, or was that somebody's treasury script tidying up on a Sunday evening at 5.03 satoshis per virtual byte.
Most desks eventually want both, and the sequencing matters less than knowing which number you are looking at. What does not work is treating a single reserve line as a clean measurement of supply on exchanges. It is an opinion about ownership with arithmetic on top, and the arithmetic was never the uncertain part.
This is informational on-chain data and analytics. Nothing here is financial, investment or trading advice.
Query the Bitcoin blockchain yourself
Pull balances, UTXOs, transactions, on-chain metrics and fund flows from the fully indexed Bitcoin blockchain by REST API, SQL and dashboards. Indexed since 2009, new blocks within seconds, no node to run.