Proof of reserves is the closest thing crypto users have to a receipt proving their exchange actually holds the coins shown in their account. After billions in customer deposits vanished in late 2022 with no warning, the question shifted from “do you trust this platform?” to “can this platform prove it?”. That shift turned proof of reserves from a niche concept into a baseline expectation, and understanding how it works, what it actually proves, and where its blind spots are gives you a much clearer picture of the risk you’re taking when you leave funds on any exchange.
What is proof of reserves in crypto?
Proof of reserves is a verification method that lets crypto exchanges and custodians publicly demonstrate they hold enough assets to cover all user deposits. A third-party accountant or auditor takes a snapshot of balances on blockchain addresses the custodian controls, then compares those totals against customer balances pulled from the custodian’s internal records. If the on-chain assets meet or exceed the recorded liabilities, the platform can show that, at that specific moment, customer funds were backed.
The concept existed before 2022, but demand for it exploded after FTX filed for bankruptcy on November 11, 2022. That collapse revealed that billions in customer deposits had been redirected without disclosure, and user-facing balances had looked normal the entire time. Every surviving exchange faced immediate pressure to answer a straightforward question: does this platform actually hold the coins it says it holds, backed by verifiable proof rather than assertions alone?
Most exchanges that publish proof of reserves now display the data on a public dashboard or analytics page. Reserve ratios update after each review cycle, giving users a recurring checkpoint rather than a one-time promise.
How Merkle tree proofs work
A Merkle tree is the data structure that makes it possible to verify millions of individual account balances without exposing anyone’s private information. The process starts by hashing every customer’s account balance into a short digital fingerprint. These fingerprints are then paired and rehashed, layer by layer, until millions of accounts condense into a single value called the Merkle root.
The Merkle root acts as a cryptographic seal summarizing every balance that was fed into the tree. Any change to any underlying balance, no matter how small, produces a completely different root. That sensitivity is what makes the structure useful: you can’t quietly alter one account without the root changing in a way that’s detectable.
On the asset side, the custodian produces digital signatures proving it controls specific on-chain wallet addresses. Those addresses hold publicly verifiable balances. The accountant then compares those wallet balances against the customer-balance total encoded in the Merkle tree. If assets meet or exceed the liabilities in scope, the check passes.
For individual verification, each user receives a Merkle leaf ID linking their balance to the tree. That leaf ID is derived by hashing a concatenation of account code, platform identifier, review ID, and per-asset balances using SHA-256. Following the hash path from your leaf up to the root confirms your balance was included in the total, without revealing anyone else’s data along the way.
This design traces back to proof-of-solvency concepts proposed after earlier exchange failures in 2014. The core idea hasn’t changed much: build a tamper-evident summary of all customer balances, then prove you hold at least that much on-chain.
zk-SNARKs and zero-knowledge approaches
Merkle trees prove inclusion, but they can still leak information about the size and distribution of balances to anyone who collects enough leaf data. Zero-knowledge proofs solve that by letting an exchange prove a mathematical statement about its reserves without revealing the underlying numbers.
zk-SNARKs allow an exchange to prove that every leaf node’s balance set contributes to the claimed total user balance, all without revealing individual figures. The circuit behind a zk-SNARK checks three conditions: each user’s balance is included in the sum, each account’s total net balance is zero or positive (meaning no hidden debt at the account level), and changes to the Merkle root after updating any leaf are valid. If all three hold, the proof passes. If any condition fails, the proof can’t be generated.
The tradeoff with zk-SNARKs is that they require a trusted setup, a one-time ceremony that generates the cryptographic parameters the system depends on. If that ceremony is compromised, the proofs it produces could be forged. That’s a real security concern, not just a theoretical one.
zk-STARKs offer similar privacy guarantees without requiring a trusted setup at all, and they’re considered quantum-resistant, meaning they should hold up even against future quantum computers. The downside is that zk-STARK proofs are significantly larger, which makes them more expensive to verify on-chain.
Compared to a Merkle-only approach, both zero-knowledge methods strengthen privacy by keeping individual balance data hidden even from the verifier. For users, the practical difference is this: a Merkle-only proof lets you confirm your own balance was included, but a zero-knowledge proof goes further by guaranteeing that no account carried a negative balance and that the total adds up correctly, all without anyone seeing the individual pieces.
What a reserve ratio means and how 1:1 backing works
The reserve ratio compares the on-chain assets a custodian controls to the net customer balances recorded at the snapshot date. A 1:1 ratio, or 100%, means one unit of each deposited asset is matched by one unit held in reserve. When you deposit one coin, the custodian’s reserve for that asset increases by one coin to maintain full backing.
Ratios above 100% indicate the platform holds surplus assets beyond customer obligations. That surplus might sound reassuring, but it doesn’t reveal the platform’s total assets or total liabilities. A ratio of 102% means the platform holds 2% more of that specific asset than customers are owed, not that the company is 2% richer overall. The surplus shown isn’t necessarily the platform’s own capital either; it could reflect timing differences, reclassifications, or assets in transit.
To ground this with real numbers: a snapshot dated June 30, 2026 from one major exchange showed a BTC reserve ratio of 102.9%, ETH at 100.5%, SOL at 100.6%, XRP at 102.3%, and ADA at 100.3%. A separate exchange published a September 1, 2026 snapshot with a BTC ratio of 100.16%, holding 683,448 BTC on-chain against 682,355 BTC in net account balances. That same exchange reported a USDT ratio of 102.91% with approximately 32.3 billion USDT in net balances.
Ratios can shift between reports due to product changes, custodial infrastructure updates, and reclassification of certain wallet assets. A ratio that dips slightly below 100% in one report and returns above it in the next doesn’t necessarily signal a problem, but a persistent or large shortfall would be a serious red flag.
For you as a user, the ratio answers one narrow question: at the moment of the snapshot, did the platform hold at least as much of this asset as it owed? It doesn’t answer whether the platform is profitable, whether it has debts elsewhere, or whether it’ll still be solvent next month.
What proof of reserves covers
The scope of a proof of reserves report is narrower than most people assume. It typically includes spot balances in designated assets at the moment of the snapshot, and only for the chains and tokens the auditor or accountant can verify at that time.

