Proof of Reserves | What It Means, Binance Reserves, How to Verify Your Balance, Merkle Tree
Proof of reserves is an exchange checking, at one moment, that the coins in its wallets cover the balances in its ledger. You can confirm that your own balance was on that ledger. It cannot show borrowed coins, pledged coins or debts kept off the list.
For this guide we read the official PoR pages, APIs and GitHub tools of the big exchanges side by side. We built a test Merkle sum tree to see how cheating would show up. We also added up Binance’s public bitcoin addresses one by one. Where a page would not open, or a figure came from press reports, we say so.
In this guide (12)
Proof of reserves meaning: was your balance counted, or is there enough?How to verify your balance in a proof of reserves reportHow a proof of reserves Merkle tree checks your balanceCan a Merkle tree hide a fake negative balance?Could an exchange leave accounts out of the tree?Reserve ratio explained: is 100% enough?Proof of reserves list for Binance, OKX, Bybit, Bitget, KuCoin, Gate and KrakenDoes Coinbase have proof of reserves? Did FTX?Is proof of reserves an audit? What it cannot showBinance reserves falling in the news: how to read itBinance bitcoin reserves we added up ourselvesMy take on proof of reserves
Proof of reserves meaning: was your balance counted, or is there enough?
Proof of reserves (PoR) is an exchange matching its ledger against its wallets at one moment. The ledger is what it owes users. The wallets are the coins it holds on the blockchain. You can check that your own balance was on that ledger. It cannot show borrowed money, pledged coins or debts kept outside that ledger.
People usually arrive with one of two questions. Was my balance counted? Or does the exchange have enough to pay everyone back? Those are different tests. You can run the first one yourself in a few minutes. A PoR report answers the second one only in part.
The balance in your app is an entry in the exchange’s books. Your coins are pooled with everyone else’s in wallets the exchange controls. So the report has two sides. The liabilities are all user balances added up, meaning what the exchange owes. The reserves are the coins sitting in the exchange’s own addresses.
Both sides are compared coin by coin at a set time called the snapshot. The result for each coin is its reserve ratio. A ratio of 100% means one coin held for every coin owed.
View full size ↗Don’t confuse this with exchange reserves, the chart you see on on-chain analytics sites. It tracks coins in an exchange’s known wallets and has no liabilities side. So a headline saying exchange reserves dropped is not a proof of reserves result.
How to verify your balance in a proof of reserves report
To verify your balance on Binance, log in on the website and open Profile › Wallet › Verification. Pick the entry marked “Merkle Tree + Zksnarks” and choose Download Merkle Tree. Other exchanges have a similar page. The check tells you whether your balance was on the ledger at the snapshot.
Your account appears in the data as a Record ID, also called the AccountIdHash. The download includes a file just for you, user_config.json. Binance’s open-source verifier on GitHub rebuilds your path from it and compares it with the published root. Binance’s help page only covers the website, so the app may label things differently.
On OKX, the route is okx.com/balance/audit › Details › Copy data. OKX’s zk-STARK Validator then checks that data. On Bybit, it is “Verify My Account” and then “Copy Data”, which saves myProof.json. Bybit’s help page did not open for us, so those names come from a search summary.
On Kraken, go to the account icon › Proof of Reserves › Verify yourself. Bitget has a “My proof of assets” button. Gate offers Download Merkle Tree and Download User Config. KuCoin has a verify button too, but we could not confirm its English label.
If you can’t find your account, timing is the usual reason. If you signed up or deposited after the snapshot, that report will not include it. An empty account can be left out too. KuCoin’s Hacken report says it only counts balances above zero. We did not find the same wording from other exchanges.
Some reports cover only a few coins, so your other holdings will not appear. Your app balance can also differ from the snapshot figure because of margin debt or loans. If you still can’t find your account, Binance’s help page links to a feedback form.
Finding your leaf means you were on the ledger at the snapshot. It does not promise you can withdraw. The quickest way to see how this works is to try the check once on an exchange that publishes the steps, such as Binance below. It shows you how the proof works. It does not tell you the exchange is safe.
CRYPTONAKTA
Binance
Affiliate disclosure: some links are partner links. We may earn a commission at no extra cost to you. This is not investment advice.
How a proof of reserves Merkle tree checks your balance
In proof of reserves, a Merkle tree lets you confirm your own balance without seeing anyone else’s. The exchange gives you your entry and one neighbor at each level. You combine them step by step up to the top. If you end up with the published top value, your balance was counted.
Each user is a leaf holding a balance and a scrambled ID only they can match. Leaves pair up into nodes, and the pairs keep combining until one value is left, the root. In a Merkle sum tree, each parent also carries the sum of its children’s balances. So the root carries the total owed to all users.
View full size ↗We built our own test tree with random balances to see how long the proof gets. It is not real exchange data. With 1,000 users the check takes 10 steps. With 300 million users it takes 29.
| Users in the tree | Steps to check your own leaf |
|---|---|
| 1,000 | 10 |
| 1 million | 20 |
| 10 million | 24 |
| 100 million | 27 |
| 300 million | 29 |
Our own test Merkle sum tree with random balances, built for this article. Not real exchange data. We built a 1,048,576-user tree: one proof was 20 steps and 800 bytes.
Bitget’s real tree had 24 levels in the round we looked at. That matches our test tree at 10 million users. The proof stays short either way. The weak spot is that a tree can only prove what the exchange put in it.
Can a Merkle tree hide a fake negative balance?
Yes, a plain Merkle tree can hide one fake account with a negative balance. That account shrinks the total the exchange says it owes. Only users whose path runs near it would see a minus sign. A zero-knowledge proof closes that gap by proving every balance is zero or more.
We tested this in our own test tree with random balances. It is not real exchange data. One fake account hid 1% of the liabilities in a tree of 262,144 users. Only 4,095 users could see a negative number in their own proof. Everyone else’s check passed, including all 200 random users we tried.
| Liabilities hidden by one fake negative account | Negative nodes in the tree | Users who could see a negative number |
|---|---|---|
| 0.01% | 6 | 63 (0.024%) |
| 0.1% | 9 | 511 (0.19%) |
| 1% | 12 | 4,095 (1.56%) |
| 5% | 14 | 16,383 (6.25%) |
| 20% | 16 | 65,535 (25%) |
Our own test Merkle sum tree with random balances, built for this article. Not real exchange data. Tree of 262,144 users. Everyone else saw “verified”.
Vitalik Buterin flagged this in 2022. When few people check, the trick has decent odds of passing. He wrote that the exchange “would have to hope that nobody in the entire right half of the tree checks their balance proof.”
A fake account with a negative balance stays hidden from most users in a plain Merkle tree. That is the job of the zero-knowledge proof. Besides ruling out negative balances, it shows they add up to the stated total, without revealing anyone’s balance.
OKX uses a zk-STARK proof, and Gate and Binance use a zk-SNARK. Binance’s version also checks that each user’s collateral covers their debts. Bitget publishes a Merkle sum tree, and we found no zero-knowledge proof there. Binance’s GitHub notes say its design makes a dummy-user attack detectable, which is not the same as impossible.
Could an exchange leave accounts out of the tree?
Yes, an exchange could leave real accounts out of its tree, and only users who check would notice. In our own test tree (not real exchange data), with 1% of accounts dropped, it takes 299 random checkers for a 95% chance that someone notices.
View full size ↗A dropped account makes the liabilities smaller, and its owner finds no leaf. Everyone else’s check passes. With 1% left out, 69 checkers give even odds of catching it. With 0.1% left out, you need 693 for even odds and 2,995 for 95%.
| Share of accounts left out | Random checkers for a 50% chance of catching it | For a 95% chance |
|---|---|---|
| 0.1% | 693 | 2,995 |
| 1% | 69 | 299 |
| 5% | 14 | 59 |
| 10% | 7 | 29 |
Our own test Merkle sum tree with random balances, built for this article. Not real exchange data.
There is a catch, and it favors the cheater. A cheater would drop small, idle accounts whose owners never log in. In our test tree the smallest 10% of accounts held only 0.074% of liabilities. The largest 1% held 33.4%, so a check by one big holder covers far more money.
And few users check at all. In the Bitget round we looked at, a few hundred people did, out of millions of records. The calculator in the next section reruns this test with your own numbers.
Reserve ratio explained: is 100% enough?
A reserve ratio is the coins an exchange holds divided by the coins it owes users, worked out for each coin. A BTC ratio of 100% means one bitcoin held for every bitcoin owed at the snapshot. Read the ratio for the coin you hold, not the overall figure.
A total ratio mixes coins together. Bitget’s total ratio uses only BTC, ETH, USDT and USDC. Inside one Bitget report, ETH stood at 162% and USDT at 105%. So look at the ratio for the coin you actually hold, such as the stablecoin you keep there.
A ratio far above 100% can mean the company’s own money sits in the same addresses. It can also mean so few users hold that coin that small amounts swing the ratio. We cannot tell which from outside. A ratio above 100% does not mean the exchange is safe, and it says nothing about debts beyond the user list.
Watch for the exchange’s own token, the coin it issued itself. OKX counts OKB among its 21 reserve assets, and Gate’s notice lists GT at 106.76%. When an exchange counts its own token in the reserves, the ratio can look better than it is. DefiLlama lists own tokens separately from the other assets.
The calculator above can count the own token as zero for you. Take a made-up report at 120% where the exchange’s own token is 15% of the counted assets. The ratio drops to 102%. That assumes the token sits inside the assets behind the ratio, which is not true of Bitget’s four-coin total.
Proof of reserves list for Binance, OKX, Bybit, Bitget, KuCoin, Gate and Kraken
Binance, OKX, Bitget, KuCoin, Gate and Kraken publish proof of reserves reports you can check against your own account. Bybit and MEXC publish them too, but their official pages did not open for us, so their rows lean on press reports.
We opened each exchange’s official PoR page and API ourselves on November 5, 2026 to fill this table. Cells with an asterisk come from press reports or search summaries.
| Exchange | Method | How often | BTC reserve ratio | Check your own balance (screen names) | Snapshot date |
|---|---|---|---|---|---|
| Binance | Merkle tree + zk-SNARK | Monthly, snapshot on the 1st | States “at minimum 1:1” (per-coin figures not machine-readable) | Profile › Wallet › Verification › Download Merkle Tree (log in; Record ID) | Nov 4, 2026 |
| OKX | Merkle tree + zk-STARK | Monthly | 108% | okx.com/balance/audit › Details › Copy data | Nov 1, 2026 |
| Bybit | Merkle tree; checked by Hacken* | Monthly* | 104%* | Proof of Reserve page › Verify My Account · Copy Data (myProof.json)* | Sep 23, 2026* |
| Bitget | Merkle sum tree (no zk proof) | Monthly | 113% | Proof of Reserves page › My proof of assets | Oct 21, 2026 |
| KuCoin | Merkle tree; monthly Hacken report | Monthly | 112% | Verify button on the PoR page (name varies by language) → Merkle path file | Oct 31, 2026 |
| Gate | Merkle tree + zk-SNARK | Not found in official sources | 121.6% | Audit page › Download Merkle Tree · Download User Config | Oct 18, 2026 |
| Kraken | Merkle tree + signatures, run by an outside accountant | “Regular cadence” | 102.9% | Account icon › Proof of Reserves › Verify yourself | Jun 30, 2026 |
| MEXC | Merkle tree*; checked by Hacken* | Monthly* | 294%* | My Proof of Reserves* | Oct 2026* |
| Coinbase | Uses audited public-company financial statements instead* | n/a | n/a | n/a | n/a |
The date column is the snapshot time each exchange states for its latest report, not a live figure. Ratios move from one report to the next. * Cells marked with an asterisk come from search-result summaries or press reports. The official pages did not open for us (403 errors, time-outs or pages drawn by script).
Read each row as of its snapshot date. Binance’s PoR page draws its per-coin ratios with a script we could not read, so we do not quote them. Its notices say reserves are “at minimum 1:1.” We found no stated schedule for Gate, and MEXC’s figures come from a sponsored press release.
Kraken’s review is run by an outside accountant. OKX signs each address with the message “I am an OKX address.” The four exchanges below publish the steps and tools if you want to try a check yourself. Listing them here says nothing about how safe they are.
OKX
Bybit
KuCoin
Gate.io
Affiliate disclosure: some links are partner links. We may earn a commission at no extra cost to you. This is not investment advice.
Does Coinbase have proof of reserves? Did FTX?
Coinbase does not publish a Merkle-tree proof of reserves. Coinbase takes a different route: as a listed company, it points to its audited financial statements. As for FTX, we found no record that it published a Merkle proof of reserves before it collapsed.
| Exchange | Proof of reserves? | Method | Evidence |
|---|---|---|---|
| Binance | Yes | Merkle tree + zk-SNARK | A/C |
| OKX | Yes | Merkle tree + zk-STARK | A |
| Bybit | Yes* | Merkle tree; checked by Hacken* | A/B |
| Kraken | Yes | Merkle tree + signatures, run by an outside accountant | A |
| KuCoin | Yes | Merkle tree; monthly Hacken report | A |
| Coinbase | No Merkle-tree PoR* | Uses audited public-company financial statements instead* | B/C* |
| FTX | No evidence it ever published one* | n/a | B/C* |
* Cells marked with an asterisk come from search-result summaries or press reports. The official pages did not open for us (403 errors, time-outs or pages drawn by script). Evidence: A = we read the official page, API or repository ourselves; B = only a search summary or press report; C = no official source found. A/B or A/C means the row mixes them.
Secondary sources say Coinbase lists customer crypto next to a liability of the same size in its filings. We could not open Coinbase’s own page to confirm. That approach covers the whole company, but it does not let you find your own balance in a tree.
FTX is a big reason exchanges publish these reports at all. Press reports say FTX US had a financial audit, which is a different kind of check. Reports at the time showed its sister firm Alameda holding FTX’s own FTT token as a big share of its assets. As customers rushed to withdraw from FTX in November 2022, Binance’s then chief executive posted “Banks run on fractional reserves. Crypto exchanges should not.”
Kraken says it ran the first cryptographic proof of reserves in March 2014 with an outside auditor. Even earlier, in 2011, Mt. Gox showed its holdings by moving 424,242 BTC to an address it had announced in advance. Crypto.com’s page still shows a Mazars report from a December 2022 snapshot. So check the date on any report you read.
Is proof of reserves an audit? What it cannot show
Proof of reserves is not an audit. It only matches user balances against exchange wallets at the snapshot. It cannot show money the exchange borrowed, coins pledged somewhere else or debts outside the user list.
View full size ↗A financial audit covers the whole company, from income to every debt. A PoR report covers one list of user balances and one set of wallets. Some accounting firms call this kind of check an attestation, a narrower report on one set of figures. Mazars paused this work in December 2022 over “concerns regarding the way these reports are understood by the public.”
Hacken’s KuCoin report says it “should not be considered a comprehensive financial audit.” The liabilities side covers only the user list the exchange hands over. Company loans, pledged assets and borrowed money do not show up.
Kraken spells out its own limits. The first is borrowed coins, or coins pledged elsewhere. Its review “cannot identify any hidden encumbrances or prove that funds had not been borrowed for purposes of passing the review.”
The second is keys. Someone else could hold copies of the same private keys, and the report cannot rule that out. In Kraken’s words, the review “cannot prove exclusive possession of private keys.”
If coins leave the wallets after the snapshot, that report has no way of knowing. The wallet side also counts only addresses the exchange disclosed. Glassnode calls its tracker data “plainly the sum of coins held in addresses officially communicated by exchanges.”
Proof of reserves does not stop a hack either. Exchanges that published regular reports have still been hacked, as our list of crypto exchange hacks shows. If an exchange fails, see what happens if a crypto exchange goes bankrupt.
Binance reserves falling in the news: how to read it
When a headline says Binance reserves are falling, first check whether it counts coins or dollars. A falling bitcoin price shrinks the dollar total even when the coin count stays flat. Then check whether the number comes from proof of reserves or from an on-chain tracker.
Coin counts are the number to watch. Exchange reserves charts have no liabilities side, so a drop there only tells you coins moved. A tracker’s number is the sum of wallets the exchange pointed to. It is not the official reserve figure.
Address lists change too. Binance has added newly generated wallets to its PoR address list. A list you saved earlier will now give the wrong total. So pull the list fresh from the exchange’s PoR page.
The same exchange can swing from month to month. Bitget’s total ratio went from 131% in one round to 115% in the next. Both were above 100%. A headline total can also include the exchange’s own token, whose price moves on its own.
Binance bitcoin reserves we added up ourselves
We added up the balance of every bitcoin address in Binance’s public PoR list and got 631,901.84 BTC. That was on November 5, 2026, 04:22 UTC. The figure covers bitcoin addresses only. It is not Binance’s official reserve number.
Binance’s address API listed 708 addresses across 48 networks. Of those, 84 were bitcoin addresses, and we checked each on blockstream.info. The top 10 held 90.6% of the bitcoin, and 22 were empty.
| What we checked | Result |
|---|---|
| Addresses in Binance’s public PoR list | 708 |
| Networks in that list | 48 |
| Of those, Bitcoin addresses | 84 |
| BTC we added up ourselves | 631,901.84 BTC |
| Share held by the top 10 addresses | 90.6% |
| Bitcoin addresses with a zero balance | 22 |
| BTC in addresses marked Ceffu (third-party custodian) | 7,031.5 BTC |
| DefiLlama’s Binance BTC figure | 634,235.2 BTC |
| Binance’s own BTC figures for its Aug 1, 2026 snapshot (held / owed to users) | 658,293 BTC / 656,644 BTC* |
Checked on November 5, 2026 against blockstream.info, one address at a time, with no failed lookups. The PoR list also contains addresses on other chains, so this Bitcoin-only sum is not a shortfall figure. * Cells marked with an asterisk come from search-result summaries or press reports. The official pages did not open for us (403 errors, time-outs or pages drawn by script).
DefiLlama’s Binance figure was 634,235.2 BTC the same day. Press reports quoted Binance’s own August 1, 2026 snapshot at 658,293 BTC held. The gaps are not a shortfall. The numbers come from different times, and Binance’s list includes bitcoin-labeled assets on other chains.
About 7,031.5 BTC sat in addresses marked Ceffu, a third-party custodian that holds coins for Binance. For OKX, the official BTC reserve was 169,755.8 BTC while DefiLlama counted 154,876.3 BTC. For Bitget the tracker came out higher.
| Exchange | BTC reserves, official figure | BTC tracked by DefiLlama | Official snapshot |
|---|---|---|---|
| Binance | 631,901.84 BTC | 634,235.2 BTC | Nov 5, 2026 |
| OKX | 169,755.8 BTC | 154,876.3 BTC | Nov 1, 2026 |
| Bitget | 30,762.12 BTC | 31,745.1 BTC | Oct 21, 2026 |
| KuCoin | 8,428.4 BTC | 8,137 BTC | Oct 31, 2026 |
For Binance the reserves column is our own sum of its public Bitcoin addresses, because the per-coin figures on its PoR page could not be read by machine. Third-party trackers only count addresses an exchange has disclosed, so they can come out higher or lower than the official figure.
If you count Binance’s own token, it makes up 16.4% of the assets DefiLlama tracks for Binance. The table is alphabetical and is not a ranking.
| Exchange | Share of tracked assets if its own token is counted | BTC tracked by DefiLlama |
|---|---|---|
| Binance | 16.4% | 634,235.2 BTC |
| BingX | 0% | 2,001.3 BTC |
| Bitget | 9.2% | 31,745.1 BTC |
| Bybit | 3.4% | 64,069.9 BTC |
| Gate | 15.7% | 19,929.1 BTC |
| HTX | 0.3% | 7,686.7 BTC |
| KuCoin | 16.4% | 8,137 BTC |
| MEXC | 10.4% | 11,789.5 BTC |
| OKX | 4.5% | 154,876.3 BTC |
DefiLlama figures on Nov 5, 2026. It only adds up wallets that exchanges have disclosed, and it lists the exchange’s own token separately. This is not a ranking of risk.
Bitget’s API shows how many people actually check. In its October 21, 2026 round, 295 users verified their own balance out of 9,112,434 records.
| Bitget snapshot | Total reserve ratio (BTC · ETH · USDT · USDC) | Records in the tree |
|---|---|---|
| Oct 21, 2026 | 115% | 9,112,434 |
| Sep 29, 2026 | 131% | 9,078,589 |
| Sep 15, 2026 | 135% | 9,062,702 |
| Aug 20, 2026 | 122% | 47,052,070 |
| Jul 20, 2026 | 122% | 46,768,891 |
| Jun 15, 2026 | 123% | 46,363,291 |
From Bitget’s public PoR API. The total ratio is computed over four assets only.
Records fell from about 47 million to about 9 million between the August and September rounds. We found no official reason, so we read nothing into it.
After its security incident at the end of October 2026, Binance took snapshots outside its monthly schedule. Our guide to the Binance withdrawal pause covers what happened. The October 31, 2026 snapshot covered 10 coins, and Binance announced its zk proof as complete on November 2, 2026. The November 4, 2026 snapshot covered 44 coins, and when we checked, Binance said its zk proof was still being generated.
My take on proof of reserves
My take: proof of reserves is worth checking, and it is easy to read too much into. The check is short, and very few people run it. A ratio above 100% is a starting point that leaves out every debt beyond the user list.
Running the numbers showed me three things. A fake negative account goes unseen by almost everyone in a plain tree. Official and tracker numbers differ on the same day. One exchange’s total ratio dropped sixteen points from one round to the next.
When I open a PoR page, I check the ratio for my coin first. Then I look for my balance in the tree, then the snapshot date, then the own token. I’m wary of rankings by ratio and of snapshot checks described as audits. I’m just as wary when tracker totals get quoted as the exchange’s own figures.
In fairness, an exchange with a PoR gives you something to check. One without it gives you nothing. Still, exchanges have paused withdrawals while publishing regular reports. So I keep coins I am not trading in my own wallet, as our guide to crypto wallets explains.
For larger amounts, see what a hardware wallet protects. PoR is also one line in our checklist on how to tell if a crypto exchange is legit.
A disclosure before the card. This site uses exchange referral codes, and when you sign up with ours we earn a commission. On Binance, 10% of the spot fees you pay comes back to you in USDC. Our Binance referral code guide and Binance fees guide explain how that works.
Binance
Affiliate disclosure: some links are partner links. We may earn a commission at no extra cost to you. This is not investment advice.
Proof of reserves questions people ask
- Binance FAQ · How to Verify Your Account Balance on Binance? · checked 2026-11-05
- Binance on GitHub · zkmerkle-proof-of-solvency · checked 2026-11-05
- Binance announcement · New PoR snapshot with expanded coverage · checked 2026-11-05
- OKX · Proof of Reserves · checked 2026-11-05
- OKX on GitHub · proof-of-reserves (zk-STARK validator, address signatures) · checked 2026-11-05
- Bitget · Proof of Reserves · checked 2026-11-05
- KuCoin · Hacken monthly Proof of Reserves report (PDF) · checked 2026-11-05
- Gate announcement · Latest Proof of Reserves report · checked 2026-11-05
- Bybit on GitHub · merkle-proof validator · checked 2026-11-05
- Kraken · Proof of Reserves (limitations stated by Kraken) · checked 2026-11-05
- Vitalik Buterin · Having a safe CEX: proof of solvency and beyond (2022) · checked 2026-11-05
- Glassnode Research · Proof of Reserves (method and limits) · checked 2026-11-05
- CNBC · Mazars suspends work with crypto clients (2022) · checked 2026-11-05
Not financial advice. Exchange screens differ by region and app version, so check the official page before you act.
Next step: keep the coins you are not trading in your own wallet









