Skip to main content

GET /api/v1/anchors//verify

Recomputes the Merkle root from the underlying events and checks that it matches the stored anchor. Also validates the anchor chain by verifying previous_anchor_hash references the preceding anchor correctly.

Path Parameters

string
required
The anchor identifier (e.g., anc_abc123).

Response

Response Fields

string
The anchor identifier.
string
The 64-character hex Merkle root stored in this anchor record.
boolean
true if the Merkle root recomputed from the underlying events matches the stored merkle_root. false if the events have been modified, inserted, or deleted since the anchor was created.
boolean
true if the previous_anchor_hash correctly equals SHA-256(previous_merkle_root + previous_tx_hash). false if the anchor chain has been tampered with. Always true for the first anchor in a workspace.
string
The Merkle root recomputed from the current event data. If valid is true, this matches actual.
string
The Merkle root stored in the anchor record at creation time. If valid is true, this matches expected.
integer
The number of events included in this anchor’s Merkle tree.
string
The blockchain transaction hash. Null if the anchor is not yet confirmed on-chain.
string
Direct link to the transaction on Basescan. Null if not yet confirmed.

Examples

Interpreting Results

Anchors with status: "pending" or status: "submitted" will have null tx_hash and explorer_url. The valid and chain_valid checks still run against the stored Merkle root and anchor chain, but on-chain cross-verification is not possible until the anchor reaches confirmed status.
After verifying via the API, cross-check the tx_hash on Basescan for fully independent verification. See Verify On-Chain for a step-by-step guide.