This guide explains how to verify OKX's ownership of wallet addresses and their balances using publicly available reserve snapshots and open-source verification tools.
Prerequisites for Verification
Download Tools
Contains:
VerifyAddress: Validates address ownership.CheckBalance: Validates address balances (requiresrpc.jsonconfiguration for node RPC/APIs).
Download Files
Organization
- Store both files in the same folder.
Verifying OKX's Wallet Address Ownership
OKX’s snapshot data includes:
- Addresses
- Message: "I am an OKX address"
- Signatures
- BTC multisig scripts
1. BTC Wallets
- Multisig: Uses 2/3 signatures to prove control of ≥2 private keys.
- Single-sig: Verified via message + signature.
2. ETH/USDT Wallets
- Proven via message + signature.
👉 Verify ownership using OKX’s tools
Method 1: Reserve Verification Tool
Open Terminal
- Mac: Terminal
- Windows: CMD
Navigate to Tool Directory
cd ~/Downloads/proof-of-reservesRun Command
Mac:
./VerifyAddress --por_csv_filename=okx_por_20221122.csvWindows:
VerifyAddress.exe --por_csv_filename=okx_por_20221122.csv
Expected Output
Verify address signature end, all address passed
Method 2: Third-Party Tools
Supported Address Types:
- BTC single-sig
- EVM chains (ETH/USDT)
- TRON
Example: BTC Address
- Copy address, message, and signature from the snapshot.
- Paste into a BTC signature verification tool (e.g., Blockchain.com Explorer).
Verifying OKX’s ETH Staking Assets
- Download the ETH staking file.
Verify public keys via Etherscan by matching:
From addressRecipient address
Verifying Wallet Balances
BTC Balances
- Sync Bitcoin Core to snapshot height.
Configure
rpc.json:{ "btc": { "rpc_url": "http://localhost:8332", "rpc_user": "OKX", "rpc_password": "OKXWallet" } }Run CheckBalance:
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
ETH/USDT Balances
Use Default RPC or configure
rpc.jsonfor:- Infura/Alchemy (EVM chains).
- OKLink API (see OKX’s guide).
Commands:
Single address:
./CheckBalance --mode="single_address" --coin_name="eth" --address="0xc54..." --por_csv_filename=okx_por_20221122.csvTotal balance:
./CheckBalance --mode="single_coin_total_balance" --coin_name="eth" --por_csv_filename=okx_por_20221122.csv
FAQs
Q1: What if the tool shows a security error on Mac?
A1: Go to System Preferences > Security & Privacy > General and allow the app.
Q2: Can I use third-party RPCs?
A2: Yes! Configure rpc.json with Infura/Alchemy endpoints.
Q3: How do I verify TRON addresses?
A3: Use Tronscan or similar explorers with the snapshot’s message/signature.
Appendix
Using OKLink API
- Create an API key via OKLink’s dashboard.
Update
rpc.jsonwith:{ "oklink": { "api_key": "YOUR_KEY", "base_url": "https://www.oklink.com/api" } }