{"uid":"cap__bJoWo_ZTodd3BV1gzcZS","slug":"agentproof-fetch-522ecf62","name":"AgentProof Fetch","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/fetch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public http(s) URL to fetch"},"max_chars":{"type":"integer","default":100000,"maximum":200000,"minimum":500,"description":"Truncate the markdown to this many characters"}}},"responseSchema":{"type":"json","example":{"op":"fetch_markdown","state":"SETTLED","title":"Example Domain","job_id":"job_<24 hex>","receipt":{"alg":"Ed25519","payload":{"v":1,"type":"agentproof.receipt","job_id":"job_<24 hex>"},"signature":"<base64url>"},"markdown":"# Example Domain\n\nThis domain is for use in documentation examples...","truncated":false,"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>"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_HHYHdf_5a0W94qdmOKeWB","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","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, converts it to clean markdown, and returns SHA-256 content hashes plus a verifiable Ed25519-signed provenance receipt.","exampleAgentPrompt":"Fetch the contents of https://example.com/press-release and give me clean markdown along with a cryptographic receipt I can use to prove offline exactly what the page said and that the bytes haven't been tampered with.","exampleUseCases":[{"title":"Auditable fact-check source snapshot","prompt":"Grab https://www.reuters.com/world/latest-article and give me the markdown plus a signed provenance receipt so I can prove later what Reuters published at this exact moment."},{"title":"AI pipeline content verification","prompt":"Fetch https://docs.openai.com/models and return the markdown with SHA-256 hashes of both the raw bytes and the normalized markdown — I need an Ed25519-signed receipt so my pipeline can verify the content hasn't changed."},{"title":"Legal evidence capture of public webpage","prompt":"Pull down https://company.com/terms-of-service right now and produce a verifiable signed receipt with content hashes — I need proof of what the terms said today that I can verify offline without trusting you."}],"resultDescription":"A JSON object containing: the markdown text of the fetched page (truncated to max_chars if needed), a provenance block with the final URL, HTTP status, content type, byte count, redirects, fetch timestamp, SHA-256 hash of raw content bytes, and SHA-256 hash of normalized markdown, plus an Ed25519-signed receipt object (with algorithm, payload including job_id and receipt type, and base64url signature) that can be verified offline. Also includes whether the output was truncated and the page title.","failureModes":["URL points to a private/internal network address — refused for security","robots.txt disallows fetching — request refused with an appropriate error","URL is unreachable or returns a non-200 HTTP status — error with the actual HTTP status code returned","URL exceeds 2048 characters — rejected by input validation","max_chars out of range (below 500 or above 200000) — rejected","Payment not settled via x402 protocol — request not processed","URL scheme is not http or https — rejected","Target server returns extremely slow response — timeout error"],"whenToPreferThis":"Choose this endpoint when you need not just web content, but cryptographic proof of what that content was at a specific moment — for audit trails, fact-checking pipelines, legal evidence capture, AI agent grounding with verifiable citations, or any workflow where a downstream party needs to independently verify the retrieved content without trusting the fetching agent. Prefer it over plain web scrapers or markdown converters when provenance, integrity hashes, or offline verifiability are required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T18:34:07.989Z","isFirstParty":false,"canonicalSlug":"agentproof-fetch-522ecf62"}