On 24 September 2026, hackers took $387.5 million from Bitget’s hot and warm wallets. Five days later, Bitget posted a fresh proof of reserves snapshot with an overall reserve ratio of 131%, Crypto Briefing reported. For users asking “is my money still there?”, that page was the fastest answer the exchange could give.
That is the job proof of reserves does. It shows that an exchange holds at least as much crypto as it owes users, and it lets each user check that their own balance was counted. Since FTX failed in November 2022, users, partners and some regulators have come to expect it.
This guide explains how it works, what it cannot prove and how to build it into a new exchange, with a worked example and the 2026 rules.
In this guide:
- Two halves: Proof of reserves pairs a proof of liabilities (a Merkle sum tree of user balances) with a proof of assets (signed proof that you control the wallets).
- Per coin, not in total: A strong total can hide a coin that is only 92% backed. Report every coin on its own line.
- zk proofs close gaps: Binance (February 2023) and OKX (April 2023) added zero-knowledge proofs to show no negative or fake balances hide in the tree.
- It is not an audit: The PCAOB warned in March 2023 that these reports say nothing about loans, debts or controls.
- Monthly is the norm: OKX reached its 48th report in October 2026. Plan a monthly snapshot from launch.
What Is Proof of Reserves?
Proof of reserves (PoR) is a public check that a custodial exchange holds enough assets to back every user balance, one to one or better. It has two halves, and you need both:
- Proof of liabilities: What the exchange owes users. It commits every user balance to a Merkle tree and publishes one short code, the root hash. Each user can check that their balance sits inside it.
- Proof of assets: What the exchange holds. It proves control of a set of wallet addresses, usually by signing a message with the keys, and shows their balances on chain.
Divide assets by liabilities and you get the reserve ratio for each coin. 100% means every unit users own is backed. Above 100% means the exchange holds a buffer of its own coins on top.
Gate began publishing proof of reserves in 2020, but the big wave came after FTX, when Binance, OKX, Bybit, Bitget and others put up reserve pages within weeks.
Proof of Reserves vs Proof of Solvency vs an Audit
| Check | What it shows | What it misses |
| Proof of reserves | User balances are backed by coins in known wallets at one moment | Loans, bills and other debts; anything after the snapshot |
| Proof of solvency | Total assets exceed all liabilities, not only user balances | Still a snapshot; rarely done in full today |
| Financial audit | An opinion on the whole company’s accounts | Slow, and often months old when published |
How Proof of Reserves Works, Step by Step
Step 1: Take a Snapshot of the Ledger
First, the exchange freezes a copy of its internal ledger at a set time or block height. The snapshot lists every user and their net balance in each coin, after margin debt, loans and collateral. If a user borrowed 1 BTC against 30,000 USDT, both sides belong in the record.
Step 2: Build a Merkle Sum Tree of Liabilities
Next, each user record becomes a leaf. In a plain Merkle tree, a leaf is a hash of the user’s ID and balance. In a Merkle sum tree, each node also carries the sum of the balances below it, so the root holds both a hash of everything and the grand total owed.

