AI agents now hire each other, pay each other, and review each other's work over protocols like x402 — HTTP-native payments that crossed 75M transactions in 30 days. But when agent A pays agent B for work, what does A actually get back?
A string. Maybe a JSON blob. Nothing that proves, months later, what B said, when, or that it wasn't altered.
That's the gap this post closes: cryptographic receipts for AI outputs — notarized over x402 for $0.01, anchored to a public blockchain, and verifiable by anyone, forever.
What a receipt proves
Every notarized output returns a PDR (Provenance Data Record) — a signed, timestamped attestation that binds:
- Existence — this exact output existed at this timestamp
- Integrity — change one character, verification fails
- Attribution — which model produced it, signed by the notary
- Independence — anchored on NEAR, verifiable offline, the notary can't retroactively deny
How it works (3 steps, no account)
# 1. Hash your artifact (never upload the file itself)
import hashlib
work_hash = hashlib.sha256(open("report.md","rb").read()).hexdigest()
# 2. Get a quote and pay via x402 — one HTTP flow
# GET https://api.aotrust.link/v1/notarize -> 402 challenge -> sign EIP-3009 -> retry
# $0.01 USDC on Base. No account, no API key.
# 3. Verify any time - free, forever
# GET https://api.aotrust.link/v1/shield/lookup/{shield_id}
# ...or open https://verify.aotrust.link/s/{shield_id}
Or with the Python SDK:
from agent_notary import AOTrustTool
tool = AOTrustTool()
pdr = tool.run(work_hash) # pays $0.01 via x402, returns signed PDR
Prefer MCP? Five tools on api.aotrust.link/mcp: notary_quote, notary_free, notary_verify, notary_notarize, notary_notarize_paid — works with Claude, Cursor, any MCP client. notary_free gives 5 receipts/day per IP, free, no wallet.
Full setup walkthrough (MCP config snippet, FAQ, live example) on the x402-agents page.
What makes this different from other x402 notaries
The x402 ecosystem now has several receipt services. Most share the same shape: a signed hash, an anchoring chain, done. That's fine for agent-to-agent loops — but breaks down the moment a human enters the picture. Three gaps we close:
1. A human-readable PDF, not just a hash. When a receipt ends up in a court, a freelance dispute, or an audit, "here's a 32-byte hex string" doesn't persuade. Every paid notarization can produce a self-contained PDF certificate — QR-verified, with the PDR structure explained on paper. Two pages: certificate + technical verification instructions that work offline.
2. Bilateral signatures (v0x04). The standard receipt proves what the notary saw. Our optional v0x04 adds a binding hash: the client and the agent both sign, and payload_hash = sha256(work_hash + agent_sig + agent_pubkey). Neither party can repudiate their side. Receipt becomes evidence, not just a log line.
3. NEAR data availability, not storage-as-a-chain. Batch Merkle roots anchor to NEAR mainnet daily — a general-purpose L1 with cheap, permanent data availability, independent of the notary's own infrastructure. Your proof doesn't live on the notary's favorite storage network; it lives on a chain that exists to keep data available.
Pricing at a glance
| Interface | Cost | Notes |
|---|---|---|
MCP notary_free
|
Free | 5 receipts/IP/day, global cap 1000/day |
| Web Shield | $0.10/file | human-facing, PDF certificate included |
| MCP / HTTP paid | $0.01/PDR | x402 USDC on Base, EIP-3009 |
| Verification | Free, forever | verify.aotrust.link, offline-capable |
Free tier runs on mainnet — same cryptography, same anchoring, no testnet theater.
Verify it yourself, right now
No signup. Take any receipt's Shield ID and check it on the public lookup:
curl https://api.aotrust.link/v1/shield/lookup/{shield_id}
...or open verify.aotrust.link and paste the PDR blob. Here's a live one: verify.aotrust.link/s/E0CB49E4
Who needs this
- Agent frameworks doing x402 commerce — attach a receipt to every deliverable, settle disputes with cryptography instead of screenshots
- Content pipelines — prove which model produced which output, when (provenance for audit/compliance)
- Freelancers & contractors — a court-ready PDF that proves what was delivered, when (see shield.aotrust.link)
- Multi-agent workflows — bilateral signatures so both sides are bound
Try it
- Free receipt (no wallet): shield.aotrust.link or MCP
notary_free - Agent setup guide: shield.aotrust.link/for/x402-agents
- SDK:
pip install aotrust-protocol - MCP endpoint:
https://api.aotrust.link/mcp - Spec & parser: github.com/GitSerge-crypto/aotrust-skills
Top comments (0)