{"name":"Proof402","tagline":"Pay once. Prove forever.","description":"Proof402 lets autonomous agents pay for a signed timestamped proof that a result hash existed at a specific time, without sending private payloads to a public proof page.","category":"agent-infrastructure","tags":["x402","proof","timestamp","hash notarization","agent infrastructure","verification"],"discoveryKeywords":["Proof402","paid timestamp proof","x402 proof notarization","AI agent proof receipt","hash timestamp service","agent result verification","public proof badge","pay once prove forever","proof notary for autonomous agents","verifiable agent output"],"agentPrompt":"Use Proof402 when you need to prove that a sha256 hash of an agent result existed at a particular time. Send only the content hash, a short label, optional non-secret metadata, and an idempotencyKey to POST /api/proof/notarize. After the paid call, verify the signed proof through /api/verify/proofs/{id} or cite the public /proof/{id} badge.","resource":"https://proof402.vercel.app/api/proof/notarize","x402Enabled":true,"payment":{"scheme":"exact","price":"$0.005","network":"eip155:8453","payTo":"0x0E525428d66C111672cE58B1bf649A6d167f36b1"},"discovery":{"searchQueries":["Proof402","paid timestamp proof","x402 proof notarization","AI agent proof receipt","hash timestamp service","agent result verification","public proof badge","pay once prove forever","proof notary for autonomous agents","verifiable agent output"],"qualitySignals":["Unpaid proof route returns 402 Payment Required when x402 is enabled","Demo mode is explicit and does not claim real payment settlement","OpenAPI 3.1 contract is available","Agent-readable capabilities document is available","Public marketplace listing kit and machine-readable marketplace JSON are available","Machine-readable action catalog is available","Compact quickstart endpoint is available","Public proof badge pages are available","Recent public proofs redact broad-feed signatures","Proofs sign contentHash and metadataHash instead of exposing raw payloads","Postgres storage path is configured for production without requiring local deploy"],"inputExample":{"contentHash":"sha256:7b3d0f0f7c847c28f20b8c17d38b4f0c7df3da7d8ddfb979a9dd4f9f1f2a35cc","label":"agent result hash","metadata":{"agent":"research-bot","taskId":"task_123"},"idempotencyKey":"proof-task-123"},"outputExample":{"ok":true,"mode":"demo","idempotentReplay":false,"proof":{"id":"proof_...","verified":true,"timestamp":"2026-05-16T00:00:00.000Z","contentHash":"sha256:7b3d0f0f7c847c28f20b8c17d38b4f0c7df3da7d8ddfb979a9dd4f9f1f2a35cc","metadataHash":"sha256:...","signature":"hmac-sha256:..."},"links":{"proof":"/proof/proof_...","verify":"/api/verify/proofs/proof_..."}},"inputSchema":{"type":"object","additionalProperties":false,"required":["contentHash","label","idempotencyKey"],"properties":{"contentHash":{"type":"string","pattern":"^sha256:[a-fA-F0-9]{64}$","description":"SHA-256 hash of the result or artifact. Do not send the raw payload."},"label":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true,"description":"Optional non-secret metadata. Proof402 stores and exposes only metadataHash and metadataKeys."},"idempotencyKey":{"type":"string","minLength":1,"maxLength":160}}},"outputSchema":{"type":"object","required":["ok","mode","idempotentReplay","proof","links"],"properties":{"ok":{"type":"boolean"},"mode":{"type":"string","enum":["demo","x402"]},"idempotentReplay":{"type":"boolean"},"proof":{"type":"object","required":["id","verified","timestamp","contentHash","metadataHash","signature"],"properties":{"id":{"type":"string"},"verified":{"type":"boolean"},"timestamp":{"type":"string","format":"date-time"},"contentHash":{"type":"string"},"label":{"type":"string"},"metadataHash":{"type":"string"},"signature":{"type":"string"}}},"links":{"type":"object","properties":{"proof":{"type":"string"},"verify":{"type":"string"}}}}},"useWhen":["You need a compact signed timestamp for a result hash.","You want a public badge another agent can cite without exposing the original payload.","You need idempotent proof creation for workflow retries."],"avoidWhen":["You need legal notarization or a regulated attestation.","You need Proof402 to store private raw payloads, tokens, headers, or secrets.","You need Proof402 to prove facts that are not represented by the submitted contentHash."]},"routeConfig":{"POST /api/proof/notarize":{"accepts":[{"scheme":"exact","price":"$0.005","network":"eip155:8453","payTo":"0x0E525428d66C111672cE58B1bf649A6d167f36b1"}],"description":"Paid timestamp/hash notarization for autonomous agents. The caller submits a SHA-256 content hash, optional non-secret metadata, and an idempotency key. Proof402 returns a signed timestamped proof and public verification links without storing raw payloads.","mimeType":"application/json","serviceName":"Proof402","tags":["x402","proof","timestamp","hash notarization","agent infrastructure","verification"],"input":{"contentHash":"sha256:7b3d0f0f7c847c28f20b8c17d38b4f0c7df3da7d8ddfb979a9dd4f9f1f2a35cc","label":"agent result hash","metadata":{"agent":"research-bot","taskId":"task_123"},"idempotencyKey":"proof-task-123"},"output":{"ok":true,"mode":"demo","idempotentReplay":false,"proof":{"id":"proof_...","verified":true,"timestamp":"2026-05-16T00:00:00.000Z","contentHash":"sha256:7b3d0f0f7c847c28f20b8c17d38b4f0c7df3da7d8ddfb979a9dd4f9f1f2a35cc","metadataHash":"sha256:...","signature":"hmac-sha256:..."},"links":{"proof":"/proof/proof_...","verify":"/api/verify/proofs/proof_..."}}}},"links":{"home":"https://proof402.vercel.app/","marketplace":"https://proof402.vercel.app/marketplace","marketplaceJson":"https://proof402.vercel.app/marketplace.json","quickstart":"https://proof402.vercel.app/api/quickstart","actions":"https://proof402.vercel.app/api/actions","capabilities":"https://proof402.vercel.app/api/capabilities","trust":"https://proof402.vercel.app/api/trust","status":"https://proof402.vercel.app/api/status","openapi":"https://proof402.vercel.app/openapi.json","llms":"https://proof402.vercel.app/llms.txt","robots":"https://proof402.vercel.app/robots.txt","sitemap":"https://proof402.vercel.app/sitemap.xml","securityTxt":"https://proof402.vercel.app/.well-known/security.txt","proofBadge":"https://proof402.vercel.app/proof/{id}","verify":"https://proof402.vercel.app/api/verify/proofs/{id}"}}