{"slug": "ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for", "title": "AI agents hallucinate. Here is how to cryptographically notarize their output for $0.01", "summary": "A solo developer built AOTrust, a service that cryptographically notarizes AI agent outputs for $0.01 per proof on Base L2. It issues a 239-byte Provenance Data Record (PDR) using the HTTP 402 payment protocol, allowing agents to prove the existence and timestamp of artifacts without uploading the actual data. The service aims to solve trust issues in autonomous agent workflows by providing an immutable audit trail.", "body_md": "We have a growing problem in the autonomous AI agent space: **Garbage in, garbage out, and no proof of when it happened.**\n\nWhen your AI agent generates source code, analyzes market data, or creates a financial report, how do you mathematically prove that this specific artifact was generated at a specific time? How do you prove to your clients that the output wasn't retroactively edited before a dispute?\n\nI wanted a \"notary stamp\" for AI agents. But existing oracle solutions are too expensive (often $0.25 - $1.00+ per call) and require complex smart contract integrations.\n\nSo, as a solo developer, I built ** AOTrust**.\n\nIt does exactly one thing: it issues a **PDR (Provenance Data Record)** for exactly **$0.01 USDC** on Base L2, using the HTTP 402 protocol.\n\nA PDR is a highly optimized 239-byte cryptographic receipt. It proves that a specific digital artifact existed at a specific point in time.\n\nIt contains:\n\n**Privacy first:** You never upload your actual artifact or AI prompt. You only send the SHA-256 hash.\n\nI designed this to be integrated into any agentic workflow (Python, TS, Rust) using standard HTTP requests. It uses the `x402`\n\npayment protocol.\n\nHere is the entire integration in 3 steps:\n\nFirst, your agent hashes its output locally.\n\nimport hashlib\n\nwork_hash = hashlib.sha256(b\"your agent's JSON output\").hexdigest()\n\nStep 2: Request Notarization (Get a Quote)\n\nSend the hash to the API. Because AOTrust is a payment-bound proof layer, the\n\nserver will intentionally reject it with an HTTP 402 Payment Required status,\n\nreturning the payment instructions.\n\ncurl -X POST [https://api.aotrust.link/notarize](https://api.aotrust.link/notarize) \\\n\n-H \"Content-Type: application/json\" \\\n\n-d '{\"work_hash\":\"YOUR_SHA256_HEX\"}'\n\nResponse (HTTP 402):\n\n{\n\n\"payTo\": \"0x97E9af6B...Ab8Cc800\",\n\n\"asset\": \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\", // USDC on Base\n\n\"maxAmountRequired\": \"10000\", // $0.01 (6 decimals)\n\n\"network\": \"eip155:8453\",\n\n\"maxTimeoutSeconds\": 300\n\n}\n\nStep 3: Pay and Get Your Proof\n\nYour agent signs an EIP-3009 transferWithAuthorization with its Ethereum wallet\n\nto authorize the $0.01 payment. Encode the signature and send it in the\n\nx-payment header.\n\ncurl -X POST [https://api.aotrust.link/notarize](https://api.aotrust.link/notarize) \\\n\n-H \"Content-Type: application/json\" \\\n\n-H \"x-payment: YOUR_BASE64URL_ENCODED_SIGNATURE\" \\\n\n-d '{\"work_hash\":\"YOUR_SHA256_HEX\"}'\n\nResponse (HTTP 200):\n\n{\n\n\"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n\n\"pdr_b64\": \"AwEFA1kuagAAAABub3...\",\n\n\"payment_anchor_type\": \"X402_BASE\"\n\n}\n\nBoom. You just received your 239-byte cryptographic proof (pdr_b64).\n\nVerifying the Proof\n\nYou can pass this job_id or the raw base64 string to your clients or users.\n\nAnyone can verify the cryptographic seal instantly without an account, API keys,\n\nor paying any fees:\n\nverify.aotrust.link\n\nWhy build this?\n\nIf you are building autonomous agents, integrating them into marketplaces, or\n\ngenerating automated financial/audit reports, trust is your biggest bottleneck.\n\nBy appending an AOTrust PDR to your agent's deliverable, you give your clients\n\nan un-fakable, third-party verified timestamp of the work.\n\nI’m currently running the mainnet infrastructure. If you are building agentic\n\nworkflows and need an immutable audit trail, I’d love to hear your thoughts on\n\nthis API flow!\n\nDocs: docs.aotrust.link GitHub (Specs & Parser):\n\ngithub.com/GitSerge-crypto/aotrust-skills", "url": "https://wpnews.pro/news/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for", "canonical_source": "https://dev.to/gitsergecrypto/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-outputfor-001-4eop", "published_at": "2026-06-16 17:40:34+00:00", "updated_at": "2026-06-16 17:47:43.702652+00:00", "lang": "en", "topics": ["ai-agents", "ai-infrastructure", "developer-tools"], "entities": ["AOTrust", "Base L2", "USDC", "Ethereum", "SHA-256", "HTTP 402", "EIP-3009"], "alternates": {"html": "https://wpnews.pro/news/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for", "markdown": "https://wpnews.pro/news/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for.md", "text": "https://wpnews.pro/news/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for.txt", "jsonld": "https://wpnews.pro/news/ai-agents-hallucinate-here-is-how-to-cryptographically-notarize-their-output-for.jsonld"}}