Verify agent receipts by proof, not claim.
Paste a CommandLayer receipt, inspect its canonical proof, and confirm whether the hash and Ed25519 signature still match.
Paste a CommandLayer receipt to verify its canonical hash, Ed25519 signature, signer identity, key id, and canonicalization.
Already have a stored genesis receipt ID? Retrieve and verify it through the public proof surface.
In production, signer public keys are resolved from ENS TXT records such as runtime.commandlayer.eth. A successful verification returns
public_key_source: ens_txt, ens_resolved: true, hash_matches: true, and signature_valid: true.Runtime production is live. Runtime signs canonical Trust Verification receipts. MCP E2E against production runtime passes: STEP 1 SIGNED, STEP 2 VERIFIED, STEP 3 TAMPERED INVALID. Runtime signer:
runtime.commandlayer.eth with kid=vC4WbcNoq2znSCiQ. Canonical proof uses metadata.proof.canonicalization=json.sorted_keys.v1, metadata.proof.hash.alg=SHA-256, and metadata.proof.signature.alg=Ed25519.Manual verifier checks, not just shape.
Manual verifier
Paste a receipt and inspect every verification check.
Proof URLs
Open a receipt verification result from a shareable URL.
Embedded badges
Display verified/invalid state inside an app or product UI.
Ambient verification
Let systems verify receipts automatically through SDKs, APIs, webhooks, MCP tools, or agent-to-agent flows.
VerifyAgent validates canonical CLAS Trust Verification receipts using schemas where applicable, then checks canonical hash, Ed25519 signature, signer identity, and trust verb.
Schema validation supports verification, but does not replace cryptographic proof.
Canonical receipt example
{
"metadata": {
"proof": {
"canonicalization": "json.sorted_keys.v1",
"hash": { "alg": "SHA-256" },
"signature": {
"alg": "Ed25519",
"kid": "vC4WbcNoq2znSCiQ"
},
"signer_id": "runtime.commandlayer.eth"
}
}
}Verification result states
VALID / VERIFIED = hash and signature checks passed. INVALID = receipt is tampered, stale, malformed, or has hash/signature/signer metadata mismatch. TRANSPORT_ERROR = verifier/runtime unavailable or request failed.
Manual verifier = paste a receipt and inspect checks. Automatic verification = SDKs, APIs, proof URLs, embedded badges, webhooks, MCP tools, or agent-to-agent flows verify receipts without manual copy/paste. MCP is a bridge, not a signer. Runtime signs. Verifier validates.