For the purpose of this article, we'll refer to value as balance. This article will show you how to verify the ownership and balance of our wallet addresses. To verify, you'll need to use an Okcoin audit file and an open-source verification tool.
How to prepare for verification
- Download our verification tools from GitHub. There are two tools you'll need.
- VerifyAddress will verify ownership of the wallet address.
- CheckBalance will verify wallet address balance. Note: rpc.json needs to be configured, in order to configure node RPC or OKLink open API and other related information.
- Download our audited wallet address files
- Create a folder for both the downloaded wallet address files and verification tools
To verify the ownership of our wallet addresses, follow the steps in the verify Okcoin's ownership of wallet addresses section
To verify the balance of reserves address, follow the steps in the verification of wallet reserves address balance section
Crypto and networks supported for verification
Crypto
|
Network
|
BTC
|
BITCOIN
|
ETH
|
Ethereum
|
USDT
|
Ethereum
|
USDT
|
Tron
|
USDT
|
Polygon
|
USDT
|
Avalanche
|
USDT
|
OKC
|
Verify Okcoin's ownership of wallet addresses
- The BTC wallet adopts two signature methods: single signature and multi-signature
- The multi-signature adopts a 2/3 signature. Each piece of data contains two signatures, which are signed by two private keys among the three private keys held by Okcoin. By verifying the two signatures, it can be ensured that we have at least two of the private keys. This proves Okcoin's ownership of the multi-signature address.
- The single-signature address passed message and signature results prove Okcoin's ownership of the single-signature address.
- ETH and USDT wallet
- Passed message and signature results prove Okcoin's ownership of the single-signature address.
You can confirm the ownership of the wallet address published by Okcoin with our open-source tools or third-party tools.
How to verify Okcoin's ownership of wallet addresses with our verification tools
Follow these steps to verify our ownership
- Open the terminal program on your device
- Terminal on Mac
- Command Prompt on Windows
- Run the provided command and locate the directory of the downloaded folder. In our case, enter the command
cd ~/Downloads/proof-of-reserves
- Enter the following command in terminal (The file name can be replaced with another file that needs to be validated)
Mac
./VerifyAddress --por_csv_filename=okcoin_por_2023051101.csv
Windows
VerifyAddress.exe --por_csv_filename=okcoin_por_2023051101.csv
If the verification is passed, the terminal will return "Verify address signature end, all address passed"
Verification passed
How to verify Okcoin's ownership of wallet address with a third-party verification tool
-
BTC single-signature address - BTC signature verification tool
-
EVM address - ETH signature verification tool
-
TRX chain address - TRX chain signature verification tool
-
Download and open Proof of Reserves wallet address files
Verify the balance of Okcoin's wallet addresses
Verify by following these steps:
- Compare the address balance of a specific crypto chain at the snapshot height time with the address balance in the snapshot file published by Okcoin to verify whether they're consistent.
- Compare the sum of address balance of a specific crypto chain at snapshot height time with the sum of address balance in the snapshot file published by Okcoin to verify whether they're consistent.
When checking the address balance at the height of the snapshot, you can configure node rpc for value query or configure OKLink's open API for value query.
How to verify BTC specified address balance and total balance
1. Install the Bitcoin Core client, synchronize to the latest height, and then roll back the block to the height of the Okcoin snapshot
-
-
Download Bitcoin Core. Make sure to download version 0.21 or version after 0.21.
-
-
-
You need to edit the configuration file of Bitcoin Core. In order to visit RPC node, create ~/.bitcoin/bitcoin.conf file and open it with an editor or run the command of
vi~/.bitcoin/bitcoin.conf
,edit
-
server=1
rpcuser=Okcoin
rpcpassword=OkcoinWallet
-
Enter the bin directory,run
./bitcoind
command,and start the node
-
Wait for the node to synchronize to the latest height. It'll take about 12 hours.
-
After synchronizing to the latest height, you need to roll back the node to the Okcoin snapshot height to query the value of the snapshot height. The steps are as follows:
-
Go to the BTC browser to query the block hash of the next height of the snapshot height. Copy this block hash and fill in the hash value part of the command below.
-
Run
./bitcoin-cli invalidateblock
00000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27
command
(Note : ‘00000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27’ - This parameter is the hash value of the next block at the height of the BTC block in the Proof of reserves file that you downloaded. This is just an example. You need to query the hash value based on the BTC block height in the downloaded Proof of reserves file.)
-
-
- Wait for the node to roll back to the snapshot height, you can run
./bitcoin-cli getblockcount
command to check whether the rollback is complete, you can also view the node output log judgment
- Wait for the node to roll back to the snapshot height, you can run
The node output log judgment
2. Configure the parameters
- Open rpc.json file
- Configure btc-related RPC parameters in the rpc.json file and save the file, as shown in the figure below
3. Use the tool CheckBalance to verify whether the balance of the on-chain address is consistent with the balance shown in the snapshot file
Verification Steps
- Open the terminal program
- Terminal for Mac
- Command Prompt for Windows
- Run the command and locate to the directory of the downloaded folder. In our case, enter the command
cd ~/Downloads/proof-of-reserves
Verify the balance of a single address
1. Enter the following command on the terminal, as shown below (The address and file name can be replaced with other addresses and files that need to be validated)
Mac
./CheckBalance --mode="single_address" --coin_name="btc" --address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL" --por_csv_filename=okcoin_por_2023051101.csv
CheckBalance.exe --mode="single_address" --coin_name="btc" --address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL" --por_csv_filename=okcoin_por_2023051101.csv
3. Compare the Okcoin balance published in the file and the returned result to verify that it is consistent
Verify the balance of all addresses
1. Enter the following command on the terminal, as shown below (The file name can be replaced with another file that needs to be validated)
Mac
./CheckBalance --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okcoin_por_2023051101.csv
CheckBalance.exe --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okcoin_por_2023051101.csv
2. According to the returned result, the balance of all addresses is shown as below
3)Compare the Okcoin balance published in the file and the returned result to verify that it is consistent
How to verify ETH/USDT specified address balance and total balance
Okcoin has published the addresses on the Ethereum, Polygon, Avalanche and other chains that it owns and the balance of related assets (ETH or USDT). You can use open source tools to verify the balance of related addresses.
-
Use the default rpc without modifying rpc.json, you can directly go to the verification step
-
Use third-party node rpc (such as: Infura, Alchemy) - please go to the appendix
-
Use OKLink's API for verification - please go to the appendix
Verification steps
- Open the terminal program
- Terminal for Mac
- Command prompt for Windows
- Run the command and locate the directory of the downloaded folder. In our case, enter the command
cd ~/Downloads/proof-of-reserves
Verify a single address balance:
1. Suppose you want to verify whether the balance of the ETH address 0xc5451b523d5fffe1351337a221688a62806ad91a at the specified height is consistent with the balance displayed in the snapshot file (E.g. okcoin_por_2023051101.csv), you need to execute the following command on the terminal
Mac
./CheckBalance --mode="single_address" --coin_name="eth" --address="0xc5451b523d5fffe1351337a221688a62806ad91a" --por_csv_filename=okcoin_por_2023051101.csv
CheckBalance.exe --mode="single_address" --coin_name="eth" --address="0xc5451b523d5fffe1351337a221688a62806ad91a" --por_csv_filename=okcoin_por_2023051101.csv
3. Compare the Okcoin balance published in the file and the returned result to verify that it is consistent
Verify the sum of all address balances of a certain crypto
./CheckBalance --mode="single_coin_total_balance" --coin_name="eth" --por_csv_filename=okcoin_por_2023051101.csv
CheckBalance.exe --mode="single_coin_total_balance" --coin_name="eth" --por_csv_filename=okcoin_por_2023051101.csv
BTC, ETH, USDT-ERC20, USDT-TRC20, USDT-POLY, USDT-AVAXC, USDT-OKC
3. Compare the Proof of Reserves published by Okcoin to the output results and the balance of the address to the balance in the Proof of Reserves. Consistency proves the sum of the balances that Okcoin has at the time of the snapshot.
Appendix
Use third-party node RPC (e.g. Infura, Alchemy)
Configure the rpc parameters of each chain archive node in the rpc.json file, as shown in the following figure:
OKLink API value verification
Configure parameters related to OKLink open API in the rpc.json file, as shown in the figure below