This guide explains how to use OKX's reserve snapshot file and open-source reserve verification tools to confirm wallet address ownership and check balances.
Preliminary Steps for Verification
Download the OKX Proof of Reserves zip file containing two essential tools:
- VerifyAddress: Confirms reserve address ownership
- CheckBalance: Verifies reserve address balances (requires RPC node configuration via
rpc.json)
- Place the proof of reserves file and verification tools in the same directory.
Verifying Address Ownership
OKX's snapshot data includes:
- Wallet addresses
- "I am an OKX address" messages with signatures
- Multi-signature BTC redemption scripts
Bitcoin Wallet Verification Methods
- Single-signature BTC addresses: Message transmission and signature results prove OKX ownership
- Multi-signature BTC addresses: Uses 2-of-3 signature scheme, requiring validation of two signatures from OKX's three private keys
ETH/USDT Wallet Verification
- Message transmission and signature results serve as proof of ownership
Step-by-Step Verification Process
Open terminal:
- Mac: Terminal
- Windows: Command Prompt
Navigate to download directory:
cd ~/Downloads/proof-of-reservesRun verification command (replace filename as needed):
Mac:
./VerifyAddress --por_csv_filename=okx_por_20221122.csvWindows:
VerifyAddress.exe --por_csv_filename=okx_por_20221122.csv
- Successful verification displays: "Verify address signature end, all address passed"
👉 Learn more about wallet security best practices
Third-Party Tools for Additional Verification
For these address types, use third-party tools:
- Single-signature BTC addresses
- EVM addresses
- TRON chain addresses
Checking Wallet Balances
Compare on-chain address balances with OKX's published snapshot:
- Configure RPC node or use OKLink's open API
- Use CheckBalance tool to verify balances match snapshot data
Bitcoin Core Node Setup
- Install Bitcoin Core client (version 0.21+)
- Sync to latest block height
Configure RPC access in
bitcoin.conf:server=1 rpcuser=OKX rpcpassword=OKXWallet- Roll back to snapshot height using block hash
Balance Verification Commands
Single Address Check:
./CheckBalance --mode="single_address" --coin_name="btc" --address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL" --por_csv_filename=okx_por_20221122.csvTotal Coin Balance Check:
./CheckBalance --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okx_por_20221122.csvETH/USDT Balance Verification
OKX publishes wallet addresses and balances for:
- Ethereum
- Optimism
- Arbitrum
- Polygon
- Avalanche
Use CheckBalance with:
- Default RPC
- Third-party RPC (Infura/Alchemy)
- OKLink API
👉 Explore advanced verification methods
FAQ
Why is address ownership verification important?
Verification ensures transparency and confirms OKX actually controls the reserve addresses holding user funds.
What if I get a "developer cannot be verified" error on Mac?
Go to System Preferences > Security & Privacy > General and allow apps from App Store and identified developers.
How often does OKX update its proof of reserves?
OKX provides regular snapshots, typically monthly, to maintain transparency about reserve holdings.
Can I verify balances without running a full node?
Yes, you can use OKLink's API or third-party RPC services as alternatives to running your own node.
What cryptocurrencies can I verify?
The tools support BTC, ETH, USDT (multiple chains), and other major assets held by OKX.
Appendix
Third-Party RPC Configuration
Configure rpc.json with:
- Archive node endpoints
- API keys for services like Infura or Alchemy
OKLink API Setup
- Create API key at OKLink
- Configure
rpc.jsonwith your API credentials - Use for balance queries without local node
This verification process ensures OKX maintains full reserves of all customer funds, providing transparency and trust in the exchange's operations.