Proof of reserves is an auditing practice where a crypto custodian (exchange, stablecoin issuer) publicly demonstrates they hold enough assets to cover all customer deposits. It typically combines a Merkle tree of user balances (proving what is owed) with cryptographic proof of on-chain asset holdings (proving what is held). It emerged as a trust mechanism after the FTX collapse revealed $8B in missing customer funds.
What Is Proof of Reserves?
3 min read
The short version
Proof of reserves answers the question: Does this exchange actually have the coins they claim to hold for customers? After FTX went bankrupt because they secretly lent out customer deposits, the industry demanded verifiable proof. Proof of reserves shows: here is what we owe customers (total liabilities), and here is the crypto sitting in wallets we control (total reserves). If reserves >= liabilities, the exchange is solvent for those assets.
How It Works
How it works: (1) The exchange generates a Merkle tree of all customer balances (each customer can verify their balance is included without seeing anyone else's). (2) The exchange proves control of on-chain addresses holding sufficient reserves (signing a message from those addresses, or through a third-party auditor verifying wallet ownership). (3) A verifier (user, auditor, or automated tool) confirms that total reserves >= total liabilities. Limitations: PoR typically shows only assets, not liabilities beyond customer deposits (outstanding loans, corporate debts). A fully solvent PoR on crypto assets does not mean the company is not in debt elsewhere. Also: PoR is a snapshot. The exchange could temporarily borrow assets for the proof date, then move them after (though Merkle tree proofs with continuous updates make this harder). Best implementations: Kraken (among the first, audited by Armanino), BitMEX (public Merkle tree), and the growing Chainlink Proof of Reserve system for on-chain verification of off-chain assets.
Verifying your balance in a Proof of Reserves Merkle tree
Kraken publishes a quarterly PoR report. You log in and find your Merkle leaf (a hash of your account ID + balances). You are given a proof path (a series of hashes). You hash your leaf, combine with the sibling hash, hash again, repeat up the tree. If the root hash matches the published Merkle root (which the auditor signed off on), your balance is provably included in the total. The auditor separately verified that Kraken controls wallets with enough BTC and ETH to cover the total represented by that Merkle root. Result: you know (1) your balance was counted, and (2) the exchange has enough to cover all balances. You verified this yourself without trusting anyone's word.
What People Get Wrong
Proof of reserves means the exchange is safe
PoR proves solvency for specific crypto assets at a point in time. It does not prove: the exchange is not secretly in fiat debt, that operations are well-managed, that the reserve situation will not change tomorrow, or that the exchange is not in legal trouble. It is one signal among many, not a complete safety guarantee.
All exchanges do proof of reserves
Many exchanges still do not publish PoR, or publish incomplete versions (proving assets exist but not proving total liabilities via Merkle tree). Lack of PoR should raise questions about why the exchange is not willing to prove solvency when the technology exists.
Proof of reserves prevents another FTX
PoR makes it harder to hide insolvency but does not prevent all forms of fraud. FTX's problem was secretly lending customer deposits to Alameda (a liability that PoR of crypto assets alone might not have caught). Full proof of solvency (assets minus ALL liabilities) is more comprehensive but also more complex and less commonly implemented.
Keep Reading
Sources & Further Reading
- DefiLlama CEX Transparency
Track exchange proof-of-reserve ratios and asset breakdowns
- Chainlink Proof of Reserve
On-chain verification system for off-chain reserve attestation
Questions People Also Ask
- How often should exchanges publish PoR?
- Quarterly at minimum; monthly is better; real-time (Chainlink PoR for on-chain verification) is ideal. More frequent publication reduces the window for manipulation between snapshots. Some exchanges now offer continuous Merkle tree updates that users can check at any time.
- Can I verify PoR myself?
- If the exchange provides your Merkle leaf and proof path: yes, you can verify your balance is included using open-source tools. If they only publish an auditor report without user-level verification: you are trusting the auditor, which is better than nothing but not cryptographically verifiable by you personally.
- What is proof of liabilities vs. proof of reserves?
- Proof of reserves shows assets held. Proof of liabilities shows what is owed (typically the Merkle tree of customer balances). Together they prove solvency. Some proposals also include proof of solvency that accounts for off-chain liabilities (corporate debt, pending legal claims), though this is harder to verify cryptographically.