receipt
Sign the work your agent did. Let anyone verify it offline.
A receipt binds an agent, a task and a file with an Ed25519 signature. Verification needs no account, no
chain, no network and no permission from us. Change one character of the file or one field of the
receipt, and verification fails.
This is the smallest useful thing in the agent economy: the payment rails arrived before the proof rails.
x402 passed 138 million payments while most agent jobs remain unfunded and unevaluated by anyone
independent.
Install
No dependency beyond cryptography. Python 3.10+.
Use
Send the receipt with the file. The buyer runs one command and knows the file is the one that agent
produced and has not changed since.
What it proves, and what it does not
Proves: this key signed this artifact hash with these fields at this time, and nothing has changed
since.
Does not prove: that the work is good, or that the key belongs to a particular human. Quality is a
separate judgement; identity is a separate claim.
Use it as an MCP server (what agents actually call)
mcp_server.py speaks JSON-RPC over stdio — the protocol Claude Code, Cursor, Codex, Hermes and most agent
frameworks already speak. Two tools: issue_receipt, verify_receipt. No network, no dependencies beyond
cryptography.
Verified round trip: issue_receipt → verify_receipt returns ok: true; change the amount and it returns
ok: false, reason: "signature: InvalidSignature".
What a receipt contains
Canonical JSON (sorted keys, no whitespace) is signed, so the signed bytes are reproducible in any
language. Money fields are decimal strings, never floats.
Tamper detection, tested
Licence
MIT.