Home / Learn / Proof of Reserves

Proof of Reserves Explained

By Updated

Short answer

Proof of reserves (PoR) is an exchange's public claim that, at one moment, it held at least as much of each covered coin as its users had on deposit. A Merkle tree (sometimes with a zero-knowledge proof) lets you check that your own balance was counted.

PoR says nothing about debts the exchange owes elsewhere, and nothing about what happened after the snapshot. It is not an audit and not insurance. BloFin, Bitunix and Bitbase each let logged-in users verify their own balance.

Checked

After a big exchange hack, "proof of reserves" is suddenly everywhere. This guide explains what a PoR report does and doesn't show, how the cryptography works in plain words, and the exact steps to check your balance on BloFin, Bitunix and Bitbase. It ends with a five-point checklist you can use on any exchange.

What proof of reserves proves

A PoR report has two halves:

  1. Liabilities: what users are owed. The exchange takes a snapshot of every user's balance in the covered coins and turns it into one cryptographic fingerprint (the Merkle root). Each user can check that their own balance was included.
  2. Reserves: what the exchange holds. The exchange shows the wallets it controls and how much of each coin they hold.

Divide the reserves by the user balances for each coin and you get the reserve ratio. Bitunix, for example, defines it as "Funds on the platform / Funds of users". At 100% or above, the exchange held enough of that coin to cover every counted user balance at snapshot time.

When it works, PoR shows three things:

  • Your balance was counted. If you were left out, the total owed would look smaller than it really is.
  • The snapshot wasn't changed later. Change any one balance and the published root changes too.
  • There was enough of each covered coin at that moment. This is the per-coin ratio.

Bitbase's own explainer puts it as three checks that can't replace each other: inclusion, root match and reserve ratio (Bitbase blog).

What proof of reserves doesn't prove

Most of the confusion comes from what PoR leaves out:

  • Other debts. PoR covers what users are owed in the listed coins. It doesn't show loans, unpaid bills or other debts of the company. An exchange can show 100% reserves and still be insolvent overall.
  • Anything after the snapshot. A report is a photo, not a live feed. Funds can move the next day.
  • Who really owns the wallets. Exchanges prove control by signing messages or showing addresses, but that alone doesn't prove the coins aren't borrowed or owed to someone else. Bitbase's guide lists this as an open question PoR doesn't settle.
  • Coins outside the list. A report covering four coins says nothing about the fifth.
  • An independent audit. Bitbase's PoR page states plainly: "Proof of Reserves is not the same as an audit."
  • Insurance. PoR doesn't pay anyone back. Insurance and risk funds are separate (see insurance funds).

So read a strong ratio as "a good sign at one point in time", not as a guarantee.

Merkle trees and zero-knowledge proofs in plain words

Merkle tree. Picture every user balance at the bottom of a pyramid. Each balance (plus an account identifier) is run through a hash function, which turns it into a fixed-length fingerprint. Pairs of fingerprints are hashed together, then pairs of those, up to a single fingerprint at the top: the Merkle root. The exchange publishes that root.

To check your balance, you take your own "leaf" and the few neighbouring fingerprints the exchange gives you, then recompute your way up the pyramid. If you end up with the published root, your balance was in the snapshot. If anyone had edited a balance, the root wouldn't match.

Merkle tree weak spots. A plain Merkle tree doesn't stop the exchange from slipping in fake negative balances to shrink the total. And each check only covers the users who actually run it.

Zero-knowledge proofs (zk-SNARKs). Some exchanges add a zero-knowledge proof on top of the tree. It proves maths claims about the entire set of balances, such as "no balance is negative" and "the total adds up to X", without revealing anyone's balance. The trade-off is heavy computing: Binance said its recent proof would take about 40 to 50 hours to generate after the snapshot (see the case study below).

None of the three partner exchanges below says it uses zk-SNARKs on its PoR pages. All three describe Merkle-tree verification.

How to check proof of reserves on BloFin

BloFin states that it holds "a 1:1 reserve of all users' funds". It also says customer assets sit in separate accounts and that "no customer assets are lent or staked out without our customers' express permission" (What is Proof of Reserves?).

