Going by the latest period we could read on each exchange's official page or official public API, the highest BTC reserve ratios are WEEX at 146.39% and Bitget at 142%, and the closest to 100% is Binance at 100.16%. For USDT, the closest to 100% is WEEX at 100.02%. HTX's stablecoins add up to 102%, but USDT on its own is about 67%. The methods differ too. Binance and Gate use a Merkle tree plus zk-SNARK, OKX uses zk-STARK, and Bybit lists a monthly Hacken PoR audit. Most of the rest publish their own Merkle tree (verified October 2026).
Most people read a proof of reserves (PoR) for one thing: is it over 100%? That figure says that at the snapshot, for each listed coin, the exchange's wallets held at least as much as users' net balances on the books. Coins that aren't listed, money that moved after the snapshot, later profit and loss on futures positions, and the platform's own borrowing are all outside that ratio. Below we compare the numbers first, then explain what they prove and what they don't, and end with the steps to check it yourself.
Latest reserve ratios by exchange
Reserve ratio = the exchange's holdings of a coin ÷ users' net balances of that coin on the platform. The table comes from each exchange's official page or the official public API behind it. "Checked" is the last date we read that period from an official source.
| Exchange | Snapshot | BTC reserve ratio | USDT reserve ratio | Checked |
|---|---|---|---|---|
| Binance | 2026-09-01 | 100.16% | 102.91% | 2026-09-28 |
| OKX | 2026-09-08 | 109% | 105% | 2026-10-13 |
| Bybit | 2026-09-23 | 104% | 110% | 2026-09-28 |
| Gate | 2026-09-13 | 120.31% | 114.25% | 2026-09-28 |
| Bitget | 2026-09-29 | 142% | 107% | 2026-10-13 |
| MEXC | Official page could not be read this time; no figures listed | 2026-10-13 | ||
| BingX | Figures only load after login or a signed request; not listed | 2026-10-13 | ||
| Pionex | Official page could not be read this time; no figures listed | 2026-10-13 | ||
| KuCoin | 2026-09-30 | 109% | 110% | 2026-10-13 |
| WEEX | 2026-10-01 | 146.39% | 100.02% | 2026-10-07 |
| XT.COM | 2026-10-07 | 113% | 113% | 2026-10-13 |
| HTX | 2026-09-01 | 104% | 67% (stablecoins combined 102%) | 2026-10-13 |
| Ourbit | 2026-10-01 | 110.31% | 102.56% | 2026-10-07 |
Sources: the official proof of reserves pages of Binance, OKX, Bybit, Gate, Bitget, BingX, KuCoin, WEEX, XT.COM, HTX and Ourbit. OKX, Bybit, KuCoin and XT.COM round to whole percentages. The figures shown live on the official pages take precedence.
A few things to know first:
- Bitget has published a period after its incident: after the 24 September hot wallet incident, it took a new snapshot at 2026-09-29 17:00 (UTC+8), audit ID Au2026092917. The total reserve ratio is 131%, against 135% in the 09-16 period. In the same period ETH is 110%, USDC 154%, and XRP, one of the affected coins, 107%.
- HTX's USDT needs to be split out: HTX merges USDT, USDC, USDD and other stablecoins into one "USDs" line, which totals 102%. In the breakdown, USDT user net balances are about 872 million and exchange wallets plus custody hold about 588 million, about 67% for USDT alone. The gap is covered by the surplus in other stablecoins such as USDC (704%) and USDD (207%). In the August period, USDT alone was 77%.
- HTX's October period isn't out yet: the official page says it publishes monthly, but as of 2026-10-13 the latest in the official API is still 2026-09-01.
- We could not re-read official figures for Binance, Bybit and Gate this time: on 13 October all three pages needed a browser to run before loading data, and our reads were blocked. The table shows the period we checked on the official pages on 28 September. Binance's 1 October period has probably been published; check the official page.
Method, update frequency and incident record
| Exchange | Method | Third party | Frequency | Major incidents (with an official or first-hand source) |
|---|---|---|---|---|
| Binance | Merkle tree + zk-SNARK, open-source tools | No accounting firm listed | Snapshot on the 1st of each month at 00:00 (UTC), published by the 7th | 2019-05: 7,000 BTC stolen from a hot wallet, covered by the SAFU fund |
| OKX | zk-STARK (total, non-negative and inclusion constraints), wallet addresses signed | No accounting firm listed | Says monthly; actual dates vary | Not covered here |
| Bybit | Merkle tree; wallet ownership shown by "send to self" | Monthly Hacken PoR audit | About monthly, dates vary | 2025-02-21: ETH cold wallet hacked, over $1.4 billion |
| Gate | Merkle tree + zk-SNARK | Hacken reviewed the PoR implementation on 2024-01-03 | No fixed frequency stated | 2018-11: malicious code planted in a third-party analytics script (ESET report) |
| Bitget | Merkle tree, self-published | None listed | About monthly, plus an extra period after the incident | 2026-09-24: unauthorized hot wallet outflows, officially estimated at about $387.5 million |
| BingX | Merkle tree (BTC, ETH, USDT) | Page links Mazars and Hacken (2025) PoR reports | Says it publishes the Merkle tree monthly | Not covered here |
| KuCoin | Merkle tree | Hacken did a full PoR audit once in 2025 | Monthly | 2025-01: pleaded guilty in the US to operating an unlicensed money transmitting business (regulatory) |
| WEEX | Publishes hashed user lists and wallet address lists; no Merkle verification tool | Marked "Audited", no firm named | Snapshot on the 1st of each month | Not covered here |
| XT.COM | Merkle tree verifier | No firm named | About monthly; none in May or June 2026 | 2024-11: about $1.7 million stolen from a hot wallet (CoinDesk report) |
| HTX | Merkle tree, open-source verifier; exchange wallets and custody listed separately | None listed | Says monthly | Not covered here |
| Ourbit | Merkle tree, open-source verifier; excludes earn products | None listed (Hacken and SlowMist are security partners) | No fixed frequency stated | Not covered here |
Sources: each exchange's official proof of reserves page and help center; the HTX verifier is at huobiapi/Tool-Go-MerkleVerify; incident sources are in each exchange's own article. Checked 2026-09-28 to 2026-10-13. "Not covered here" means we have not confirmed an incident from an official announcement or first-hand source, not that none happened.
Read the "Third party" column for what was actually reviewed: Bybit's Hacken reports cover the proof of reserves itself, and Gate's Hacken report reviewed the code that runs its PoR system. Neither is the same as an accounting firm's audit opinion on a company's financial statements.
Merkle tree, zk-SNARK and zk-STARK: the difference
- Merkle tree only: each user's hashed ID and balance becomes a leaf, and leaves are hashed in pairs up to one root. You can confirm you are in the tree, but you cannot see anyone else's leaf. In theory a platform could add fake accounts with negative balances to shrink total liabilities.
- Merkle tree + zk-SNARK (Binance, Gate): a zero-knowledge proof also confirms that every account's net balance is at least zero and that the total equals the sum of all accounts, without revealing anyone's amount.
- zk-STARK (OKX): proves similar conditions (total, non-negative, inclusion) with a different proof system that needs no trusted setup.
All three deal with whether the liabilities side has been understated. Whether the wallets really hold the coins is checked separately, through published wallet addresses, signatures or "send to self" transactions on chain. Anything held with a third-party custodian can't be seen on chain; you have to rely on the custodian's records.
What a reserve ratio above 100% proves, and what it doesn't
It proves
- At the snapshot, coin by coin for the listed coins, the addresses the exchange controls (plus custody) held at least as much as users' net balances.
- If you have checked it yourself, your balance was counted in total liabilities.
It doesn't prove
- Anything about unlisted assets: WEEX and BingX list only BTC, ETH and USDT; XT.COM four coins; KuCoin publishes ratios for four coins. The smaller coins you hold are usually out of scope.
- Liabilities beyond users' net balances: the liabilities side of a PoR is users' net balances on the books at the snapshot. The platform's outside borrowing, money owed to market makers and operating costs are not included. Ourbit says assets in earn products are not counted, and Bybit notes that unrealized profit and loss, leverage and lending make net value differ slightly.
- Futures profit and loss after the snapshot: the snapshot records book value at that moment. If the market moves sharply afterwards, a PoR can't tell you where the winning side's payout comes from. Insurance funds and risk reserves are counted separately, and most exchanges' PoRs leave them out.
- Whether assets are pledged or lent out: you can see holdings on chain, but not whether they were promised to someone else.
- What happened between snapshots: Bybit's February 2025 incident and Bitget's September 2026 incident both happened between two snapshots.
A reserve ratio tells you whether there was enough money at that moment. It is not a financial statement and it is not deposit insurance.
Worked example: the combined figure versus a single coin
Using the raw figures from HTX's official API for 2026-09-01:
- USDT: exchange wallets 41,457,761 + custody 546,870,103 = 588,327,864; user net balances 872,301,196.
Reserve ratio = 588,327,864 ÷ 872,301,196 ≈ 67.4%. - Stablecoins combined (USDs): holdings 993,067,132 ÷ users 972,882,755 ≈ 102.1%.
The gap of about 284 million USDT is covered by surplus holdings of USDC, USDD and other stablecoins. On paper the total is over 100%. But if many users withdrew USDT at once, the exchange would first have to swap other stablecoins into USDT, and a stablecoin like USDD doesn't have USDT's price stability or liquidity.
The same goes for total reserve ratios. Bitget's 09-29 total is 131% while USDT alone is 107%; Gate's 09-13 total is 117% while USD1 alone is only 100.16%. The ratio for the coin you actually hold tells you more than the total.
Check it yourself: six steps
- Find the official page: go to "Proof of Reserves" from the exchange's site footer or help center. Don't use links sent to you in social media messages.
- Check the snapshot date against your holdings: if you deposited after the snapshot, or held none of the listed coins at the time, there will be no record for you.
- Get your data: log in, find an entry such as "Verify" or "My proof of assets" on the PoR page, and download or copy your Merkle path, record ID or leaf.
- Run the open-source tool offline: download the verifier from the official GitHub (Binance zkmerkle-proof-of-solvency, OKX proof-of-reserves, Bybit merkle-proof; Bitget, Gate, Ourbit and HTX each have their own repository), put the files in one folder and run it. If the root hash matches the published one, your balance is in the tree. If you only click "Verify" on the website, the result is still shown by the platform itself.
- Where there is a zk proof, take one more step: Binance, Gate and OKX let you download the full proof file and verify the total and non-negative constraints (for Gate,
./main verify cex). - Spot-check wallets on chain: download the official wallet address list, pick a few large addresses, and look up their balances at the snapshot block height in a block explorer to see whether the total is close to the published figure. Custodial holdings can't be checked this way.
Button names and file names differ by exchange. The detailed steps are in each exchange's own article below.
How to choose
- If you want a mathematical proof on the liabilities side: look at Binance or Gate (zk-SNARK), or OKX (zk-STARK).
- If you want an outside firm to have looked at it: Bybit lists a monthly Hacken PoR audit. BingX, KuCoin and Gate have had one-off or partial Hacken or Mazars reports.
- If you mostly hold USDT: look straight at the USDT ratio. WEEX at 100.02% has the thinnest buffer; for HTX, open the USDs breakdown.
- If you hold smaller coins: first check whether they are in the PoR list. Bitget's 09-29 period lists 19 coins, OKX 22 and Binance 54; WEEX and BingX list only three.
- Look at size too: XT.COM users hold about 375 BTC, Ourbit about 680 and WEEX about 79, against about 20,000 at Bitget, about 140,000 at OKX and about 680,000 at Binance. The same ratio covers very different amounts of withdrawals.
Risks to keep in mind
- A PoR is a transparency tool exchanges publish voluntarily. It is a separate matter from licences and regulation; see the exchange licences comparison by country.
- OKX, Bybit and XT.COM choose their own snapshot dates. Several periods in a row tell you more than any single one.
- Protection funds (Binance SAFU, Bitget's 5,500 BTC, WEEX's 1,000 BTC) pay out case by case at the exchange's discretion. Losses from being phished yourself are usually not covered.
- Keep long-term holdings in your own wallet. Leave only the money you are trading on an exchange, and turn on a withdrawal whitelist and an anti-phishing code.
How this relates to rebates
Binding for a rebate only needs your UID. Fee Otter can't reach your account or assets, so the reserve risk is the same whether or not you bind; see is a fee rebate safe. Once you've picked an exchange, here are the current rebate rates: