What an exchange's proof of reserves proves, and what it leaves out

Proof of reserves compares wallets an exchange says it owns with customer balances at one snapshot. Who checks it, as of when, and what sits outside it.

A proof of reserves compares assets in wallets an exchange shows it controls with the total of customer balances in named assets, at one snapshot. Customers can check their own balance was counted. It does not cover the exchange's other debts, assets outside the listed coins, or anything after the snapshot. Kraken describes an outside accountant's review; OKX and Binance describe zero-knowledge proofs customers can run. The PCAOB's investor advocate warned in 2023 that such reports are not audits.

An exchange's proof of reserves is usually shown as a percentage beside a coin: 102.9% for one, 105%+ for another. The number reads like a health check. It is a ratio between two things measured at one moment by a method the exchange chose, and each page that publishes one also says, somewhere lower down, what the ratio does not include.

This page sets out what goes into the two sides of that ratio, who checks it on three large venues, and the limits each states for itself. It does not say whether any exchange is solvent; none of the documents below claims to establish that by itself. The general question of how an on-chain figure is built and labelled is in where an on-chain number comes from; stablecoin reserve reports, which are a different kind of document, are in where stablecoin reserve data comes from.

How it works

Every proof of reserves here has the same three parts.

  1. The liabilities side: customer balances at a snapshot. The exchange takes every customer's balance in the in-scope assets at one moment, hashes each account into a leaf of a Merkle tree, and publishes the root. A change to any balance changes the root.
  2. The assets side: wallets the exchange shows it controls. The exchange publishes addresses and proves control of them — Kraken and OKX by signing with each address's key. Anyone can read those balances on chain at the snapshot's block height.
  3. The comparison. Assets divided by customer balances, per coin, is the reserve ratio.

A customer can check one thing directly: that their own balance went into the tree. Nobody outside can see the other leaves, which is the point of the design and also its limit.

Who does the checking

Kraken: an outside accountant, quarterly snapshots

Kraken's page, read on 23 October 2026, describes the review as "a procedure performed by an independent 3rd party accountant", who takes "an anonymized snapshot of all balances", builds the Merkle tree, "collects digital signatures produced by Kraken, which prove ownership over the on-chain addresses", and checks that those balances "exceed or match the client balances". The accountant is not named in the page text read; the report sits behind a link to a third-party viewer, which this page did not open.

  • As of when. The latest snapshot listed was 30 June 2026. Earlier ones run back to 31 December 2021, quarterly since March 2025.
  • What was shown. Reserve ratios of 102.9% for BTC, 100.5% for ETH, 100.6% for SOL, 102.3% for XRP and 100.3% for ADA, and "105%+" for USDC, USDT and USDG.
  • Scope, in its own words. "The following assets are in scope as of the most recent review: Bitcoin (BTC), Ether (ETH), Solana (SOL), USD Coin (USDC), Tether (USDT), and Ripple (XRP)." That list and the ratio tiles above it did not match on the day read: ADA and USDG had tiles and were not in the list.
  • Margin and futures. An open margin long adds the bought coin to your balance, with "no negative adjustment to your USD balance". A multi-collateral futures loss in USD is not deducted, "as USD is not an in-scope asset for this review".
  • Stated limit. Your verification "will not reflect any subsequent trades or transactions, nor will it reflect balances held in assets that are not in-scope".

OKX: a self-published zero-knowledge proof, monthly

OKX describes its proof as its own: "We use a transparent Zero-knowledge proof algorithm, zk-STARK, to prove and verify all OKX account assets". The page read on 23 October 2026 announced "Our 48th Proof of Reserves: $29.4B in primary assets", in October 2026, and says reports are monthly across 22 coins.

  • Three rules the proof enforces. Total balance is the sum of all accounts; every account's balance is non-negative — net equity, after its own liabilities; every account is included. A customer runs OKX's open-source validator against a downloaded file to check the first two and their own inclusion.
  • The assets side has two parts. For BTC the page listed 142,809 in customer accounts against 156,475 in OKX wallet assets, of which 150,263 on exchange addresses and 6,212 in "third-party custody". For third-party custody the page's disclaimer says: "You may contact your third party custodians for verification of these balances." That part cannot be read on chain.
  • Stated limit. "The report is a snapshot of our OKX account asset balances at the time of the data capture. Any tokens outside of the scope or subsequent transactions made after the snapshot are not included."

