AttestPage
Use before sending a finished answer or report that quotes web pages: send the document as written, and get back every quote with its link, checked on the live page: exact, fuzzy or none, score, offsets and each page's status, under one signed receipt. Up to 10 pairs per part; the free preview (POST /v1/verify/document/preview) lists the pairs, parts and price first. Match "passages" gives each linked sentence evidence. For a part of 1 to 9 pairs, one verify/quote call per pair costs less.
The wallet the 402 directs payment to. Its full payment record is on the merchant page.
Asset 0x036CbD53842c5426634e7929541eC2318f3dCF7e
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service; most of the catalog is unregistered.
Recent payments · which agents last used it
Every indexed settlement paid to this service’s wallet, newest first. The index does not record which endpoint a payment was for, so if this wallet serves more than one endpoint, the rows include payments for the others. Paged up to the newest 5,000; the full history is on the merchant page.
| Payer Payee | Chain | Amount | x402 | Route | Age | Txn hash |
|---|---|---|---|---|---|---|
| 0xcd0f…b9600x08de…d1ea | Base Sepolia | $0.01 | 100% | payAI | 28d ago | 0x46aded…71e632 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.002 | 100% | payAI | 28d ago | 0x645fa6…947f01 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.005 | 100% | payAI | 29d ago | 0x04f05e…3fa532 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.003 | 100% | payAI | 32d ago | 0x4ca16f…0aaab9 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.002 | 100% | payAI | 32d ago | 0xf878b4…6b7601 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.003 | 100% | payAI | 33d ago | 0xa692c6…1839aa |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.003 | 100% | payAI | 33d ago | 0xd16e46…dee76f |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.003 | 100% | payAI | 33d ago | 0x081381…83017d |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.003 | 100% | payAI | 33d ago | 0x34831f…aeb083 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0xa3cd88…cd63fc |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0x2e8eed…1680a8 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0x142afb…c51212 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0xe548f6…5ffb9e |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0x1e98eb…a906c9 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0xf3fd15…cf9380 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.02 | 100% | payAI | 33d ago | 0x2aec07…09b8a7 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.10 | 100% | payAI | 33d ago | 0x57d621…b860c4 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.04 | 100% | payAI | 33d ago | 0xb43485…4502a8 |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.10 | 100% | payAI | 33d ago | 0x5c1d88…2e0a9f |
| 0xb4dd…3d310x08de…d1ea | Base Sepolia | $0.005 | 100% | payAI | 33d ago | 0x797637…f4fb15 |
Accepts
The payment requirements as published to the catalog. Read the live 402 before paying: a price here is a claim, not a quote.
Pay 0.1 USDC on Base Sepolia to 0x08dE…9D1EA. The signed payment is good for 2 minutes.
- Paid to
- 0x08dE…9D1EA
- USD Coin (Base Sepolia) contract
- 0x036C…dCF7e
- Payment window
- 2 minutes
- As published
- 100000 smallest units
The catalog’s raw entry
[
{
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0x08dE2e056F6BE74162c400fF877449593579D1EA",
"amount": "100000",
"scheme": "exact",
"network": "eip155:84532",
"maxTimeoutSeconds": 120
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"body": {
"part": 0,
"match": "fuzzy",
"format": "markdown",
"document": "WHO says \"Air pollution kills an estimated seven million people every year\" ([WHO](https://www.who.int/health-topics/air-pollution)).\n\n> These domains may be used as illustrative examples in documents\n> — [IANA](https://www.iana.org/help/example-domains)"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"part": 0,
"tier": "paid",
"pages": [],
"parts": 1,
"receipt": "eyJ…",
"results": [
{
"end": 478,
"url": "https://www.who.int/health-topics/air-pollution",
"page": 0,
"pair": 0,
"match": "fuzzy",
"quote": "Air pollution kills an estimated seven million people every year",
"score": 0.96,
"start": 412,
"context": "…",
"doc_end": 74,
"doc_start": 10,
"final_url": "https://www.who.int/health-topics/air-pollution",
"http_status": 200,
"occurrences": 1,
"content_kind": "real"
},
{
"end": 234,
"url": "https://www.iana.org/help/example-domains",
"page": 1,
"pair": 1,
"match": "exact",
"quote": "These domains may be used as illustrative examples in documents",
"score": 1,
"start": 171,
"context": "…",
"doc_end": 200,
"doc_start": 137,
"final_url": "https://www.iana.org/help/example-domains",
"http_status": 200,
"occurrences": 1,
"content_kind": "real"
}
],
"summary": {
"none": 0,
"exact": 1,
"fuzzy": 1,
"failed": 0
},
"extractor": "doc-v1",
"pairs_total": 2,
"document_sha256": "…"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"type": "object",
"required": [
"document"
],
"properties": {
"part": {
"type": "integer",
"minimum": 0,
"description": "0-based part to check, default 0; call POST /v1/verify/document/preview first to see how many parts there are."
},
"match": {
"enum": [
"exact",
"fuzzy",
"passages"
],
"type": "string",
"description": "For every pair: exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict). With \"passages\", each sentence that carries a link is a claim."
},
"format": {
"enum": [
"markdown",
"text"
],
"type": "string",
"description": "markdown (default) or text (only bare URLs and [n] references are links)."
},
"document": {
"type": "string",
"description": "The answer or report as written, 1 character to 60000 bytes (UTF-8). Its quotes and their links are found by fixed rules (extractor doc-v1)."
},
"min_words": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "A quoted span with fewer words is skipped as too_short (default 4)."
},
"part_size": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Pairs per part, default 10. A free trial call needs 3 or fewer."
},
"threshold": {
"type": "number",
"maximum": 1,
"minimum": 0.5,
"description": "Fuzzy similarity needed, default 0.9."
},
"case_sensitive": {
"type": "boolean",
"description": "Default false; must be false with match \"passages\"."
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"document_sha256",
"extractor",
"part",
"parts",
"results",
"pages",
"receipt"
],
"properties": {
"part": {
"type": "integer"
},
"tier": {
"type": "string"
},
"pages": {
"type": "array",
"description": "One entry per distinct URL, as verify/citations."
},
"parts": {
"type": "integer"
},
"receipt": {
"type": "string"
},
"results": {
"type": "array",
"description": "One entry per pair of this part: pair, quote, url, doc_start/doc_end (code points in the document; doc_spans when the pair appears more than once, the first 20, with doc_spans_truncated counting the rest), then the verify/citations verdict: start/end are offsets on the page."
},
"summary": {
"type": "object"
},
"extractor": {
"type": "string"
},
"pairs_total": {
"type": "integer"
},
"document_sha256": {
"type": "string",
"description": "SHA-256 of the document as sent (UTF-8); the same on every part."
}
}
}
}
}
}
}
}
}Provenance
- Seen in the source catalog
- 2026-10-12 05:51Z
- Last indexed by Roundhouse
- 2026-10-19 03:45Z
- Last enriched (probe, favicon, geo)
- –
- x402 version
- 2
- Max timeout
- 120s
- Liveness probe
- Not probed
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent: it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service AttestPage and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=AttestPage' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://vehcdj664efetfrsolne5umanq.srv.us/v1/verify/document, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at https://preview.roundhouseai.io/dashboard/connections. If you have neither, ask before going further. If you do not have Roundhouse tools or skills installed, read https://preview.roundhouseai.io/skill.md first — it is the whole procedure.