Updated Rules checked 2026-10-12
Proof of Reserves (PoR) is a check in which an exchange, at a given snapshot time, matches the coins in its own wallets one by one against the coins users hold on the platform, to show that user assets are backed 1:1 or more.
Of the 13 exchanges this site covers, 12 publish a Proof of Reserves (PoR) page or report; I could not find one for Ourbit. When I checked on 2026-10-12, eight had figures from September 2026 or later: Binance, OKX, Bybit, Bitget, MEXC, KuCoin, XT and Gate. Their latest BTC reserve ratios range from 100.35% at Binance to 297% at MEXC.
A reserve ratio above 100% means that, at the moment of the snapshot, the coins in the exchange’s wallets were at least equal to the user assets it included in the calculation. It does not tell you how much the exchange itself has borrowed, whether the coins in those wallets have been pledged as collateral, or what happened the day after the snapshot. Merkle tree self-verification only confirms that “your balance was counted.”
Below you’ll find a comparison table of all 13 exchanges, then the reserve ratios converted into the actual number of surplus BTC, followed by what PoR can and cannot prove, and the official self-verification steps for Binance and OKX.
Key takeaways: 12 of the 13 exchanges publish a proof of reserves page or report; I found none for Ourbit. On 2026-10-12, eight had figures from September or later. Binance’s 2026-10-01 snapshot puts its ETH reserve ratio at 100.0001%, which works out to only about 3.32 ETH more in its wallets than users hold. A ratio above 100% only means that, at the time of the snapshot, the user assets the exchange counted were matched by at least the same amount of coins. It leaves out the company’s own borrowing and other liabilities, and it cannot show whether the assets have been pledged. Merkle tree self-verification only confirms that your balance is in the user total, not that the exchange’s wallets can cover it. Combining several coins can hide a shortfall in a single one: in Pionex’s 2022 third-party report, stablecoins combined came to 103.69%, while USDT on its own was only 90.02%.
The data below was checked against official pages on 2026-10-12 (data check date) and is provided for reference.
Proof of reserves at 13 exchanges compared: what are the latest reserve ratios?
Every exchange calculates the reserve ratio the same way: the platform’s holdings of a coin ÷ users’ holdings of the same coin on the platform. The table shows the latest period I could read from official pages, from the public data interface (API) behind the official PoR page, or from the exchange’s own press release. Several PoR pages only display figures after running JavaScript, so for those I read the public API behind the page directly and list the API path in the source column.
| Exchange | Latest snapshot | BTC | ETH | USDT | Liabilities included? / Who verifies | Source |
|---|---|---|---|---|---|---|
| Binance | 2026-10-01 00:00 (UTC) | 100.35% | 100.0001% | 103.88% | Liabilities: user loans are included (the verification file contains TotalDebt and TotalCollateral) / Verification: Binance’s own zk-SNARKs proof, no third party | Binance PoR page (API /bapi/apex/v1/public/apex/market/query/userReserveAuditProofSnapshot) |
| OKX | September 2026, period 47 (page data time 2026-09-08 00:00, UTC+8) | 109% | 101% | 105% | Liabilities: the page states that each account’s assets must cover its liabilities / Verification: OKX’s own zk-STARK proof; the page names no third party | OKX PoR page |
| Bybit | 2026-09-23 03:00 (UTC), period 40 | 104% | 103% | 110% | Liabilities: not stated officially / Verification: Hacken | Bybit press release (PR Newswire, 2026-09-30) |
| Bitget | 2026-09-29 17:00 (UTC+8) | 142% | 110% | 107% | Liabilities: not stated officially / Verification: the page names no third party; MerkleValidator is provided for self-checks | Bitget PoR page (API /v1/bill/proof/assets/public/queryPlatformReserveDetail) |
| MEXC | 2026-09-10 | 297% | 111% | 119% | Liabilities: not stated officially / Verification: Hacken | MEXC press release (2026-09-15) |
| KuCoin | 2026-09-30 23:59:59 (UTC+8) | 109% | 117% | 110% | Liabilities: not stated officially / Verification: the page says “independent third party” without naming it | KuCoin PoR page |
| XT | 2026-10-07 (report time) | 112.67% | 111.19% | 112.73% | Liabilities: not stated officially / Verification: the page says it can be audited by an authorized third party, without naming it | XT PoR page (API /exapi/public/asset/reserve/getCommonAuditReportList, calculated from official amounts) |
| Gate | 2026-09-13 (latest audit date) | 120.31% | 123.59% | 114.25% | Liabilities: the page states that each user’s net balance is greater than or equal to zero / Verification: Hacken | Gate PoR page (viewed 2026-10-11; total reserves about USD 8.215 billion, total reserve ratio 117%) |
| BingX | 2026-07-15 | 142.82% | 126.48% | 131.83% | Liabilities: not stated officially / Verification: Mazars, Hacken (2025 report) | BingX press release (PR Newswire, 2026-07-30) |
| HTX | 2026-06-01 (UTC+8), the latest period available in official announcements | 103% | 100% | USDs combined 104% | Liabilities: not stated officially / Verification: not stated officially | HTX Square announcement |
| Pionex | 2022-12-13 14:00 (HKT) | 117.60% | 110.00% | 90.02% (stablecoins combined 103.69%) | Liabilities: leveraged token liabilities are out of scope / Verification: Elite Partners CPA, Moore (agreed-upon procedures, no opinion expressed) | Elite Partners / Moore report |
| WEEX | No figures shown on the page at check time | — | — | — | Liabilities: not stated officially / Verification: the page only shows “Audited” | WEEX PoR page |
| Ourbit | Not published officially | — | — | — | — | — |
Table notes: Binance’s figures come from the ratio field returned by its API (1.00353, 1.000001, 1.038819). XT only publishes the amounts of user assets and platform assets, so I calculated its reserve ratios as “platform assets ÷ user assets.” Gate’s ratios come straight from the 2026-09-13 audit on its PoR page, which lists USDT separately. The Gate announcement for the previous period (2026-08-24, 2026-08-19 snapshot) only gave amounts, stated an “excess reserve ratio” of 22.79% for BTC and 22.05% for ETH, and combined USDT with other stablecoins. HTX does not publish USDT separately; it combines it with other stablecoins. In the “Liabilities included? / Who verifies” column, liabilities means whether users’ loans or negative balances are counted in user assets; none of the PoR reports I read include the company’s own borrowing. Binance’s fields are explained in Binance’s account balance verification guide, OKX’s and Gate’s wording is on their respective OKX PoR page and Gate PoR page, and the third-party firms are taken from each exchange’s PoR page and report above and from the sources in the next table.
Update frequency, Merkle self-checks, zero-knowledge proofs and third-party verification
| Exchange | Update frequency (official wording) | Merkle tree self-check | Zero-knowledge proof | Third-party verification | Scope |
|---|---|---|---|---|---|
| Binance | Snapshot on the 1st of each month at 00:00 (UTC), published by the 7th | Yes | zk-SNARKs | None at present (the API’s audit field says zk-SNARKs) | 55 coins; user file includes equity, liabilities and collateral |
| OKX | Monthly | Yes | zk-STARK | Not stated on the page | 22 coins; includes customer and company assets, with third-party custody listed separately |
| Bybit | Regular updates, monthly recently | Yes | Not stated officially | Hacken | Top 50 tokens by assets under management on the platform |
| Bitget | Monthly (two snapshots in September) | Yes (GitHub MerkleValidator) | Not stated officially | Not stated on the page | 19 assets |
| MEXC | Monthly | Yes | Not stated officially | Hacken | Full list not stated officially |
| KuCoin | Regularly | Yes | Not stated officially | Page says it is verified by an independent third party, without naming it | Page lists BTC, ETH, USDT, USDC |
| XT | Regularly (several periods in 2026, on irregular dates) | Yes | Not stated officially | Page says it can be audited by an authorized third party, without naming it | BTC, ETH, USDC, USDT |
| Gate | Not stated officially | Yes | zk-SNARKs | Hacken (implementation audit dated 2024-01-03) | Announcement lists BTC, ETH, stablecoins, GT, XRP and others |
| BingX | Merkle tree published monthly | Yes (BTC, ETH, USDT) | Not stated officially | Page links Mazars and Hacken (2025) reports | BTC, ETH, USDT, USDC |
| HTX | Monthly | Yes | Not stated officially | Not stated officially | Custody wallet assets are held by a third-party custodian |
| Pionex | Only one third-party report, in 2022 | Yes | None | Elite Partners CPA, Moore | Leveraged token liabilities and the matching assets are out of scope |
| WEEX | Not stated officially | Not stated officially | Not stated officially | Page only shows an “Audited” label | Not stated officially |
| Ourbit | No proof of reserves published officially | ||||
Sources for this table: Binance’s frequency and verification method are in Binance’s account balance verification guide; OKX’s zk-STARK and scope notes are on the OKX PoR page; Bybit’s Merkle self-check is in Bybit’s asset verification guide; Bitget’s frequency and 19 assets are in Bitget’s period 46 announcement (2026-09-17); Gate’s Merkle Tree + zk-SNARKs and Hacken report are on the Gate PoR page; BingX’s monthly Merkle tree and audit reports are on the BingX PoR page; HTX’s custody notes are on the HTX PoR page.
What does a reserve ratio above 100% mean? The surplus in BTC
Percentages that look similar can mean very different numbers of coins. Using the user assets and platform assets each exchange publishes, I calculated the BTC “surplus”. For Gate’s 2026-09-13 period I only have the ratios, so Gate’s row uses the previous period (2026-08-19), whose announcement lists the amounts:
| Exchange (snapshot date) | User BTC assets | Platform BTC assets | Surplus BTC | Reserve ratio |
|---|---|---|---|---|
| Binance (2026-10-01) | 688,572.68 | 691,003.59 | About 2,430.91 | 100.35% |
| OKX (September 2026) | 139,865 | 153,151 | 13,286 | 109% |
| Bybit (2026-09-23) | 56,131 | 58,721 | 2,590 | 104% |
| Gate (2026-08-19) | 22,436 | 27,550 | 5,114 | 122.79% |
| Bitget (2026-09-29) | 20,531.72 | 29,099.61 | About 8,567.88 | 142% |
| KuCoin (2026-09-30) | 7,358.67 | 7,994.37 | About 635.70 | 109% |
| MEXC (2026-09-10) | 4,106.57 | 12,202.13 | About 8,095.56 | 297% |
| XT (2026-10-07) | 375.1 | 422.63 | About 47.53 | 112.67% |
The table shows two things. First, a high reserve ratio does not mean a large exchange: MEXC’s BTC reserve ratio is 297%, but its users hold 4,106.57 BTC, roughly 0.6% of Binance’s figure. Second, some exchanges run thin buffers: Binance’s users hold 3,799,136.43 ETH and the platform holds 3,799,139.75 ETH, a surplus of only 3.32 ETH and a reserve ratio of 100.0001%. That alone does not signal a problem; it simply shows that “above 100%” can mean just barely above.
Another figure worth checking is the share held by third-party custodians. Of Binance’s 691,003.59 BTC, 11,453.47 BTC are with third-party custodians, about 1.66%; of OKX’s 153,151 BTC, 6,792 BTC are in third-party custody, about 4.43%. The OKX page states that third-party custody balances must be confirmed with the custodian, and HTX also states that its custody wallet assets are held by a third-party custodian. You cannot check this part on the blockchain yourself.
What can proof of reserves prove, and what can’t it?
What it can prove: at the moment of the snapshot, how many coins sat in the wallet addresses the exchange controls, and what the user balances it included in the calculation added up to. If you verify the Merkle tree yourself, you can also confirm that your balance was counted in that total.
What it cannot prove is actually spelled out in the exchanges’ own explanations:
- It only covers the moment of the snapshot: OKX states that its report is a snapshot of account assets at the time the data was captured, and that tokens outside the scope and transactions after the snapshot are not included. Binance also notes that the report is a snapshot, not real-time assets.
- It only looks at the user assets the exchange chooses to include: Pionex’s 2022 report states that leveraged token liabilities and their matching assets are out of scope; Bybit only covers the top 50 tokens by assets under management. PoR will not show liabilities outside the scope.
- It ignores the company’s own liabilities: every PoR page and announcement I read only compares user assets with platform wallets. None lists the company’s own borrowing or payables, and none shows whether the coins in its wallets have been pledged or lent out.
- A third-party report is not a guarantee either: Pionex’s report is an “agreed-upon procedures” engagement performed by an accounting firm, and the report states that it is not an assurance engagement and that the accountants express no opinion or assurance conclusion.
- Combined figures can hide a shortfall: in the same Pionex report, stablecoins combined came to 103.69%, but USDT on its own was only 90.02%. HTX currently also combines USDT with other stablecoins, as did Gate’s 2026-08-19 announcement, so the combined figure alone does not tell you whether USDT by itself is fully covered.
So PoR is better seen as a minimum level of transparency: publishing it, publishing it regularly and letting users verify it is better than publishing nothing. But it is not a financial statement, and it cannot tell you whether an exchange will run into trouble.
How to verify proof of reserves yourself: Binance and OKX steps
Self-verification involves two things: confirming that your account is in the Merkle tree, and confirming that the wallet addresses the exchange publishes really belong to it. The first works much the same everywhere; below, Binance and OKX serve as examples because their official guides are the most complete.
Binance: Merkle Tree + zk-SNARKs
- Go to the verification tool page Binance publishes on GitHub and download the version for the period you want to check (the official guide has a version table).
- Log in to Binance, go to Profile > Wallet > Verification, and expand the verification data.
- Find the period whose Verification Type is “Merkle Tree + Zksnarks” and click Download Merkle Tree.
- To verify the root hash, put config.json, proof.csv and zkpor864.vk.save in the tool’s config folder and run it.
- To verify your own account, put user_config.json in the config folder and run the tool with the -user parameter. This file contains your Record ID, total equity, total liabilities and total collateral.
The steps come from Binance’s account balance verification guide. Binance states that the report is a snapshot taken on the 1st of each month at 00:00 (UTC) and published by the 7th, so it is normal for it not to match your current balance.
OKX: zk-STARK Validator
- Go to OKX’s “PoR reports” and click Details to open your report data.
- Click Copy data, create a file in a new folder and paste the data into it. The file name must end in “_inclusion_proof.json”.
- Download OKX’s open-source zk-STARK Validator and put it in the same folder.
- Open the zk-STARK Validator. It reads the JSON file automatically; if verification succeeds, it shows “Inclusion constraint validation passed”.
This method applies to reports from September 2024 onward. OKX also publishes a list of its wallet addresses, each with a signed message reading “I am an OKX address”, and you can confirm ownership with OKX’s open-source VerifyAddress tool or a third-party tool (OKX PoR page). OKX’s zk-STARK enforces three rules: the total equals the sum of all account balances, no account has a negative net balance, and every account is included in the calculation.
Other exchanges
On Bybit, you can view your Merkle path on the Verify My Account page, or copy the data into myProof.json and verify it yourself with the program Bybit publishes on GitHub. Bybit also states that accounts opened after the audit, or accounts holding none of the audited tokens, will have no matching audit record (Bybit’s asset verification guide). Gate lets you download the Merkle tree and a user configuration file, and its verification program shows “All proofs verify passed!!!” when it runs successfully (Gate PoR page). On BingX, you log in and look up your Hash ID; it supports BTC, ETH and USDT.
Why can’t you find the latest figures for some exchanges?
While putting this together, whether the data could be read at all, and how long it had gone without an update, turned out to be signals in themselves. Here is what I found when I checked on 2026-10-12:
- Bitget took two snapshots in September: its API lists a total reserve ratio of 135% for the 2026-09-16 00:00 (UTC+8) period and 131% for the 2026-09-29 17:00 period. The official announcement only gives the 135% for period 46; for the latest figure you need to look at the PoR page. On 2026-09-24, between the two periods, Bitget’s hot wallet was hacked. Bitget said its protection fund would cover the loss and user assets were not affected, so the 09-29 period is a post-incident snapshot; the incident is covered in our exchange safety record.
- Two XT periods have identical figures: in the API, the 2026-07-04 and 2026-08-05 periods show exactly the same BTC, ETH, USDC and USDT amounts. There was also no report between April 30 and July 4.
- Gate’s September figures are on its PoR page: as of 2026-10-12, the only report I found in Gate’s announcements was for the 2026-08-19 snapshot; the figures for the 2026-09-13 period are on the Gate PoR page (viewed 2026-10-11): total reserves of about USD 8.215 billion and a total reserve ratio of 117%.
- The HTX, BingX and WEEX pages show no readable figures: all three PoR pages need JavaScript, and no data could be read at check time. The HTX figures come from its 2026-06-01 announcement on HTX Square, the BingX figures from a 2026-07-30 press release, and the WEEX page only showed empty fields.
- Pionex only has a 2022 report: the third-party report Pionex published is a 2022-12-13 snapshot, and I found no newer official report after that.
- Ourbit has no PoR: the proof-of-reserves path on Ourbit’s website returns a 404, and I found no proof of reserves for it in search results either.
What else to check besides reserves
PoR only answers whether “users’ coins were there at the moment of the snapshot.” To judge an exchange, you also need to know whether it has been hacked, suspended withdrawals or been named by regulators; those events are collected in our exchange safety record. For fake apps, fake support and fake rebates that impersonate exchanges, see common types of exchange scams.
Three more things are worth watching: whether PoR is updated on time, whether recent withdrawals have gone through smoothly, and whether all your assets sit at a single exchange. With a futures account, keep in mind that when you use leverage, an adverse price move may get your position liquidated, which has nothing to do with the exchange’s reserves. For differences in withdrawal networks and fees, see the USDT withdrawal fee comparison.
Proof of reserves snapshot log
2026-10-12 snapshot: Binance BTC 100.35%, ETH 100.0001%, USDT 103.88% (2026-10-01); OKX BTC 109%, ETH 101%, USDT 105% (September 2026); Bybit BTC 104%, ETH 103%, USDT 110% (2026-09-23); Bitget BTC 142%, ETH 110%, USDT 107%, total reserve ratio 131% (2026-09-29); MEXC BTC 297%, ETH 111%, USDT 119% (2026-09-10); KuCoin BTC 109%, ETH 117%, USDT 110% (2026-09-30); XT BTC 112.67%, ETH 111.19%, USDT 112.73% (2026-10-07); Gate BTC 120.31%, ETH 123.59%, USDT 114.25%, total reserve ratio 117% (2026-09-13; previous period 2026-08-19: BTC 122.79%, ETH 122.05%, stablecoins combined 111.63%); BingX BTC 142.82%, ETH 126.48%, USDT 131.83% (2026-07-15); HTX BTC 103%, ETH 100%, USDs combined 104% (2026-06-01); Pionex BTC 117.60%, ETH 110.00%, USDT 90.02% (2022-12-13); WEEX page showed no figures; Ourbit has not published one.
Each time I update this article, I’ll add the new date here and keep the older entries, so you can see how the reserve ratios change over time.
FAQ
What is proof of reserves (PoR)?
Proof of reserves is an exchange’s published comparison of “the coins the platform holds” with “the coins users hold on the platform,” meant to show that user assets are backed at least 1:1. Most exchanges build all user balances into a Merkle tree so you can confirm your balance was counted, then publish their wallet addresses and balances; dividing one by the other gives the reserve ratio.
Does a reserve ratio above 100% mean the exchange is safe?
No. The reserve ratio only shows that, at the time of the snapshot, the user assets the exchange counted were matched by at least the same amount of coins. It leaves out the company’s own borrowing and other liabilities, and it cannot show whether the assets have been pledged. OKX itself states that tokens outside the scope and transactions after the snapshot are not included in the report.
How often does Binance update its proof of reserves?
Once a month. Binance takes a snapshot on the 1st of each month at 00:00 (UTC) and publishes the results by the 7th. The latest period is 2026-10-01, with reserve ratios of 100.35% for BTC, 100.0001% for ETH and 103.88% for USDT. The snapshot history listed in Binance’s API starts on 2022-11-22.
How do you verify OKX’s proof of reserves?
Copy your report data from “PoR reports,” save it in a file whose name ends in “_inclusion_proof.json,” then run OKX’s open-source zk-STARK Validator. If it shows “Inclusion constraint validation passed,” the verification succeeded. You can confirm who owns the wallet addresses with the VerifyAddress tool.
What does a successful Merkle tree verification mean?
It means your account balance was counted in the user total the exchange published and was not left out. It does not mean the exchange’s wallets can cover every user; for that you need to check the wallet addresses and balances separately. Accounts opened after the snapshot will not have a record either.
Why do some exchanges have reserve ratios above 200%?
Because the platform’s wallets hold far more coins than its users do. In MEXC’s 2026-09-10 snapshot, for example, the platform held 12,202.13 BTC while users held 4,106.57 BTC, a reserve ratio of 297%. PoR does not explain where the surplus comes from or whether those coins carry other liabilities, so a higher reserve ratio does not mean a safer exchange.
Is PoR with an accountant or third-party audit more reliable?
It adds a layer of checking, but it is not a guarantee. Pionex’s report is an agreed-upon procedures engagement performed by an accounting firm, and the report states that it is not an assurance engagement and that the accountants express no opinion. The third party Bybit and MEXC name is the security firm Hacken; Binance currently uses zk-SNARKs, and its API’s audit field lists no third-party firm.
What if an exchange doesn’t publish proof of reserves?
Without PoR there are no figures to check, so you can only rely on other information, such as past withdrawal records and incident history. Of the 13 exchanges, Ourbit has not published one, Pionex only has a 2022 report, and the WEEX page showed no figures at check time; read this alongside our exchange safety record.
Referral codes and sign-up details for each exchange are collected in the exchange referral code overview, for example the Binance referral code, OKX referral code, Bitget referral code and MEXC referral code; for Bybit’s rebate channel, see Bybit fee rebate. To compare two exchanges, see Binance vs OKX, Bybit vs Bitget and MEXC vs Gate.
