This guide explains how to verify ownership and check balances of OKX wallet addresses using OKX's reserve snapshot file and open-source verification tools.
Prerequisites for Verification
Download the Proof of Reserves ZIP file from OKX. The folder contains:
- VerifyAddress: Validates reserve address ownership.
- CheckBalance: Checks reserve address balances (Note: Requires RPC node or OKLink API configuration in
rpc.json).
- Save the downloaded files and verification tools in the same directory.
Verifying Address Ownership
Method 1: Using OKX’s Open-Source Tools
Open Terminal:
- Mac: Terminal
- Windows: Command Prompt
- Navigate to the download directory (e.g.,
cd ~/Downloads/proof-of-reserves). Run the command (replace filename if needed):
Mac:
./VerifyAddress --por_csv_filename=okx_por_20221122.csvWindows:
VerifyAddress.exe --por_csv_filename=okx_por_20221122.csv
If successful, the terminal displays:
"Signature verification completed. All addresses passed."
👉 Need help with terminal commands?
Method 2: Third-Party Tools
Use these tools for specific address types:
- BTC Single-Signature Address: Verify via Blockchain.com Explorer.
- EVM Address (ETH/USDT): Use Etherscan.
- TRON Address: Check via TRONSCAN.
Steps:
- Copy a record (address + message + signature) from OKX’s snapshot file.
- Paste into the respective explorer’s verification tool.
- Confirm the output matches OKX’s ownership claim.
Checking Wallet Balances
For BTC Addresses:
Sync Bitcoin Core to the snapshot block height:
- Configure
bitcoin.confwith RPC credentials. Revert node using:
./bitcoin-cli invalidateblock <block_hash>
- Configure
Use CheckBalance to validate:
Single address:
./CheckBalance --mode="single_address" --coin_name="btc" --address="3A1JRK..." --por_csv_filename=okx_por_20221122.csvTotal balance:
./CheckBalance --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okx_por_20221122.csv
For ETH/USDT Addresses:
Configure
rpc.jsonwith:- Default RPC, or
- Third-party nodes (Infura/Alchemy), or
- OKLink API key.
Run balance checks:
ETH example:
./CheckBalance --mode="single_address" --coin_name="eth" --address="0xc5451b..." --por_csv_filename=okx_por_20221122.csv
FAQ
1. Why verify wallet ownership?
Ensures transparency that OKX holds the private keys to reserve addresses.
2. What if the balance doesn’t match?
Confirm the snapshot block height and RPC configuration. Discrepancies may indicate sync errors.
3. Can I verify staked ETH?
Yes. Use beaconcha.in to check validator public keys against OKX’s snapshot.
👉 Explore OKX’s Proof of Reserves
Final Notes
- Always cross-check results with OKX’s published files.
- For advanced users: Manually verify signatures using cryptographic libraries.
- Questions? Refer to OKX’s official documentation or community forums.