AttestPage · Docs · Pricing · OpenAPI · llms.txt

AttestPage

Last updated: 2026-10-17

Signed evidence about web pages, for AI agents. Ask whether a quote appears on a page or check every citation in an answer at once, fetch a page and learn what actually came back, check a list of links, check that package names exist on npm, PyPI or crates.io, or timestamp a hash. Every answer carries an Ed25519-signed receipt that anyone can check offline against our published keys.

A receipt records what our fetcher saw at a given time; it does not show that a statement on the page is correct.

Endpoints

RoutePrice per callWhat you get
POST /v1/verify/quoteUS$0.01your exact words checked against the page: exact, fuzzy or none match, offsets, page hashes, context, page verdict, receipt; or the passages best matching a paraphrased claim
POST /v1/verify/quotesUS$0.02 per batchup to 20 quotes on one page: the verify/quote verdict for each, one receipt
POST /v1/verify/text-quoteUS$0.005a quote checked against source text you already hold, such as a file or a tool result, with no fetch
POST /v1/verify/citationsUS$0.10up to 10 quote and URL pairs: the quote verdict per citation and the page verdict per URL, one receipt
POST /v1/verify/documentUS$0.10 per parta whole answer or report: its quotes and links found and checked, 10 pairs a part, free preview first
POST /v1/fetchUS$0.002content_kind verdict, status, final URL, title, hashes, injection flags, optional text, receipt
POST /v1/recheckUS$0.003change detection for a page you read earlier: unchanged, changed, gone or unreadable, with the fields that differ
POST /v1/check/linksUS$0.005up to 10 URLs: status, redirects, content_kind, hash per URL, one receipt
POST /v1/check/packagesUS$0.005up to 10 npm, PyPI or crates.io names: exists in registry, latest version, metadata, one receipt (not a security verdict)
POST /v1/attestUS$0.002signed timestamp over a SHA-256 you supply
POST /v1/receipt/verifyfreechecks a receipt against our keys
GET /v1/sample/{name}freeeach paid route run on fixed demo data

Payment is x402 v2 in USDC on Base. A request that fails validation gets 400 before any payment is asked for. See Payments for when a call is charged.

Start here

  1. Call a free sample: curl https://s2h6qt73jtzlgbgnnfacln2poq.srv.us/v1/sample/quote
  2. Check its receipt. The receipt field of the sample is the signed receipt, a compact string. Save it and check it: RECEIPT=$(curl -s https://s2h6qt73jtzlgbgnnfacln2poq.srv.us/v1/sample/quote | jq -r .receipt) then curl -s -X POST https://s2h6qt73jtzlgbgnnfacln2poq.srv.us/v1/receipt/verify -H 'content-type: application/json' -d "{\"receipt\":\"$RECEIPT\"}"
  3. Call a paid route without payment to see the 402 offer, then pay with any x402 v2 client.
  4. There is no free trial at the moment; use the free samples instead.

To see a whole paid call first, the 402 offer, the payment and the signed receipt, read the demo. For a free walkthrough of a signed receipt, read the receipt demo.

For agents

Read more