The sums matter. Vitalik Buterin showed in his 2022 essay on proof of solvency that a plain tree can hide a fake account with a negative balance, which shrinks the total the exchange appears to owe. In a sum tree, a negative node breaks the math for every user on its path, so any of them who checks would spot it.
To protect privacy, hash each leaf with a secret known only to that user, and shuffle the leaf order for every snapshot.
Step 3: Prove the Wallets (Wallet Attestation)
Now the exchange proves it controls enough coins. There are three common ways:
- Signed messages: Sign a set message, such as “Exchange X controls this address on 30 September 2026”, with each wallet’s key. Bitcoin uses the BIP-322 signed message format, and Ethereum-style chains use standard signed messages. Anyone can check the signature.
- Reserve transactions: On Bitcoin, BIP-127 defines a transaction that proves control of coins but can never be broadcast, so nothing moves.
- Small test transfers: Move a tiny amount from each wallet at an agreed time. Simple, but it costs fees.
Cold wallets are the hard part, because each signature needs keys that sit offline or behind MPC or multisig approvals. So plan a signing ceremony for every snapshot, with the same controls you use for withdrawals. Coins held at a custodian need a signed balance letter from that custodian.
Step 4: Compare Assets With Liabilities
Then divide the wallet balance of each coin by what users are owed in that coin: 10.8 BTC held against 10 BTC owed is 108%. Do this per coin, as OKX’s reserve page does, with BTC at 110%, ETH at 100% and USDT at 105% in its 48th report.
Step 5: Publish, Then Let Users Check
Finally, publish the root hash, the total owed per coin, the signed wallet list, the ratios and the snapshot time. Each user then runs an open source verifier that rebuilds the path from their leaf to the root. If it matches, their balance was counted.
Merkle Tree vs zk-SNARK Proof of Reserves
A Merkle sum tree has two weak spots: each user proof leaks a few partial sums, and it only works if enough users check. Zero-knowledge (zk) proofs fix both.
With a zk proof, the exchange runs a program, called a circuit, over every leaf. The circuit proves three things without showing any balance: every balance is zero or more, the leaves add up to the stated total, and the root was built from those leaves. Anyone can verify the proof in seconds.
- Binance added zk-SNARKs on 10 February 2023, covering 13 assets at launch. Its open source code uses Groth16 proofs built with the gnark library.
- OKX added zk-STARKs on 28 April 2023, covering 21 assets. Its second version tool proves a Merkle sum tree with the Plonky2 proof system.
zk proofs are not magic, though. Ethereum Foundation researcher Enrico Bottazzi found what Binance’s docs call the “dummy user attack”: an exchange adds fake users who hold cheap coins against debts in BTC or ETH. Every balance stays positive and the circuit passes, yet real BTC backing drops. Binance fixed it with collateral fields and haircuts per asset. The lesson for builders: your circuit must model margin and loans, not only plain balances.
| Method | What it proves | Privacy | Running cost | Best fit |
| Wallet list only | Coins sit in known addresses | Fine | Very low | Not enough alone: shows assets, not debts |
| Merkle sum tree | Your balance is counted and sums add up on your path | Leaks some partial sums | Low: a batch job and a verifier | Spot-only exchange in its first year |
| zk-SNARK / zk-STARK | All balances are zero or more and add up to the total | Strong | Higher: proof servers and circuit work | Large user base, margin, loans or earn |
What Proof of Reserves Does Not Prove
The top forum complaint is simple. A Reddit thread from the FTX month put it bluntly: proof of reserves “means nothing if we don’t know how much the exchange should have.” Hacker News readers raised the same points, and an honest operator should know them:

