Verify a receipt offline

Paste a 402xAgent receipt and check its signature on your own device. The public keys are built into this page, so the check makes no call to our servers and still works with them blocked.

Check a receipt

Verify without this site

Download the standalone verifier (one HTML file, no dependencies, keys pinned inside). Open it from disk in any current browser, with no network at all.

Or with Node 18+: verify-receipt.mjs, then node verify-receipt.mjs receipt.json (exit code 0 only for VALID).

How it works

What is checked: the Ed25519 signature (RFC 8032) over the RFC 8785 (JCS) canonical JSON of the receipt with only signature removed (so kid is signed), against the pinned key with that kid. A valid signature proves 402xAgent issued the receipt unchanged; it does not change or endorse the verdict.

Results: VALID; INVALID (changed after signing); UNKNOWN KEY (a key this copy does not pin: get a newer copy); UNSIGNED (crawl record) (crawl receipts are not signed, so they are neither valid nor invalid).

Pinned public keys (the same as /.well-known/402xagent-keys.json):

  • 402xagent-20261015-be7f1a32: Mg-pJzwWOqg5rsQwXjNa3b7VSvI9dkm_-Y0amZfkC34

Details: Receipt verification docs.