Staking balances allocated to on-chain staking at snapshot time are usually grouped with the spot balance under one entry. Open margin positions adjust the balance in a specific way: a long position adds the bought asset’s quantity, but no negative adjustment is shown for the sold currency. Futures wallet balances carry a separate record within the same Merkle tree. Unrealized profit and loss on single-collateral futures adjusts the balance, while multi-collateral P&L tracked in an out-of-scope currency doesn’t factor in.
Not all tokens or blockchain networks are included in every report. One exchange’s latest review covers BTC, ETH, SOL, USDC, USDT, and XRP. Another exchange covers eight assets: BTC, ETH, SOL, BNB, XRP, USDC, USDT, and USD1. If you hold a token that isn’t in scope, the report says nothing about whether it’s backed.
Coverage depends on the tools and chains the verifier can work with at that time. A token on a newer or less common chain might simply not be included yet, which doesn’t mean the exchange doesn’t hold it, just that it wasn’t verified in that particular review.
How to verify your own balance in a PoR report
You don’t have to take the exchange’s word for it. Here’s how to check whether your balance was included in the most recent proof of reserves report:
- Log in to your exchange account and open the proof-of-reserves or verification page. Most exchanges put this under account settings or a dedicated transparency section.
- Find the most recent snapshot date and select it. The page will show the assets in scope and your balances as of that date.
- Copy your Merkle leaf ID or record ID. The platform provides this for each snapshot.
- Paste the ID into the third-party accountant’s verification tool. This opens separately from the exchange’s own site and retrieves your leaf within the Merkle tree path.
- Confirm that your hashed balance connects upward through the tree to the published Merkle root. The tool will show the hash path from your leaf to the root. If every step matches, your balance was included in the verified total.
- If there’s any mismatch along the path, that indicates tampering or an error in the tree construction.
For the technically inclined, you can reconstruct your leaf node hash on your own. The Merkle leaf equals the first 16 characters of SHA-256 applied to the record ID concatenated with per-asset balances. Exchanges that publish pseudocode for this calculation let you verify the full path from leaf to root in code, removing any reliance on the platform’s own verification tool.
PoR attestation vs. full audit
This distinction matters more than almost anything else on a reserves page, and it’s the one most people skip past. Most proof of reserves reports are attestations under agreed-upon procedures, meaning the accountant checks exactly the items the client requested, on one date, and writes down the results. Because the exchange defines the scope, the accountant only examines what the exchange points to.
A full audit is a fundamentally different engagement. An auditor forms an independent opinion on the entire financial position of the organization, covering all assets, all liabilities, internal controls, and going-concern status (whether the company can keep operating). The auditor decides what to examine and is professionally obligated to look for problems, not just verify what the client points to.
The practical gap between the two is significant. An attestation doesn’t require the accountant to hunt for undisclosed debts or assess whether the firm is solvent beyond the stated scope. If the exchange owes $500 million to a lender and that liability isn’t in the attestation’s scope, the report won’t mention it. A full audit would catch it.
Professional standards like SOC 1 and ISAE 3402 Type 2 sit between a single-date attestation and a full audit. These reports assess internal controls over the handling of customer funds across a period, not just one snapshot. They look at processes: how keys are generated, how transactions are approved, how reconciliation works day to day. That kind of review addresses risks that a point-in-time snapshot simply can’t.
No dedicated professional audit standard for proof of reserves currently exists. As PwC has detailed, the methodology and reporting format are left to the discretion of the third party performing the work. That means two exchanges could publish PoR reports that look similar but follow completely different procedures, and you’d have no standard to compare them against.
The reputational stakes are real, too. One major accounting firm paused all crypto attestation work in December 2022, shortly after the FTX collapse, judging the reputational risk too high. When the firms that do this work professionally decide to step back, that tells you something about how unsettled the standards still are.
When you’re reading a PoR report, look at what the document actually calls itself. If it says “attestation” or “agreed-upon procedures,” it’s not an audit, and treating it like one gives you a false sense of security.
Limitations and gaps of proof of reserves
Proof of reserves is a meaningful step forward from “trust us,” but it has real blind spots you should understand:

