{"uid":"cap_oVUnYpnJJw_S1ffwSclBJ","slug":"agentproof-fetch-change-detection-with-signed-receipt-a125a2c6","name":"AgentProof Fetch – Change Detection with Signed Receipt","description":"Provenance fetch for AI agents: turn a public URL into clean markdown with SHA-256 hashes of the raw bytes and the normalised markdown, plus an Ed25519-signed receipt that anyone can verify offline. Honours robots.txt; refuses private networks.","url":"https://agentproof-fetch-production.agentproof.workers.dev/v1/check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048},"known_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"markdown_sha256 from a previous fetch_markdown or check_changed receipt"}}},"responseSchema":{"type":"json","example":{"op":"check_changed","state":"SETTLED","job_id":"job_<24 hex>","changed":true,"receipt":{"alg":"Ed25519","payload":{"v":1,"type":"agentproof.receipt"},"signature":"<base64url>"},"provenance":{"url":"https://example.com/","etag":null,"final_url":"https://example.com/","redirects":[],"fetched_at":"2026-09-24T12:00:00.000Z","http_status":200,"content_type":"text/html","content_bytes":1256,"last_modified":null,"content_sha256":"<64 hex>","markdown_sha256":"<64 hex>"},"known_sha256":"<64 hex>"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_4bW07Lv8V8cCmOsD66gr5","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a public URL, computes SHA-256 hashes of raw bytes and normalized markdown, compares against a known hash to detect changes, and returns a verifiable Ed25519-signed provenance receipt.","exampleAgentPrompt":"Check whether https://example.com/terms-of-service has changed since we last fetched it — the known markdown SHA-256 from that fetch was a3f1...d9c2 — and give me a signed receipt I can verify offline.","exampleUseCases":[{"title":"Legal document change monitoring","prompt":"Has the privacy policy at https://stripe.com/privacy changed since our last check? The markdown SHA-256 from the previous fetch was b7e3c2a1f09d4e8b6c5a2f3d1e7b9c0d4a8f2e6b1c3d5e7f9a0b2c4d6e8f0a2. Give me the signed receipt too."},{"title":"AI training data provenance audit","prompt":"Fetch https://huggingface.co/datasets/openai/gsm8k and give me a cryptographically signed receipt with SHA-256 hashes of both the raw bytes and the markdown, so I can prove exactly what content was at that URL when my agent read it."},{"title":"Competitive pricing page surveillance","prompt":"Compare the current content of https://openai.com/api/pricing against the markdown hash I have on file — d4a8f2e6b1c3d5e7f9a0b2c4d6e8f0a21b7e3c2a1f09d4e8b6c5a2f3d1e7b9c0 — and tell me if it's changed, with a verifiable Ed25519 receipt."}],"resultDescription":"A JSON object containing: a boolean 'changed' flag (true/false comparing current markdown_sha256 against known_sha256), a signed Ed25519 receipt with algorithm and base64url signature, full provenance metadata (final URL, redirect chain, HTTP status, content type, content_bytes, fetched_at timestamp, ETag, last_modified, content_sha256, markdown_sha256), the known_sha256 echo, a job_id, and op/state fields.","failureModes":["URL points to a private/internal network address — request refused","URL is disallowed by robots.txt — request refused with robots error","Target URL returns non-200 HTTP status — provenance recorded but content unavailable","Malformed URL or exceeding 2048 character limit — 400 validation error","known_sha256 not matching 64-char lowercase hex pattern — 400 validation error","Target URL times out or is unreachable — network error returned","Payment not settled (x402 flow incomplete) — 402 or payment error"],"whenToPreferThis":"Choose this endpoint when you need both change detection AND cryptographic provenance in a single call — i.e., you want to know if a URL's content has changed AND receive a verifiable, offline-checkable Ed25519 receipt proving what the content was at fetch time. Prefer it over plain web scrapers when auditability, legal compliance, or AI agent accountability is required. It is especially valuable in agentic pipelines where downstream steps need tamper-evident proof of what content was observed.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T00:37:39.299Z","isFirstParty":false,"canonicalSlug":"agentproof-fetch-change-detection-with-signed-receipt-a125a2c6"}