Skip to main content
Verification runs in Cairo0 during sound-run.
It ensures every value used by your module is backed by valid cryptographic proofs.

Verification order

  1. Headers are verified against MMR commitments.
  2. Accounts are verified against header state_root.
  3. Storage is verified against account storage_root.
  4. Transactions and receipts are verified against block roots.
This dependency chain is what makes historical reads trustworthy.

MMR proofs (header anchor)

MMRs provide append-only commitments to block headers.
  • HDP supports Poseidon and Keccak MMR hashing modes.
  • Hasher mode can be configured per chain with --mmr-hasher-config.
  • Once a header is verified via MMR, it becomes the trusted root for downstream checks.
  • Header commitments are fetched through the Herodotus Indexer.

MPT/Patricia proofs (state proofing)

For EVM state, HDP verifies:
  • account proofs against block state_root,
  • storage proofs against account storage_root.
This supports both inclusion and non-inclusion style checks.

Why this matters

Your module can reason about historical chain facts while HDP guarantees those facts are cryptographically linked to trusted roots before computation proceeds.