# exhibit402: Proof of Publication Two independent observers on different networks capture your URL at the same frozen instant; matching captures are CERTIFIED, the evidence is stored permanently, and an ERC-721 certificate carrying every observer hash is minted to the wallet that paid. ## What it does POST /capture with JSON {url, mode} to permanently certify what a public web page served. Two independent standardized browsers (Google Cloud and Fly.io, different networks, same metro) capture the URL at one shared frozen timestamp. Byte-identical captures are CERTIFIED; disagreement is WITNESSED (pixel agreement percentage + diff map, a deliverable). You receive the canonical screenshot and a signed manifest stored permanently on Arweave (ar:// + IPFS CIDv1 + SHA-256), an RFC 3161 timestamp token from an independent authority, and an ERC-721 certificate on Base minted to the wallet that paid. ## When to use - Prove to your principal that work was completed: certify the resulting page. - Freeze a resolution source, terms page, price, or job posting before you rely on it or before a dispute over what it said. - Document a page you expect to change or disappear (scam sites, edited announcements, delisted products). - Confirm another party's certificate is genuine: GET /verify for $0.02. ## Pricing (x402, USDC on Base, eip155:8453) - $1.00 mode "fullpage" (default, whole page) - $0.50 mode "viewport" (first 1280x800 screen) Response is HTTP 202 with a claim URL; poll GET /claim/{job_id} (free) every ~15s. Fulfillment normally takes 30-120 seconds. Rejected captures (oversize, unreachable, content-screened) refund automatically minus $0.10; service faults refund in full. ## Endpoints - POST /capture: paid, starts a certification job - GET /verify?id={token|arweave-tx|job}: paid ($0.02), re-verifies any certificate: re-downloads the stored bytes, recomputes every SHA-256, and checks them against the manifest and the on-chain record - GET /claim/{job_id}: free, resolves to the certificate or a refund - GET /openapi.json: full API spec and policy - GET /system-description.md: versioned description of the automated process - GET /evidence: free guide: preserving a web page as evidence - GET /.well-known/x402: x402 resource listing ## Evidence-grade design Fixed clock, pinned browser build, per-observer serving evidence (redirect chain, response headers, TLS chain, DNS answers, DOM), hash-based identification, RFC 3161 timestamp over the capture digest, versioned system description referenced by SHA-256 from every manifest. Contact: dylan.caponi@gmail.com Base URL: https://exhibit402.dylan-caponi.workers.dev