- Off-chain debts: Bank loans, unpaid bills and money owed to a sister firm never enter the tree. FTX’s debts to its trading arm would not have shown up.
- Borrowed or pledged coins: Coins can be borrowed for the snapshot day, or lent out while still sitting in the wallet. Kraken’s own reserve page says its check cannot detect hidden pledges or borrowed funds.
- Asset quality: A reserve full of the exchange’s own token or thin coins may not sell in a rush.
- After the snapshot: The report shows one moment, not the next day.
- Security: Bitget’s reserves stayed above 100%, and it was still hacked. PoR shows backing, not how well keys are guarded.
So treat proof of reserves as one layer, next to an outside audit, user funds kept apart in law and strong exchange security controls.
Auditor Attestations: What They Add and What They Do Not
Many exchanges hire an accountant or security firm to check their proof of reserves. Most reports are agreed-upon procedures: the accountant runs only the tests the exchange asked for, on one date, and gives no opinion. Mazars, which had checked reserves for Binance, KuCoin and Crypto.com, paused that work on 16 December 2022. In March 2023, the PCAOB’s investor advisory said these reports are not audits and give no assurance about whether assets were lent or used after the snapshot.
Still, an outside check beats none. Kraken’s reserve page shows a 30 June 2026 snapshot reviewed by an independent accountant, covering BTC, ETH, SOL, USDC, USDT and XRP. When you hire a firm, ask about:
- Scope: Which coins, wallets and custodians are in, and whether margin and loan balances count.
- Standard: A full exam gives an opinion. Agreed-upon procedures do not.
- Completeness: Whether they test that the ledger is complete, not only that the wallets exist.
There are no public price lists for these reports. Fees depend on scope, the number of coins and chains and how often you publish.
Regulatory Expectations for Proof of Reserves in 2026
No major regulator prescribes one PoR method yet. But several now require the outcome proof of reserves is built to show. Here is where things stand in October 2026:
| Region | Rule | What it means for your PoR |
| Dubai (VARA) | Compliance and Risk Management Rulebook, Part V, Proof of Reserves | Licensed firms must show that reserves cover all liabilities to clients, using the methods VARA sets, including during licensing. |
| EU (MiCA) | Article 75 on custody | A register of positions per client, a statement at least every three months, and client coins kept apart from your own, on chain and in law. Build your snapshot from this register. |
| United States | No federal PoR rule for exchanges | The GENIUS Act, signed 18 July 2025, requires stablecoin issuers to publish monthly reserve reports checked by a registered accounting firm. Final rules are still pending. |
MiCA’s transition period ended on 1 July 2026, so EU exchanges now need full authorisation. Our guide to a MiCA-compliant white label exchange covers the licence side, and our crypto custody solutions guide shows how custody rules shape your wallet setup. In short, regulators care less about the Merkle tree and more about segregation and full backing.
How to Implement Proof of Reserves on Your Exchange
Here is the build plan we recommend for a new centralized exchange that holds user funds itself:
- Set the scope: List every coin users can hold. Decide how margin debt, loans, collateral and earn balances count, and publish that method.
- Clean the ledger first: PoR is only as good as your books. Reconcile the ledger with on-chain balances every day, and keep user wallets apart from company wallets. Our crypto exchange architecture guide shows how these layers fit together.
- Pick the method: Start with a Merkle sum tree for spot only. Move to a zk proof once you add margin or loans. The decision tree below helps.
- Build the snapshot and tree jobs: A batch job freezes the ledger at a block height, builds the tree and stores each user’s leaf and path. Binance’s and OKX’s open source tools are good references.
- Run the wallet attestation: Sign the set message from every hot, warm and cold wallet, and collect custodian letters, inside your normal signing controls.
- Publish a reserve page: Show the snapshot time, ratio per coin, root hash, wallet list and a verifier. Keep every past report online.
- Add an outside check: Have an accountant review at least quarterly or twice a year, and publish the report.
- Monitor between snapshots: Alert the team if any coin’s live ratio nears 100%, and never lend user coins without telling users.

