Proof of reserves (PoR) is a transparency mechanism that lets users verify an exchange holds enough assets to cover customer balances. After the FTX collapse in November 2022, most major exchanges adopted some form of PoR reporting. But not all reports are created equal. This guide gives you a five-point framework for comparing them: reserve ratio, audit methodology, asset composition, liability coverage, and recency. This is educational content about how to read transparency reports, not a recommendation to deposit on any specific exchange.
What proof of reserves actually proves — and what it does not
A proof of reserves report demonstrates that, at a specific point in time, an exchange held at least as much of a given asset as it owed to customers. It is a snapshot of solvency — not a guarantee of future solvency, not an audit of the exchange's full balance sheet, and not a substitute for regulatory oversight.
What PoR does show:
- The exchange controls specific on-chain addresses or custodial wallets.
- The total balance in those wallets meets or exceeds a stated customer liability figure.
- The report was generated at a specific timestamp.
What PoR does not show:
- Whether the exchange has off-balance-sheet liabilities (loans to third parties, outstanding debts, proprietary trading losses).
- Whether the reserves are encumbered (pledged as collateral for loans, locked in vesting schedules, or otherwise inaccessible).
- What happened before or after the snapshot moment.
- Whether the customer liability figure is accurate or complete.
Understanding these limits is essential. A proof of reserves is a minimum transparency standard — it tells you the exchange was not obviously insolvent at one moment. It is not the same as a full financial audit.
The five-point comparison framework
When comparing proof of reserves across exchanges, evaluate each report on five dimensions:
| Dimension | What to check | Red flag |
|---|---|---|
| Reserve ratio | Assets ÷ Liabilities for each major asset | Below 100% for any material asset |
| Audit methodology | Merkle tree, zk-SNARK, or third-party attestation | Self-published spreadsheet with no cryptographic proof |
| Asset composition | What assets are counted; are exchange tokens included? | Reserves padded with illiquid or proprietary tokens |
| Liability coverage | Does the report cover all liabilities or just customer balances? | Only customer balances shown; no mention of other debts |
| Recency | Date of the snapshot; publishing frequency | Report older than 90 days; irregular schedule |
An exchange that scores well on all five dimensions is meaningfully more transparent than one that publishes a headline ratio with no supporting methodology.
Reserve ratio: the headline number
The reserve ratio is the most visible figure in any PoR report. It is calculated as: total assets held ÷ total customer liabilities. A ratio of 100% means the exchange holds exactly what it owes. A ratio above 100% means it holds more; below 100% means it holds less.
As of mid-2026, the 12 largest centralized exchanges collectively hold approximately $225 billion in reserves, according to CoinGecko data. Most major exchanges report reserve ratios between 100% and 105% for BTC and ETH — the two most critical assets.
But the ratio is asset-specific. An exchange might show 102% for BTC but 97% for USDT. Always check the ratio for each major asset you hold on the exchange, not just the headline BTC figure.
A ratio of 100% is the minimum acceptable standard. Anything below 100% for a material asset class warrants immediate scrutiny: it means the exchange cannot cover all customer withdrawals for that asset at the snapshot moment.
Audit methodology: Merkle tree vs zk-SNARK vs attestation
The methodology determines how much you can trust the numbers. There are three main approaches:
Merkle tree proof of reserves. The exchange constructs a Merkle tree of all customer balances. Each user can verify that their individual balance is included in the tree by checking a cryptographic proof path from their leaf node to the root hash. The root hash is then compared against on-chain wallet balances. This method lets users verify their own inclusion but does not prove total liabilities — an exchange could omit some liabilities from the tree and still produce a valid proof.
zk-SNARK proof of reserves. Zero-knowledge proofs allow the exchange to demonstrate that total assets exceed total liabilities without revealing individual balances. This is a stronger approach because it covers both sides of the balance sheet. The user does not need to trust the exchange's liability figure — the cryptographic proof validates it. Binance and OKX have adopted zk-based proof systems.
Third-party attestation. An accounting firm reviews the exchange's wallets and liability records and issues an opinion. This is the most traditional approach and the closest to a conventional audit, but its quality depends entirely on the firm's independence and rigor. Some exchanges use Big Four firms; others use smaller, less-known practices.
| Method | Verifies assets | Verifies liabilities | User-verifiable | Privacy-preserving |
|---|---|---|---|---|
| Merkle tree | Yes | Partial (user can check own balance) | Yes | No (balances visible in tree) |
| zk-SNARK | Yes | Yes (full balance sheet) | Yes | Yes |
| Third-party attestation | Yes (depends on scope) | Yes (depends on scope) | No (trust the firm) | Varies |
The strongest reports combine multiple methods: a zk-SNARK proof for the cryptographic layer plus an independent attestation for the accounting layer. When comparing exchanges, weight methodology more heavily than the headline ratio — a 101% ratio backed by a zk proof is more trustworthy than a 105% ratio backed by a self-published spreadsheet.
Asset composition: what counts as a reserve
Not all assets in a reserve report are equal. The key question is: what assets is the exchange counting toward its reserves?
The strongest reports count only liquid, externally-traded assets: BTC, ETH, stablecoins (USDT, USDC), and major altcoins. These assets have observable market prices and can be sold quickly if needed.
Weaker reports include:
- Exchange native tokens (BNB, BGB, KCS, etc.) — these are illiquid from the exchange's perspective and their value can collapse in the same event that triggers a bank run.
- Locked or vesting tokens — tokens that are on-chain but cannot be sold for months or years.
- Internal IOUs or wrapped tokens — assets that represent claims on other assets but are not directly redeemable.
When comparing exchanges, strip out the exchange's own token from the reserve calculation. If Binance removes BNB from its reserves, or Bitget removes BGB, how does the ratio change? That adjusted figure is the more honest comparison.
Liability coverage: assets alone are not enough
A proof of reserves that only shows assets — without demonstrating that those assets exceed all liabilities — is incomplete. The exchange might hold sufficient BTC to cover customer BTC balances, but what about:
- Loans to affiliated entities (this was the problem at FTX/Alameda).
- Outstanding borrowings from other exchanges or lenders.
- Proprietary trading losses that have not been written down.
- Legal liabilities (pending settlements, regulatory fines).
This is why zk-SNARK proof of reserves is structurally stronger: it proves that total assets exceed total liabilities across the entire balance sheet, not just for one asset class against customer balances. A Merkle tree PoR that only covers customer balances leaves a gap for everything else.
When comparing exchanges, check whether the report addresses total liabilities or only customer balances. The broader the coverage, the more meaningful the proof.
Recency and consistency
A proof of reserves is a snapshot. Its validity decays from the moment it is published. The relevant questions are:
- How recent is the latest report? A report from 30 days ago is more relevant than one from 90 days ago. During periods of market stress, the gap matters even more.
- How consistent is the publishing schedule? An exchange that publishes monthly demonstrates an ongoing commitment. One that publishes quarterly — or irregularly — provides less assurance.
- Were there any gaps during stress events? If an exchange missed its publishing schedule during a market crash or a competitor's collapse, that is a negative signal. Transparency is easy when things are going well; it matters most when things are not.
Kraken, for example, has published Merkle tree proofs monthly for multiple consecutive years. Binance publishes zk-SNARK proofs on a regular cadence. The consistency of the schedule is itself a data point about the exchange's operational discipline.
Putting it together: a comparison checklist
Use this checklist when comparing proof of reserves across exchanges:
- Check the reserve ratio for each major asset (BTC, ETH, USDT, USDC) — not just the headline.
- Identify the audit methodology: Merkle tree, zk-SNARK, attestation, or self-published.
- Check whether the exchange's own token is included in reserves — if so, recalculate without it.
- Determine whether the report covers total liabilities or only customer balances.
- Note the report date and the publishing frequency.
- Check for any gaps in the publishing schedule, especially during market stress.
- Verify whether users can individually verify their own balance inclusion.
- Compare the exchange's reserve ratio trend over the last 4–6 reports.
An exchange that publishes monthly, uses zk-SNARK or third-party attestation, covers total liabilities, and excludes its own token from the reserve calculation is operating at the highest transparency standard available in the industry today.
For a detailed review of how individual exchanges score on these dimensions, see our OKX review and exchange security evaluation guide.
Ready to start trading on a transparent exchange?
Open a free account on OKX →