Zero-Trust Verification
Immutable provides two public endpoints that require no authentication. Anyone — your customers, their auditors, regulators, or security researchers — can independently verify that your audit trail anchors are legitimate without trusting Immutable at all. No API key. No account. No trust.Public Endpoints
Look Up an Anchor by Transaction Hash
Verify an Anchor
These endpoints are rate-limited but do not require authentication. They are designed for independent, third-party verification.
Verification Walkthrough
A customer, auditor, or regulator can verify your audit trail’s integrity without any access to your Immutable workspace:Get the transaction hash
You provide them with a
tx_hash from your anchor records (e.g., from a compliance report or dashboard export).Verify the Merkle root
They call the public verify endpoint to confirm the Merkle root matches the underlying events:Response:
Cross-check on Basescan
They open the
explorer_url in a browser. On Basescan, they can:- Confirm the transaction exists and is confirmed
- Read the
Anchoredevent log in the transaction’s logs tab - Extract the
merkleRootbytes32 value - Compare it to the
merkle_rootreturned by the API
Error Responses
Anchor not found
If thetx_hash does not correspond to any anchor:
404
Anchor not yet confirmed
If an anchor exists but has not yet been confirmed on-chain:Full Verification Chain
For maximum assurance, the verifier can combine all three approaches:- Public API — Confirm the Merkle root matches the events (
GET /api/v1/public/anchors/{id}/verify) - Basescan — Confirm the Merkle root is recorded on-chain (
explorer_url) - Direct on-chain read — Read the smart contract directly, bypassing both Immutable and Basescan (Verify On-Chain)