Worked Example: Why Per-Coin Ratios Matter
Picture a young exchange with about 40,000 users and four main coins. Here is its first monthly snapshot:
| Coin | Owed to users | Held in wallets | Ratio | Result |
| BTC | 820 BTC | 902 BTC | 110% | Pass |
| ETH | 9,400 ETH | 9,870 ETH | 105% | Pass |
| USDT | 30,000,000 | 31,500,000 | 105% | Pass |
| SOL | 52,000 SOL | 47,840 SOL | 92% | Fail |
In dollar terms the whole book is above 100%, because the BTC buffer is worth far more than the SOL gap. Yet users who rush to withdraw SOL would be stuck. So buy back the 4,160 SOL shortfall, fix the cause and say so in the report.
Timeline and Cost
Proof of reserves is a module inside the exchange. The snapshot job, tree builder, verifier and reserve page add a few weeks of work; the zk route adds circuit work and proof servers. For the whole exchange, published 2026 agency cost guides put a white label build at $15,000 to $60,000 and a custom MVP at $100,000 to $200,000. Our white label crypto exchange cost guide breaks this down.
Launch an Exchange Users Can Verify
Crypto Exchange Development — done right.
- Reserve reporting: A proof of reserves panel that publishes snapshots, per-coin ratios and the Merkle root.
- Clean ledger: Daily reconciliation between user balances and on-chain wallets, with user and company funds kept apart.
- Wallet security: Hot, warm and cold wallet tiers with MPC or multisig signing and withdrawal checks.
- Compliance ready: KYC, AML screening and admin reports built for licensing in markets such as the EU and Dubai.
White label exchange launch in 4 to 6 weeks, built by a team that has delivered 350+ platforms since 2018.
Book a Free Demo to see how reserve reporting fits into your exchange.
Common Proof of Reserves Mistakes to Avoid
The same errors come up again and again in user threads and post-mortems:
- Assets only: Wallet addresses without a liability tree prove nothing.
- Your own token in reserves: Leave it out of the ratio, or show it on a separate line.
- Predictable snapshots: If everyone knows the date, coins can be borrowed for that day. Pick the block height after the fact, or publish more often.
- Going quiet after an incident: Bitget posted a fresh snapshot five days after its hack. Silence is what makes users run.
How to Choose a Partner and Prepare for a Scoping Call
Proof of reserves touches your ledger, wallets, signing and compliance, so plan it before you write code. Before a scoping call, prepare:
- Coins and products: Spot only, or margin, loans and earn too.
- Key setup: Your own MPC or multisig wallets, a third party, or both.
- Target licence: VARA, MiCA or another regime.
- Cadence: Monthly is the norm; decide who signs off each report.
Then ask any partner to show a working reserve page and explain how their ledger nets margin and loans. Coinsclone has been building since 2018 and has delivered 350+ platforms for 200+ clients across 20 industries. Our cryptocurrency exchange development team builds the ledger, wallet and admin layers that reserve reporting needs. Our Gate.io clone script, for example, includes a proof of reserves panel for publishing snapshots and the Merkle root, and a white label exchange launches in 4 to 6 weeks.
Frequently Asked Questions
What is proof of reserves in crypto?
It is a public check that a custodial exchange holds enough crypto to back every user balance. The exchange publishes a Merkle tree of what it owes and proves it controls wallets holding at least that much, so each user can confirm their balance was counted.
Does proof of reserves mean an exchange is safe?
No. It shows that user balances were backed at one moment. It does not show off-chain debts, borrowed or pledged coins, or how well keys are protected. Bitget’s reserves were above 100% when it was hacked in September 2026.
How do I verify an exchange’s proof of reserves?
Open the exchange’s proof of reserves page while logged in and copy your record ID and leaf data. Then run its open source verifier. If the rebuilt path matches the published root hash, your balance was included.
Is proof of reserves the same as an audit?
No. Most reserve reports are agreed-upon procedures, where an accountant runs only the tests the exchange asked for. The PCAOB said in March 2023 that these reports give no assurance about loans, controls or events after the snapshot.
What is a good reserve ratio?
At least 100% for every coin, not just in total. In October 2026, OKX reported BTC at 110%, ETH at 100% and USDT at 105%. Gate reported 115% in June 2026, and Bitget 131% in late September 2026.
Which exchanges publish proof of reserves?
Binance, OKX, Bybit, Bitget, Kraken and Gate all run proof of reserves pages. DefiLlama’s CEX transparency dashboard tracks the wallets many exchanges have disclosed, which makes it easy to compare them.
How often should an exchange publish proof of reserves?
Monthly is the market norm, and OKX reached its 48th report in October 2026. Publish an extra snapshot after any hack or market shock, and add an accountant’s review at least quarterly or twice a year.
Can an exchange fake proof of reserves?
It can try, by borrowing coins for the snapshot day, hiding fake accounts or padding reserves with its own token. Sum trees, zk proofs, surprise snapshot times and outside checks make each trick harder.