Proof of Reserves Explained: What It Does and Doesn't Prove
- What Is Proof of Reserves?
- How Proof of Reserves Works
- How to Verify an Exchange's Proof of Reserves Yourself
- What Proof of Reserves Does Not Prove
- Proof of Reserves vs Audits vs Attestations
- Why Proof of Reserves Became Standard After FTX
- Which Exchanges Publish Proof of Reserves?
- Self-Custody: The Proof You Control Yourself
- Final Thoughts
Proof of reserves (PoR) is a point-in-time verification that a crypto exchange or custodian controls enough on-chain assets to cover reported customer balances. It became the industry's baseline transparency signal after FTX collapsed in November 2022. This guide explains how it works technically, how to check whether your own balance is included, and, critically, what it cannot tell you.
What Is Proof of Reserves?
Proof of reserves is a verification mechanism that shows a custodian controls specified on-chain assets intended to cover what it owes customers. Centralized exchanges publish it most often, but custodians, stablecoin issuers, and wrapped-token protocols also use it.
Three terms get conflated constantly. Here's the distinction:
| Term | What it shows | Typical method |
|---|---|---|
| Proof of reserves | Assets the custodian controls on-chain | Merkle tree + signed wallet addresses |
| Proof of liabilities | What the custodian owes customers | Merkle-sum tree of customer balances |
| Proof of solvency | Assets ≥ all liabilities (including non-customer debts) | Rarely achieved by PoR alone |
Proof of reserves vs proof of liabilities vs proof of solvency
Reserves are the assets the company controls. Customer liabilities are the balances the company owes its users. Neither measure alone tells you whether the business is fully solvent, because a company can have debts to lenders, regulators, or counterparties that sit entirely outside the customer-balance dataset. Proof of solvency requires comparing every relevant asset against every relevant liability. Standard PoR rarely reaches that scope.
How Proof of Reserves Works
The process has four stages. Understanding each one helps you read a published report critically.
Step 1: Snapshot of customer balances
At a fixed timestamp, the exchange records each customer's balance for the in-scope assets. This snapshot becomes the liabilities side of the equation: the total the exchange claims to owe users at that exact moment.
Step 2: Building a Merkle tree
Each customer account becomes a leaf in a Merkle tree. A leaf contains a hashed combination of the account identifier and balance. Every pair of leaves is hashed together to form a parent node, and the process continues up the tree until a single Merkle root is produced.
The useful property: changing any single leaf changes every ancestor hash, all the way to the root. So if an exchange tries to hide a balance or alter a number, the root changes and the published root no longer matches.
A Merkle-sum tree carries an additional guarantee. Each internal node commits to both the child hashes and the sum of balances in that subtree. A customer can verify their inclusion using only the sibling hashes and subtree totals on the path to the root, without seeing anyone else's balance.
Step 3: Proving wallet ownership on-chain
Showing a Merkle root isn't enough. The exchange also needs to prove it actually controls the wallets holding those assets. It does this by publishing reserve wallet addresses and signing messages from those addresses. An accountant or any member of the public can then independently check the on-chain balances at those addresses.
Step 4: Comparing assets to customer balances: the reserve ratio
Once both sides are established, the exchange calculates the reserve ratio as qualifying reserves divided by customer liabilities. Kraken's BTC reserve ratio for the June 30, 2026 snapshot was 102.9%, meaning Kraken held 2.9% more BTC than it owed customers at that moment.
A ratio above 100% means the exchange held a surplus. Exactly 100% means assets matched liabilities precisely. Below 100% is a shortfall. The ratio is asset-specific. An exchange can be overcollateralized in BTC and undercollateralized in a different token simultaneously.
Zero-knowledge proofs of reserves
Binance uses zk-SNARKs (zero-knowledge succinct non-interactive arguments of knowledge) alongside its Merkle tree. A zk-SNARK is a cryptographic proof that lets one party prove a statement is true without revealing the underlying data. In Binance's implementation, the zk-SNARK circuit checks that every account is included in the total net balances, that no account has a negative net balance, and that the updated Merkle root is valid. It does so without exposing individual account details.
How to Verify an Exchange's Proof of Reserves Yourself
The steps below describe the general process. The exact navigation path varies by exchange.
Open the exchange's official PoR page. Note the snapshot date and which assets are in scope. An outdated snapshot or a narrow asset list limits what the report actually covers.
Log in and locate your record ID or Merkle leaf ID. On Binance, navigate to Profile → Wallet → Verification, select a verification date, and confirm "Merkle Tree + Zksnarks" to see your Record ID and balances. On Kraken, generate a Merkle Leaf ID after signing in through the proof-of-reserves verification process.
Run the verification tool. Calculate the SHA-256 hash of your account identifiers and balances to derive your Merkle leaf ID. Enter it into the exchange's or auditor's verification tool, or hash the leaf with each sibling hash in the provided proof path yourself. The recomputed value should exactly match the published Merkle root.
Check the reserve ratio for each asset you hold. A ratio of 100% or higher for your specific asset is what matters. An overall surplus in one coin doesn't offset a shortfall in another.
Check who performed the review and whether the full report is public. An independent accounting firm adds credibility. A self-reported result with no external verifier carries less weight.
- Note how often the exchange publishes PoR. Monthly snapshots provide more recent data than annual snapshots. A long gap between reports leaves more time for the situation to change.
What Proof of Reserves Does Not Prove
Here's what a PoR report can and cannot show:
| PoR can show | PoR can't show |
|---|---|
| Assets controlled on-chain at the snapshot | Off-balance-sheet liabilities or loans |
| Customer balances included in the Merkle tree | Whether assets were borrowed before the snapshot |
| Reserve ratio for in-scope assets | Whether funds remained available after the snapshot |
| On-chain wallet balances at the review date | Exclusive possession of private keys |
| That your balance is in the dataset | Complete financial position or solvency |
Hidden liabilities and loans
The PCAOB (Public Company Accounting Oversight Board) has warned that PoR procedures likely do not address liabilities, off-balance-sheet obligations, or customer claims beyond what the exchange chose to include. Non-customer debts, including loans from lenders, margin liabilities, and regulatory obligations, are invisible to the process.
Borrowed or temporarily parked assets
Nothing in a standard PoR prevents an exchange from borrowing assets shortly before the snapshot date, posting them as reserves, then returning them afterward. The report shows control at one timestamp. It says nothing about where those assets came from or where they go next.
Only one moment in time
A PoR snapshot is stale the moment it's published. The PCAOB's advisory is explicit: a point-in-time report does not prove that assets remained available after the reporting date.
Who really controls the keys
Kraken's own documentation acknowledges that its process cannot prove exclusive possession of the private keys, because duplicated private keys could theoretically exist. A third party could, in principle, generate a valid proof without exclusive control over the underlying assets.
Not an audit
The PCAOB is direct on this point: proof of reserves is not conducted under PCAOB auditing standards, does not provide an audit opinion, and normally does not examine the entity's complete financial position, internal controls, or solvency. Calling it an audit misrepresents what the process delivers.
Proof of Reserves vs Audits vs Attestations
| Type | Who performs it | What it covers | Level of assurance | Example |
|---|---|---|---|---|
| Exchange PoR | Exchange (self) or independent accountant | On-chain assets vs. customer liabilities at a snapshot | Limited; no opinion on complete financials | Kraken, verified by The Network Firm |
| Stablecoin reserve attestation | Accounting firm | Reserve assets vs. outstanding token supply at a point in time | Limited examination; not a full audit | A point-in-time reserve attestation |
| Financial statement audit | Licensed auditor | Complete financial statements, internal controls, all liabilities | Reasonable assurance; auditor's opinion issued | A financial-statement audit |
Chainlink Proof of Reserve is a separate model used for tokenized assets: oracle networks obtain reserve data from on-chain addresses or off-chain custodians and publish it to blockchain-accessible reference contracts, enabling smart contracts to verify collateralization programmatically.
Why Proof of Reserves Became Standard After FTX
FTX collapsed in November 2022, leaving millions of user assets frozen. The fallout was immediate. Exchanges rushed to publish PoR reports to signal that they weren't hiding a similar shortfall. The PCAOB cautions that proof-of-reserves reports are not equivalent to audits.
That sequence explains why PoR is now a baseline expectation and why its limits are taken more seriously than before the collapse. For more context on exchange risk, see the crypto exchanges that shut down in 2026 and the case for why you should withdraw from exchanges.
Which Exchanges Publish Proof of Reserves?
The table below reflects publicly available information. As of October 2026.
| Exchange | Method | Who checks it | Frequency | Liabilities shown? |
|---|---|---|---|---|
| Binance | Merkle tree + zk-SNARKs; user-verifiable via Record ID | Self-verified; no external auditor named in official materials | Monthly (snapshot on the 1st of each month at 00:00 UTC; results released by the 7th) | Customer balances for in-scope assets; not complete corporate liabilities |
| Kraken | Merkle tree; independent accounting-firm attestation | The Network Firm | Regular cadence; no fixed frequency stated | Client liabilities across spot, margin, futures, and staked balances for covered assets |
Binance's October 1, 2026 snapshot reported reserve ratios of BTC 100.35%, ETH 100.00%, USDT 103.88%, BNB 100.47%, SOL 100.00%, USDC 108.26%, XRP 100.77%, and USD1 101.11%. Kraken's BTC reserve ratio for the June 30, 2026 snapshot was 102.9%.
No rankings or safety verdicts are implied by this table. The methods, scope, and cadence differ. Check each exchange's official page for the latest data.
Self-Custody: The Proof You Control Yourself
With a self-custody wallet, your balance sits at your own address on the blockchain. Anyone can verify it on a block explorer at any time. No snapshot, no auditor, no trust in a company's books.
That's a fundamentally different kind of proof. It's not periodic. It's continuous and public. Self-custody means you, rather than an exchange, control the private keys. Transactions are signed locally and broadcast directly to the network. The exchange's solvency, its PoR schedule, and its internal controls become irrelevant to your holdings.
With a Tangem Wallet, the private key is generated and stored inside a Samsung S3D350A secure element certified at Common Criteria EAL6+. The key never leaves the chip. Tangem cannot access your funds because the key never touches Tangem's servers. You can independently confirm your balance on any block explorer at any time.
The trade-off is real and worth stating plainly. In the default seedless setup, up to three cards or rings share the same private key. If all of them are lost or destroyed and no seed phrase was created, the funds are permanently inaccessible. Tangem cannot recover them. You carry the responsibility that an exchange would otherwise hold.
Proof of reserves is not insurance. It doesn't protect your funds if an exchange becomes insolvent, gets hacked, or freezes withdrawals. For long-term holdings, self-custody removes the need to trust a report entirely. If you're ready to make the move, you can move crypto from an exchange to a hardware wallet or get a Tangem wallet to get started.
Final Thoughts
Proof of reserves is a useful minimum, not a guarantee. When you read a PoR report, check the snapshot date, the assets in scope, whether liabilities are included, the per-asset reserve ratios, and who performed the review. A self-reported result with no external verifier is meaningfully weaker than one backed by an independent accounting firm.
For long-term holdings, self-custody removes the need to trust any report. Your balance is on the blockchain, readable by anyone, at any time. If you want that level of transparency for your own funds, get a Tangem wallet.
This article is for educational purposes only and is not financial or legal advice.
FAQ
-
Proof of reserves is a point-in-time verification that a crypto custodian controls specified on-chain assets intended to cover customer balances. It typically combines a cryptographic commitment to customer liabilities (usually a Merkle tree) with on-chain evidence of wallet control. It became standard practice after the FTX collapse in November 2022, when the absence of such transparency left millions of users unable to withdraw funds.
-
No. The PCAOB has stated explicitly that PoR procedures are not conducted under PCAOB auditing standards and do not provide an audit opinion on a company's complete financial position. A PoR report verifies assets against a defined set of customer liabilities at a single point in time. A financial statement audit examines the complete financial statements, internal controls, and all liabilities, and results in a formal auditor's opinion.
-
A cryptographically sound Merkle-tree PoR is difficult to falsify without detection, because altering any balance changes the Merkle root. But the process has real weaknesses: assets can be borrowed before the snapshot and returned afterward; liabilities can be understated by excluding certain accounts; and, as Kraken's own documentation notes, the process cannot prove exclusive possession of private keys. An exchange with a weak or self-reported PoR carries more room for manipulation than one with an independent accounting-firm attestation.
-
Log in to the exchange and locate your Record ID or Merkle Leaf ID on the PoR verification page. Calculate the SHA-256 hash of your account identifiers and balances to derive your Merkle leaf ID, then hash it with each sibling hash in the provided proof path. The recomputed result should match the published Merkle root for that snapshot. On Binance, the path is Profile → Wallet → Verification. On Kraken, generate the ID through the proof-of-reserves verification flow on their official PoR page.
-
A reserve ratio of 100% means the exchange held assets equal to reported customer liabilities for that specific asset at the snapshot date. Above 100% indicates a surplus. Kraken's BTC ratio of 102.9% means it held 2.9% more BTC than it owed customers. The ratio is asset-specific: a surplus in one coin doesn't offset a shortfall in another, and the ratio says nothing about non-customer liabilities or what happened after the snapshot.
-
No. A reserve ratio above 100% at a snapshot date does not guarantee solvency, legal ownership, or creditor priority in bankruptcy. The PCAOB notes that PoR may exclude other liabilities and does not determine how claims are handled under bankruptcy law. If an exchange becomes insolvent, PoR does not give you a legal right to recover funds ahead of other creditors. For protection against exchange insolvency, self-custody is the only arrangement that keeps your assets entirely outside the exchange's balance sheet.