Ultimate Verification
This is the highest level of verification available. You read the smart contract directly from the Base blockchain, bypassing Immutable’s API entirely. If you trust Ethereum, you can verify your audit trail with zero trust in Immutable.What You Need
- An anchor’s
tx_hash(from the API, a compliance report, or a public lookup) - The
merkle_rootyou want to verify - Access to a Base RPC endpoint (public endpoints available) or Basescan
Method 1: Basescan (No Code)
1
Open the transaction on Basescan
Navigate to the explorer URL:
2
Find the event log
Click the Logs tab in the transaction details. Look for the
Anchored event:3
Compare the Merkle root
The
merkleRoot in Topic 1 (without the 0x prefix) should exactly match the merkle_root from the anchor record:Method 2: ethers.js (Programmatic)
Read the contract’s event logs directly from a Base node:Method 3: Python (web3.py)
Method 4: cURL + Cast (Foundry)
If you have Foundry installed, you can usecast to read transaction logs from the command line:
Full End-to-End Verification
Combine the API and on-chain verification for complete trust-minimized verification:This verification flow requires only a public Base RPC endpoint. No Immutable account, API key, or special access is needed for the on-chain portion. The only thing you need from Immutable is the
tx_hash and merkle_root — which can come from a compliance report, not just the API.