No outside accountant is named on the page read. The claim the disclaimer makes — that the proof "demonstrates that all customer and corporate digital assets held globally by OKX entities are fully-reserved" — is OKX's own.

Binance: a zero-knowledge proof with an open-source circuit

Binance's page describes a Merkle tree of "the hashed UID and balance of each user" and a zk-SNARK circuit ensuring each user's balances are included in the total and that "The total net balance of the account is greater than or equal to zero". Ownership of cold and hot wallets is verified as the first step. The snapshot date, the root and the figures load in the browser after the page; they were not in the page as served and were not read for this guide, and neither was the report behind its "View Report" link, so this page does not say who, if anyone outside Binance, reviewed it.

The circuit is public on GitHub, and its documentation shows what the liabilities side is made of:

  • The exchange publishes the totals. The CexAssetsInfo input, per the README, "is published by CEX, it represents CEX's liability": total equity, total debt and a base price per asset.
  • Net balances across assets, at the exchange's prices. A user's total equity and debt are each calculated "by all the assets equity multipy its corresponding price", so one user's debt in one coin can be offset by collateral in another, at prices the exchange supplies.
  • A known weakness, and its patch. A design note credits a researcher at the Ethereum Foundation with the "Dummy User Attack": an exchange could add accounts whose equity in low-market-cap assets exceeds their debt in high-market-cap ones, reducing the on-chain reserve needed in the large coins. The updated circuit adds collateral haircuts by tier; the note says users "can detect this attack" by comparing collateral in small assets with debt in large ones.

What none of them covers

The PCAOB's Office of the Investor Advocate set out the general limits on 8 March 2023, in an advisory that represents its staff's views, "not a rule, policy, or statement of the Board". Read against the three pages above:

  • One moment. Reports "purport to provide an asset verification for an asset type at a particular moment in time", and give no assurance about whether assets "were used, lent, or otherwise became unavailable to customers following issuance". Every exchange page above says the same about its own snapshot.
  • Borrowed assets. The advisory's words: "if the assets were borrowed by the crypto entity at the time of the PoR engagement, investors would not know based on the PoR Report."
  • The rest of the balance sheet. The procedures "likely do not address the crypto entity's liabilities" beyond what is counted, nor "the rights and obligations of the digital asset holders". The Merkle tree is a list of customer balances; loans the exchange owes others are not in it.
  • Not an audit. "PoR engagements are not audits", are "not conducted in accordance with PCAOB auditing standards", and are performed by accounting firms in some cases and "non-accountant assurance providers" in others. Management decides whether, and in what format, results are published.

Two more limits follow from the pages themselves: coins outside the in-scope list are outside the ratio, and custody that is not on chain, like OKX's third-party custody line, is outside what a reader can check.

Where dashboard figures come from

Exchange "reserves" on an on-chain dashboard are the assets side alone, read from an address list. DefiLlama's adapter for Binance, at its commit of 21 October 2026, takes its addresses from Binance's own endpoint, binance.com/bapi/apex/v1/public/apex/market/por/address, and states its method: "All assets in wallets mentioned in Binance PoR api & wallets holding backing of binance pegged tokens are included in the tvl. We are not counting the Binance Recovery Fund wallet. On Ethereum, we also include staked ETH tracked via known withdrawal addresses." Those withdrawal addresses are a list in the adapter's own code. The balances are read from the chains; the choice of wallets is mostly the exchange's. There is no liabilities figure on that side at all.

Analytics platforms that cluster exchange wallets themselves get a different number for a different reason: their own attribution. The Glassnode card records that its exchange balances cover Bitcoin and Ethereum only and are lower bounds by design, and CryptoQuant publishes exchange reserves on its own paid plans. Neither is a proof of reserves, and neither claims to be.

What it costs

Reading all of it is free, and so is verifying your own inclusion: each exchange gives logged-in customers a record ID, leaf or inclusion file and a method or tool to check it. The cost is in the age of the latest snapshot — almost four months on Kraken's page on the day it was read — and in what you cannot see: off-chain custody, other liabilities and anything after the snapshot.

