How to Verify Your Assets in the OKX Merkle Tree (Merkle Tree V2)

·

In an era where transparency and trust are paramount in digital asset platforms, OKX has implemented a robust system to prove its financial integrity through Proof of Reserves (PoR) using a cryptographic structure known as the Merkle Tree V2. This advanced method ensures users can independently verify that their assets are included in the exchange’s total liabilities. Here's how you can confirm your holdings are accurately represented.


Understanding the Merkle Tree

A Merkle Tree, also known as a Hash Tree, is a hierarchical data structure commonly used in blockchain and distributed systems for efficient and secure verification of large datasets. In the context of OKX, it allows the platform to publish a single root hash representing all user balances without revealing individual account details—preserving privacy while ensuring transparency.

The tree is built from the bottom up:

👉 Verify your crypto holdings securely with step-by-step tools and guidance.


Node Information

Each node in the Merkle Tree contains two key pieces of data:

For example:
be324cf06aee0616b4ec20c3,{"BTC":"1.023","ETH":"0","USDT":"20.2343322"}

This format ensures every user's balance is uniquely encoded and verifiable within the tree.


Hash Calculation Rules

Leaf Nodes (Excluding Padding Nodes)

The hash of each leaf node is calculated using the formula:
hash = SHA256(nonce + balances)

Where:

Example:
{"BTC":"1.023","ETH":"0","USDT":"20.2343322"}

This design prevents tampering and ensures deterministic hashing across all verifications.


Parent Node Hashing

To compute the hash of a parent node:
hash = SHA256(h1 + h2 + BTC_sum + ETH_sum + USDT_sum + height)

Where:

This layered hashing guarantees that any change in underlying data propagates all the way to the root, making falsification detectable.


Asset Splitting for Privacy Protection

To enhance user privacy, OKX applies a random splitting mechanism:

These split nodes are then randomly scrambled across the tree structure, ensuring no pattern reveals which nodes belong to the same user.

This technique maintains audit accuracy while significantly reducing traceability.


Padding Nodes for Structural Integrity

Since a Merkle Tree must be a full binary tree (with $2^n$ leaf nodes), padding is applied when the number of actual data points is odd or insufficient.

When a node lacks a sibling:

This preserves structural consistency without altering the integrity of the root hash.


How to Verify Your Assets in the OKX Merkle Tree

You don’t have to take OKX’s word for it—you can personally validate whether your assets are included in the published reserve report.

Verification Principle

Using your personal audit data (including nonce and balances), you can:

  1. Recalculate your leaf node hashes
  2. Follow the provided Merkle proof path upward
  3. Reconstruct the root hash step by step

If your computed root matches the official one published by OKX, your assets are confirmed part of the reserve.

This process leverages cryptographic trust—no third party required.


Step-by-Step Verification Guide

Step 1: Access Your Audit Data

Log in to your OKX account and navigate to Assets > Proof of Reserves. Select an audit period and click Details to view your snapshot information.

👉 Start verifying your crypto assets with direct access to audit tools.

Step 2: Copy Your Merkle Proof Data

Click Copy Data to save your personalized JSON string containing:

Step 3: Save as JSON File

Open a text editor (like Notepad or TextEdit), paste the copied data, and save it as merkle_proof_file.json.

On Mac: Use Terminal:

touch merkle_proof_file.json

Then open Finder, locate the file, paste data, and save.

On Windows: Save manually as merkle_proof_file.json in your desired folder.

Step 4: Download Required Files

  1. Go to the Liability Report section and download the Full Merkle Tree file (full-liabilities-merkle-tree.txt)
  2. Download the official MerkleValidator tool (available for Mac and Windows)

Place all three files—merkle_proof_file.json, full-liabilities-merkle-tree.txt, and MerkleValidator—in the same directory (e.g., ~/Downloads/proof-of-reserves).

Step 5: Run the Validator

Open your terminal or command prompt and navigate to the folder:

cd ~/Downloads/proof-of-reserves

Run the appropriate command:

Mac:

./MerkleValidator --merkle_file full-liabilities-merkle-tree.txt --user_info_file merkle_proof_file.json

Windows:

MerkleValidator.exe --merkle_file full-liabilities-merkle-tree.txt --user_info_file merkle_proof_file.json
⚠️ Mac Security Note: If blocked due to "unidentified developer," go to System Preferences > Security & Privacy > General, unlock settings, and allow the app.

Step 6: Review Results

A successful result means your assets are cryptographically proven within OKX’s reserves.


Alternative: Build Your Own Verifier

Advanced users can examine the open-source code of the MerkleValidator tool or write their own script using standard SHA256 libraries in Python, JavaScript, or other languages. With clear hashing rules provided, custom verification programs can be developed for automated or batch checks.

This empowers developers and institutions to integrate PoR checks into their compliance workflows.


Frequently Asked Questions (FAQ)

Q1: What is Proof of Reserves (PoR)?

Proof of Reserves is a cryptographic method allowing exchanges like OKX to prove they hold sufficient assets to cover user liabilities. It uses Merkle Trees to enable individual users to verify their balances without exposing private data.

Q2: Why does OKX split my balance into two nodes?

Balance splitting enhances privacy by preventing direct linkage between users and their leaf nodes. Combined with random scrambling, it makes tracking specific accounts extremely difficult.

Q3: Can I verify my assets without downloading software?

Currently, full verification requires running the MerkleValidator tool locally for security reasons. However, simplified web-based checkers may be available in the future.

Q4: What if my verification fails?

A failure could indicate incorrect data entry, outdated files, or potential discrepancies. Double-check file versions, ensure correct formatting, and retry. Persistent issues should be reported via official support channels.

Q5: Are debts included in the audit?

Yes. OKX uses a net asset snapshot, meaning borrowed funds or negative equity (e.g., from margin trading) are reflected as negative values where applicable.

Q6: Is this process mandatory for users?

No—verification is optional but highly recommended for security-conscious users who want independent assurance that their funds are backed 1:1.


👉 Ensure your digital assets are fully backed with real-time verification tools.