As a cryptocurrency exchange, OKX understands that the safety and security of customer assets are top priorities. We ensure our balance sheet always holds enough assets with a 1:1 reserve ratio, giving us a longstanding reputation for best-in-class security and liquidity.
Our on-chain wallet holdings are also public, allowing you to easily confirm that customer deposits are backed 1:1 by real digital assets.
Our commitment to a 1:1 reserve ratio and monthly Proof of Reserves reports sets a high standard for the crypto industry, demonstrating our dedication to preventing the insolvency of our platform and the accuracy of our customer funds and net balances. This is critical for building trust with regulators and fostering a healthy and sustainable crypto ecosystem.
We use a transparent Zero-knowledge proof algorithm, zk-STARK, to prove and verify all OKX account assets held on our exchange.
We verify our ownership of OKX on-chain wallet addresses and the total OKX wallet holdings.
Finally, we verify our reserve ratio by comparing total OKX account assets with total exchange assets from our on-chain wallet addresses.
We take a snapshot of each user's asset balance and input this data into a trace table and an encrypted Merkle tree system. This creates a tamper-proof record, which can be used to verify the accuracy of the balances.
We set three rules or "constraints" that our account asset balances must satisfy. If each constraint is tested and proven true, it confirms the truth of the claims OKX is making.
Rule 1: Total Balance Constraint
The total account asset holdings that OKX claims to hold is the sum of every account's total asset balance.
Rule 2: Non-negative Constraint
Every account’s total balance is more than zero, and their assets are accounted for, covering their liabilities and ensuring that each account has positive net equity. This is crucial in maintaining the solvency of a crypto exchange.
Rule 3: Inclusion Constraint
Every account’s total balance is included in the calculation and verification process.
To verify OKX's reserve ratio, compare the total assets held in OKX's on-chain wallets to the total account assets from the Merkle root.
If our total on-chain asset balance equals or exceeds the total account asset balance, the reserve ratio will confirm that OKX has Proof of Reserves.
Note: 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.
Report period: September, 2024 onwards
Get the data you need for verification by clicking Copy data and pasting the string as a file in a new folder. The file must end with the name “_inclusion_proof.json.”
Open zk-STARK Validator to auto-run the JSON file you saved.
If the verification is successful, the following message is shown:
"Inclusion constraint validation passed"
If the verification fails, the following message is shown:
"Inclusion constraint validation failed"
To verify whether the assets OKX claims to hold are true and that no account has negative assets, follow these steps:
Unzip the file to reveal a "sum_proof_data.json" file.
Open zk-STARK Validator to auto-run the unzipped zk-STARK file.
If the verification is successful, the following message is shown:
“Total sum and non-negative constraint validation passed”
If the verification fails, the following message is shown:
“Total sum and non-negative constraint validation failed”
If you want to verify the ownership of your OKX wallet address and check its balance, compare it against our publicized list of crypto wallet addresses.
OKX will share the crypto type, amount, and signature. In addition, a signed "I am an OKX address" message with the corresponding private key will also be shared.
Using Bitcoin (BTC) as an example, the following steps are how users can verify ownership of their BTC wallet address and balance:
Open the downloaded wallet address information file and copy the highlighted information as shown in the image below. The BTC address, signatures, and message must be copied separately.