- A snapshot captures a single moment. The report says nothing about the day before or the day after. Assets could be borrowed before the snapshot date and returned afterward, a practice known as window dressing. Nothing within PoR can detect this.
- Proving control isn’t the same as proving exclusive possession. A digital signature proves the custodian can move funds from a wallet address, but it can’t prove that no one else also has the private keys. If an attacker has copied the keys, on-chain proof won’t reveal that.
- The liability side is unverifiable from on-chain data alone. No blockchain records what a company owes. A reserves page showing assets without liabilities can mask insolvency. The liability list within the Merkle tree is only as complete as the data the platform handed over. If a large creditor is omitted, there’s no visible trace of the gap.
- Between reviews, anything can happen. Keys may have been lost or funds stolen since the last report. The longer the gap between reviews, the larger the window of uncertainty.
- The report can’t identify hidden encumbrances. Even if the assets are on-chain and verifiable, there’s no way to confirm they haven’t been pledged as collateral elsewhere or borrowed solely to pass the review.
- Independence and competence of the verifier matter. Relying on a single verification entity creates a single point of failure. If that entity is compromised, conflicted, or simply not qualified, the entire report’s credibility falls apart.
The FTX case is the clearest illustration of several of these gaps at once. FTX showed normal user balances on screens while billions had been lent to an affiliated trading firm. No on-chain proof of reserves would have revealed those loans, because the problem wasn’t that assets were missing from wallets. The problem was that liabilities were hidden.
Red flags when reading a reserves page
Not every PoR report deserves your confidence. Watch for these warning signs:
- Long gaps between reports or no regular cadence at all. If an exchange published one report six months ago and nothing since, the data is stale and the silence is worth questioning.
- Unclear or undisclosed methodology. A credible report explains what was checked, how wallet ownership was verified, and what assets were in scope. If none of that is described, you’re looking at a marketing page, not a verification.
- The report is labeled “audited” but the document is actually an agreed-upon-procedures attestation. This mislabeling is common and misleading. Check the document’s own language, not the exchange’s summary of it.
- No user-facing tool to verify individual balances in the Merkle tree. If you can’t check your own leaf, the exchange is asking you to trust a number without giving you the means to verify it. That defeats the purpose.
- Reserve ratio shown without any liability data alongside it. A ratio without context is just a number. If the report doesn’t show what the platform owes, the ratio alone can’t tell you whether the platform is solvent.
On-chain PoR for DeFi and tokenized assets
Proof of reserves in DeFi works differently than on centralized exchanges because it can run continuously rather than in periodic snapshots. Oracle networks feed reserve data to smart contracts in near real time, enabling automated on-chain checks of collateral without waiting for a quarterly report.
One direct application is secure-mint functionality. This gates the creation of new tokens so that minting proceeds only when on-chain proof confirms reserves equal or exceed the supply being minted. Without that gate, a compromised contract could mint unlimited tokens. With it, the minting function simply won’t execute if reserves fall short.
The same principle applies to wrapped token bridges: a bridge that wraps BTC on Ethereum needs to prove that every wrapped token is backed by actual BTC in custody. The PoR feed monitors that backing ratio continuously, and if reserves drop below the outstanding supply, emergency actions can freeze minting and borrowing before the shortfall spreads.
Liquid staking derivatives benefit from a similar check. PoR feeds verify whether liquid staking tokens are fully backed by staked native tokens, which matters because those derivatives trade on secondary markets where mispricing could cause cascading liquidations.
Because these feeds run continuously, they enable a circuit-breaker pattern: when a PoR feed detects undercollateralization, automated protocols can disable borrowing or set loan-to-value ratios to zero for the affected assets, responding in seconds rather than days.
Real-world examples are already live. TUSD uses a Chainlink PoR feed powered by data from an independent accounting firm reviewing escrowed bank accounts. Tokenized gold products from issuers like Paxos and CACHE Gold use on-chain PoR to verify gold reserves held in off-chain custody. In both cases, the on-chain feed bridges the gap between a traditional asset sitting in a vault or bank account and a token circulating on a blockchain.
Stablecoin reserve attestations compared to exchange PoR
Stablecoin issuers and crypto exchanges both publish reserve reports, but they’re answering different questions. An exchange’s PoR asks: are customer-deposited coins sitting in wallets the exchange controls? A stablecoin issuer’s attestation asks: are there enough dollars and dollar-equivalent assets backing every token in circulation?
That difference in question leads to a difference in what gets verified. A stablecoin’s reserves might include cash in bank accounts, U.S. Treasury bills, and sometimes commercial paper or other short-term instruments. The PoR process has to verify multiple asset types across both traditional financial systems and on-chain records, which adds complexity that a pure crypto-to-crypto exchange PoR doesn’t face.
The cadence differs too. USDC attestations are published monthly, signed by Deloitte. USDT attestations are published quarterly. Exchange PoR reports vary widely in frequency. More frequent attestations shrink the window in which a shortfall could go unnoticed, but they don’t eliminate it. A monthly report still leaves roughly 30 days of uncertainty.
The same reading rules apply to all of them. Check the snapshot date. Check the defined scope of assets. An attestation from a stablecoin issuer or an exchange checks only what it was asked to check, on the date it was asked to check it, and carries none of the independent scope or obligation that a full audit would.
Why the FTX collapse made proof of reserves an industry priority
FTX was among the largest exchanges by trade volume globally when it filed for Chapter 11 bankruptcy in November 2022. The speed of its failure stunned the industry, but the details that emerged afterward were worse.
Customer deposits amounting to billions of dollars had been funneled to Alameda Research, an affiliated trading firm, without disclosure. The exchange’s own interface showed normal balances right up to the final week. Users logging in saw their BTC, their ETH, their stablecoins, all apparently intact. Behind that interface, the assets backing those balances had been lent out and, in many cases, lost.
Once withdrawal requests spiked, a classic bank-run dynamic took hold. Users who moved fastest got their funds. Everyone else found withdrawals frozen within days. There was no public, cryptographic evidence users could have checked beforehand, because FTX didn’t publish proof of reserves. The platform’s solvency rested entirely on its own claims.
The aftermath reshaped how the industry approaches transparency almost overnight. Every surviving exchange faced immediate public pressure to show cryptographic proof that customer assets were intact. Binance, Kraken, OKX, and others rolled out Merkle-tree-based PoR dashboards within weeks. The event also pushed regulators to scrutinize custodial practices more closely, with several jurisdictions accelerating work on rules requiring reserve disclosures.
The core lesson from FTX isn’t that proof of reserves would have prevented the fraud. A PoR snapshot showing assets on-chain wouldn’t have revealed that those assets had been lent to an affiliate. But the complete absence of any verifiable proof made the fraud invisible until it was too late. Self-reported solvency claims, no matter how confident, carry no weight without independently verifiable on-chain evidence backing them up.
Frequently asked questions
Does proof of reserves guarantee an exchange is solvent?
No. Proof of reserves shows that a platform holds certain assets on-chain, but it doesn’t necessarily disclose all liabilities. Solvency depends on the full balance sheet: total assets minus total debts. An exchange could pass a PoR check while still owing more than it owns, if those obligations fall outside the report’s scope.
Can a PoR snapshot be manipulated?
Forging an on-chain balance is extremely difficult because blockchain data is publicly verifiable. But the surrounding picture can be gamed. An exchange could borrow assets shortly before the snapshot date and return them afterward, making reserves appear adequate during the review window. Incomplete liability lists are another vector: if the platform omits accounts from the Merkle tree, the total looks smaller than it actually is.
How often are PoR reports published?
Frequency varies by platform. Some publish monthly snapshots, others quarterly. More frequent reports reduce the gap in which problems can hide, but even a monthly cadence leaves a window of uncertainty between reviews.
Does PoR cover fiat balances or only crypto?
Most current implementations cover crypto assets held on-chain. Fiat reserves and off-chain obligations, like bank balances or outstanding loans, fall outside the typical PoR scope. Stablecoin attestations are the main exception, since they specifically verify dollar-denominated backing.
What is self-custody’s relationship to PoR?
Coins held in one of the best crypto wallets you control sit on a public blockchain, verifiable at any time by anyone. You don’t need a third party to prove your assets exist because you hold the keys. Proof of reserves only becomes relevant when a third party, like an exchange, holds assets on your behalf and you need evidence they haven’t moved or spent them.
Stronger transparency beyond the snapshot
Regular PoR reviews at a set cadence, combined with user-facing verification tools, represent a higher standard of transparency than the industry had before 2022. But they’re still a partial answer.
Full-scope consolidated financial-statement audits under recognized standards remain the benchmark for assessing a custodian’s total financial position. These audits look at everything: assets, liabilities, revenue, internal controls, and whether the business can continue operating. Periodic control-assessment reports under standards such as SOC 1 or ISAE 3402 Type 2 add another layer by covering controls from initial key-ceremony setup through ongoing digital-asset operations across a defined period, addressing counterparty risk more thoroughly than any single snapshot can.
The industry is moving toward combining on-chain PoR with traditional auditing, internal-control assessments, and real-time oracle feeds. Each tool covers a gap the others leave open. On-chain PoR verifies assets. Audits verify liabilities and controls. Oracle feeds shrink the time gap between snapshots. Together, they get closer to continuous, complete transparency, though none of them achieves it alone.
Self-custody remains the most direct option. Holding coins at addresses you control on a public chain eliminates the need for third-party proof entirely. You don’t need to trust an exchange’s attestation when you hold the keys yourself. For funds you do leave on an exchange, though, understanding how proof of reserves works, what it covers, and especially what it doesn’t, is the difference between informed trust and blind faith.