Steps (BloFin Proof of Reserves FAQ):

  1. Log in, click [Assets] and choose [Audits].
  2. Click [Details] to see your asset data for the audit.
  3. Click [Copy Data], go back to Audits and click [Proof of Reserves].
  4. Paste the data into the box and click [Verify]. BloFin checks your snapshot against its Merkle tree.

What's included: your futures account (equity), funding account, earn account and copy-trading account (equity).

What we couldn't confirm: BloFin's proof-of-reserves page requires login. BloFin's public pages don't state the current reserve ratios, the coins covered or how often reports come out. Log in to read the latest report yourself. More context is on our BloFin safety page.

How to check proof of reserves on Bitunix

Bitunix states a 1:1 reserve for all user assets and publishes its ratios on a public page (bitunix.com/proof-of-reserve).

Latest report (audit time Oct 1, 2026, 6:56 AM ET):

Coin Reserve ratio
BTC 156%
ETH 108%
USDT 105%

Read November 2, 2026 (ET). Bitunix's PoR page doesn't state how often reports come out.

Steps (Bitunix PoR guide):

  1. Open the proof-of-reserve page and sign in.
  2. Open your account's verification record, or copy your Merkle leaf.
  3. Paste it into the online verifier (Verify now). A pass shows: "Consistent with the Merkle tree root hash. The verification succeeds."
  4. Optional: for an independent check, run Bitunix's open-source tool from GitHub on the downloaded merkle_tree_bitunix.json file.

Each leaf is your account balance plus account name, hashed with SHA256. Bitunix notes that an account can be missing from a report if it was opened after the audit or held none of the audited coins. More on our Bitunix safety page.

How to check proof of reserves on Bitbase

Bitbase (bitbase.com) publishes a monthly Merkle report for BTC, ETH, USDT and USDC (bitbase.com/proof-of-reserves). The snapshot is taken on the 1st of each month. Bitbase moved to its new "Bitbase 2.0" branding on November 2, 2026, so the page may look different from older screenshots.

Latest report (snapshot Oct 31, 2026, 8:00 PM ET; shown as Nov 1, 08:00 UTC+8):

Coin Reserve ratio Bitbase's status
BTC 107.22% Sufficient
ETH 104.09% Sufficient
USDT 100.76% Sufficient
USDC 102.61% Sufficient

Read November 2, 2026 (ET). Bitbase says the next report comes out before December 8, 2026.

Steps:

  1. Log in and open [My Asset Report], then choose the snapshot period.
  2. Click [One Click Verify]. The check runs in your browser.
  3. Optional: download your verification data and run Bitbase's open-source verifier (github.com/BitbaseGlobal/proof-of-reserves-verifier, needs Node.js 20+). Type in the published root yourself instead of copying it from the file. Exit code 0 means a match, 1 a mismatch and 2 a malformed file (Bitbase guide).

Each Bitbase leaf hashes a version tag, the audit ID, a record ID and your BTC, ETH, USDT and USDC balances to 8 decimals with SHA-256. If your assets aren't in a report, Bitbase's guide says the usual reason is that you held none of the covered coins at snapshot time. More on our Bitbase safety page.

BloFin vs Bitunix vs Bitbase: proof of reserves compared

BloFin Bitunix Bitbase
Method Merkle tree Merkle tree (SHA256) Merkle tree (SHA-256)
Public ratios Not stated publicly (login required) Yes Yes
Coins with a published ratio Not stated publicly BTC, ETH, USDT BTC, ETH, USDT, USDC
Latest ratios Not stated publicly BTC 156%, ETH 108%, USDT 105% BTC 107.22%, ETH 104.09%, USDT 100.76%, USDC 102.61%
Latest snapshot Not stated publicly Oct 1, 2026 Oct 31, 2026 (ET)
How often Not stated publicly Not stated on PoR page Monthly (1st of month)
Self-check Assets > Audits > Verify Online verifier One Click Verify (in browser)
Open-source tool Mentioned by BloFin Yes (GitHub) Yes (GitHub, Node.js 20+)
zk-SNARK proof Not stated Not stated Not stated

Figures read November 2, 2026 (ET), from each exchange's own pages. Reports update, so open the source before you rely on a number. For fees, markets and KYC side by side, see BloFin vs Bitunix vs Bitbase, or browse our exchange pages.

Case study: Binance's proof of reserves after the October 2026 hack