What you can do about it

Check the snapshot date before the ratio. A ratio from 30 June describes 30 June. Put the date next to the number whenever you quote it.

Verify your own leaf, and know what that proves. It confirms your balance in the in-scope assets went into the tree at the snapshot. It says nothing about other coins you hold there or anything you did since.

Compare the in-scope list with what you hold. If your balance is in a coin outside the list, the proof does not cover it. On Kraken, check whether the list and the ratio tiles agree on the day you read.

Read how margin and collateral are counted. Kraken adds a margin long without deducting the USD side; Binance's circuit nets each user's debt against collateral at prices the exchange supplies. Both are stated methods, and both change what the customer total means.

Find the part that is not on chain. OKX's third-party custody line and any asset held with a custodian can be confirmed only by that custodian. Note its size against the total.

Treat a dashboard's exchange reserve as the exchange's address list, summed. It is useful as a running series between snapshots; it carries no liabilities and inherits the exchange's own choice of wallets, as DefiLlama's adapter says in its methodology.

Ask who performed it and under what standard. An outside accountant's report, an agreed-upon procedures engagement and a self-published proof are three different documents, and the PCAOB's advisory explains why none of them is an audit.

Tools this bears on

Cards in the catalogue where what is above changes the decision.

  • DefiLlama

    DeFi's default metric set, with the TVL definition written down in public.

    $49/moFree tier

  • CryptoQuant

    Exchange reserves, miner flows and MVRV for four chains, as charts, alerts and an API.

    $39/moFree tier

  • Glassnode

    A curated metric set in a charting studio, with the API on a separate annual plan.

    $99/moFree tier

FAQ

Does a proof of reserves show that an exchange is solvent?

Not by itself, and the documents say why. A proof of reserves compares customer balances in named assets with on-chain holdings at one moment. The PCAOB's investor advocate wrote in March 2023 that such reports likely do not address the entity's liabilities, cannot show whether assets were borrowed for the snapshot, and give no assurance about what happens afterwards.

How old is the latest proof of reserves?

It depends on the exchange, and the page says. On 23 October 2026, Kraken's page showed a snapshot of 30 June 2026, and OKX announced its 48th report, dated October 2026. Binance's page loads its audit time in the browser and it was not read for this page. Every figure is as of its snapshot, not today.

Can I check that my own balance was included?

Yes on all three. Kraken, OKX and Binance each give a logged-in customer a record ID, Merkle leaf or inclusion file for a given snapshot, and a method or tool to check it against the published root. That confirms your balance in the in-scope assets was counted at the snapshot, and nothing about later trades or other coins.

Is the exchange reserve figure on DefiLlama independent of the exchange?

Not in where the addresses come from. DefiLlama's adapter for Binance, as of its commit of 21 October 2026, sums the wallets listed by Binance's own proof-of-reserves address endpoint, plus wallets backing Binance-pegged tokens and, on Ethereum, staked ETH at withdrawal addresses the adapter lists itself, and excludes the Binance Recovery Fund wallet. The balances are read on chain; most of the list of whose wallets they are comes from Binance.

Sources

  1. Proof of Reserves — snapshot of June 30, 2026, scope and self-verification — Kraken, read
  2. Proof of Reserves — 48th report, October 2026, methodology and verification — OKX, read
  3. Proof of Reserves — Merkle tree, zk-SNARKs and verification process — Binance, read
  4. zkmerkle-proof-of-solvency — README — Binance, on GitHub, read
  5. Updated proof of solvency for mitigating the dummy user attack — Binance, on GitHub, read
  6. DefiLlama-Adapters, projects/binance/index.js — methodology and address source — DefiLlama, on GitHub,
  7. Investor Advisory: Exercise Caution With Third-Party Verification/Proof of Reserve Reports — PCAOB Office of the Investor Advocate, . Still published among the PCAOB's investor advisories on 23 October 2026, not withdrawn or restated; staff views, not a Board rule.

The catalogue next door

This page is background, not a listing. The products it bears on are in On-chain Analytics Platforms, each filled in against the same schema, with the fields to narrow it yourself.

Last updated . Corrected in place: this is a reference page, not a dated post.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.