After FTX collapsed in 2022 with an estimated eight-billion-dollar hole between what it claimed to hold and what it actually held, "proof of reserves" became a rallying cry for exchange transparency. But the phrase is often misunderstood, and reserves alone can be dangerously misleading. Here is what proof of reserves really proves — and, just as importantly, what it does not.
What proof of reserves is
Proof of reserves (PoR) is an attempt by an exchange to demonstrate cryptographically that it actually holds the assets its customers are owed. The idea rose to prominence after FTX showed that a healthy-looking platform can be secretly insolvent. A credible PoR has two halves that must be checked together: proving the exchange controls enough assets, and proving how much it owes customers. Only when both sides line up does "we have the funds" mean anything.
How reserves are proven
The asset side is the more straightforward half. An exchange discloses the blockchain addresses holding its reserves, and because balances are public, anyone can verify the totals on-chain. To prove it actually controls those wallets rather than borrowing an address, the exchange can sign a message with the corresponding keys or move a specified amount on request. This shows the coins exist and are controllable — but says nothing yet about how many people have a claim on them.
How liabilities are proven
The harder, more important half is proving total customer liabilities without exposing individual balances. The standard tool is a Merkle tree: every customer balance becomes a leaf, hashed together in pairs up to a single root that represents the sum of all balances. Each user can independently check that their own balance is included in that root, so the exchange cannot quietly shrink its stated liabilities. Comparing the proven liabilities against the proven reserves is what reveals whether the exchange is actually backed.
Zero-knowledge proofs
A basic Merkle tree can leak information or be gamed by hiding negative balances. Modern PoR adds a zero-knowledge proof, typically a zk-SNARK, layered on top of the tree. It lets the exchange prove that every customer balance was included and that all balances are non-negative and sum to the published figure — all without revealing any individual's holdings. This closes the loopholes of earlier designs and is now considered the gold standard for a serious proof of liabilities.
What proof of reserves cannot prove
Even a perfect PoR has hard limits, which is why the stronger goal is called proof of solvency. It is a snapshot at one moment, so an exchange could borrow funds to pass the check and return them after. It cannot see off-chain liabilities — debts, loans, or obligations that never touch the blockchain — so an exchange can be fully "reserved" on-chain yet deeply insolvent overall. And it does not prove the assets are unencumbered rather than pledged elsewhere. PoR raises the bar; it does not remove trust.
The bottom line
Proof of reserves is a real advance in exchange transparency: a good one pairs verifiable on-chain reserves with a Merkle-tree, ideally zero-knowledge, proof of customer liabilities, updated regularly. Treat a credible, current PoR as a genuine positive and its absence as a warning. But never mistake it for a guarantee of solvency, because off-chain debts stay invisible — which is why the safest reserve of all is the crypto you have withdrawn to your own wallet.
Disclaimer: This article is educational content from Bitbase Academy, provided for informational purposes only. It is not investment, trading, tax, or financial advice. Written as of July 2026; rely on the latest official information.
References
[1] Vitalik Buterin, "Having a safe CEX: proof of solvency and beyond" vitalik.eth.limo
[2] CoinDesk, "Proof of reserves explained" coindesk.com






