Verifiable trust audit
How this score is proven
graded → signed → anchored → verifiableOn-chain anchor
Don't take our word for it
Everything above is derived from a signed, on-chain record anyone can check independently — no trust in SeaOtter required. The exact steps and the underlying proof values are here.
Recover the signer from (envelope, domain, signature) with EIP-712 — it must equal report.signer_address (the published SeaOtter key in /.well-known/seaotter-trust.json).
If on_chain.anchored: check the Merkle inclusion_proof links leaf_hash to on_chain.merkle_root — proves this verdict is in the anchored batch, revealing nothing about the others.
Signed EIP-712 and Merkle-anchored on Base. The published signer key is open at /.well-known/seaotter-trust.json.
Read on_chain.tx_url on the block explorer: the same merkle_root is in the tx calldata — an immutable, timestamped commitment that can't be altered after the fact.
Only a hash and the signature are ever published — never the agent's work. A hash is a one-way fingerprint: it proves this record is genuine and unaltered, but can't be turned back into the work it graded.
© 2026 SeaOtter. Every AI decision — verified, audited, defensible.