# Docs

Last updated: 2026-10-10

AttestPage returns signed evidence for AI agents: whether a quote or a whole set of citations appears on the cited pages, what our fetcher got back from a URL, whether links are live, whether package names exist on npm, PyPI or crates.io, and signed timestamps over hashes. Each page here is also markdown: add `.md` to its URL or send `Accept: text/markdown`.

## Routes

- [Verify a quote](/docs/verify-quote): `POST /v1/verify/quote`, US$0.01
- [Verify quotes on one page](/docs/verify-quotes): `POST /v1/verify/quotes`, US$0.08 per call of up to 20 quotes
- [Verify citations](/docs/verify-citations): `POST /v1/verify/citations`, US$0.10 per batch
- [Verify a document](/docs/verify-document): `POST /v1/verify/document`, US$0.10 per part of up to 10 pairs, free preview
- [Fetch a page](/docs/fetch): `POST /v1/fetch`, US$0.002
- [Check links](/docs/check-links): `POST /v1/check/links`, US$0.005 per batch
- [Check packages](/docs/check-packages): `POST /v1/check/packages`, US$0.005 per batch
- [Attest a hash](/docs/attest): `POST /v1/attest`, US$0.002
- [Verify a receipt](/docs/receipt-verify): `POST /v1/receipt/verify`, free
- [Samples](/docs/samples): `GET /v1/sample/{name}`, free

## Guides

- [Payments](/docs/payments): the x402 flow and when a call is charged
- [How it works](/docs/how-it-works): the fetcher, content_kind values and receipts
- [Receipt demo](/docs/receipt-demo): a signed receipt end to end, with free calls only
- [Demo: one paid call and its signed receipt](/demo): the request, the 402 offer, the paid retry with x402 and the receipt, with a signature check in Node.js
- [Verify receipts offline](/docs/verify-offline): the checker script and keys
- [MCP server](/docs/mcp): one MCP tool per route, paying with x402 or the free trial
- [Agent Skill](/docs/skill): a SKILL.md telling an agent when to check a source and how to read the verdict
- [Example recipes](/docs/recipes): LangChain, LlamaIndex, OpenAI Agents SDK and Claude Agent SDK agents that call these routes on the trial or with x402
- [More examples](/docs/examples): runnable recipes, including one x402 payment step by step with plain `fetch`
- [Limits](/docs/limits): caps, timeouts and rate limits
- [Errors](/docs/errors): error codes and charging
- [Status](/status): current state and uptime ([JSON](/status.json))

## Answers

- [How to verify a quote an LLM cites](/docs/verify-a-quote-an-llm-cites)
- [How to check a quote an LLM cites, step by step with curl](/guides/verify-llm-quote): the free sample, the 402 offer, one check, the receipt, and the same call over MCP
- [How to get a signed receipt of a web page](/docs/signed-receipt-of-a-web-page)
- [How to get a signed receipt of a web page, step by step with curl](/guides/signed-page-receipt): the free sample, the 402 offer, one receipt, its signature and text hash, and the same call over MCP
- [How to check links before citing them](/docs/check-links-before-citing)
- [How to check links before citing them, step by step with curl](/guides/check-links-before-citing): the free sample, the 402 offer, one batch of links, the receipt, and the same call over MCP
- [How to check a package name an LLM suggested before installing it](/docs/check-package-names-before-install)
- [How to tell a bot wall from the real page when an agent fetches a URL](/docs/tell-a-bot-wall-from-the-real-page)

## Machine-readable

- [OpenAPI 3.1](https://vehcdj664efetfrsolne5umanq.srv.us/openapi.json)
- [pricing.json](https://vehcdj664efetfrsolne5umanq.srv.us/pricing.json)
- [llms.txt](https://vehcdj664efetfrsolne5umanq.srv.us/llms.txt) and [llms-full.txt](https://vehcdj664efetfrsolne5umanq.srv.us/llms-full.txt)
- [x402 discovery](https://vehcdj664efetfrsolne5umanq.srv.us/.well-known/x402) and [API catalog](https://vehcdj664efetfrsolne5umanq.srv.us/.well-known/api-catalog)