Binance isn't one of our partner exchanges. Its recent case is still the clearest real-world example of what PoR can and can't tell you.

According to CoinDesk (Oct 31, 2026), after a $6.3 billion hack Binance said it had replaced about 90% of the stolen crypto. It published a new PoR snapshot taken at midnight UTC on October 31 (8:00 PM ET, October 30) showing ratios of 100% or more for ten coins: BTC, ETH, USDT, BNB, SOL, USDC, XRP, USD1, RLUSD and ZEC. Binance combines Merkle trees with zk-SNARKs. The full zero-knowledge proof, which lets users verify their balances are covered, was expected by November 3. On November 2, Binance announced the proof was complete for those ten coins and said it would take another snapshot covering more tokens on November 4, as reported by The Crypto Times. The same report says Binance had by then replenished about 95% of the affected assets.

What this teaches:

  • A new snapshot is useful and narrow. It showed the ten listed coins were covered at one moment. It says nothing about coins outside the list, or about the company's wider finances.
  • Earlier reserves had included the drained wallets. CoinDesk reported that wallets emptied in the attack were among those Binance had listed as backing user balances. A good ratio last month didn't stop this month's loss.
  • The zero-knowledge step takes time. The headline ratio came out before the proof that lets you check it.
  • Paying users back is not PoR. Binance said it covered the shortfall from its own funds. That's a company decision, not something PoR guarantees.

For a hands-on walkthrough of one exchange's check, see what a 105% reserve ratio actually proves on Bitunix.

5-point proof-of-reserves checklist

Use this on any exchange, partner or not:

  1. Check your own balance. Run the exchange's verifier for the latest period. A ratio you haven't checked yourself is only the exchange's word.
  2. Match the root. Compare the root you compute with the one on the exchange's public PoR page for the same period. For extra certainty, use the open-source tool offline at least once.
  3. Read every coin. Look at the ratio for each coin you hold, not a blended total. Anything under 100% means that coin wasn't fully covered at snapshot time.
  4. Check the date and coin list. How old is the snapshot, when is the next one due, and are your coins covered at all?
  5. Remember what's missing. PoR doesn't show company debts, events after the snapshot, or any insurance. Read it alongside the exchange's custody, registration and risk-fund information.

Questions

What is a good proof-of-reserves ratio?
100% or more for each coin you hold. That means the exchange held at least as much of that coin as users were owed at snapshot time. Higher isn't automatically "safer", because PoR doesn't show the exchange's other debts.
How often do exchanges publish proof of reserves?
It varies. Bitbase publishes monthly, with the snapshot on the 1st. Bitunix's latest audit is dated October 1, 2026, and its PoR page doesn't state a schedule. BloFin's public pages don't state how often it reports.
Can proof of reserves be faked?
It can be gamed. Borrowed coins can sit in exchange wallets for the snapshot, and plain Merkle trees don't stop fake negative balances. Checking your own balance, matching the root and using zero-knowledge proofs all make that harder. None of them shows the exchange's other debts.
Is proof of reserves the same as insurance?
No. PoR is a snapshot showing coverage at one moment. It doesn't compensate anyone. Insurance funds and risk reserves are separate, and you usually have no direct claim on them (see insurance funds).
How do I verify my balance in a proof-of-reserves report?
Log in and use the exchange's verifier: on BloFin, Assets > Audits > Proof of Reserves > Verify; on Bitunix, the Verify now tool on its PoR page; on Bitbase, My Asset Report > One Click Verify. Bitunix and Bitbase also offer open-source tools for an offline check.

This article is educational information, not investment advice. Exchange figures change; check each exchange's own page before acting.

Sources

Not financial advice. Perpetual futures are leveraged and can lose more than you expect. Read our methodology and disclaimer.

Partner exchanges

BloFin logoBloFin

BloFin fees, review and safety details

Open BloFin

LiquidityFlow may earn a commission if you register through that link. Affiliate disclosure

Bitunix logoBitunix

Bitunix fees, review and safety details

Open Bitunix

LiquidityFlow may earn a commission if you register through that link. Affiliate disclosure

Bitbase 2.0 logoBitbase

Bitbase fees, review and safety details

Open Bitbase

LiquidityFlow may earn a commission if you register through that link. Affiliate disclosure