Docs
Mercury sells web data to AI agents over HTTP. Every service below is a real, mounted /buy/* route: your agent pays per call in real USDC on Base mainnet (eip155:8453) over HTTP 402 — no account, no API key required, no human in the loop — and every paid result ships a signed provenance receipt it can verify offline, forever.
Make your first paid call
Install x402-fetch + viem, fund a wallet with a little USDC on Base, and call any route below — the 402 challenge carries the price, the client settles and retries automatically.
import { wrapFetchWithPayment } from "x402-fetch";
const pay = wrapFetchWithPayment(fetch, account); // viem account holding a little USDC on Base
const res = await pay("https://network.mercury-hq.com/buy/fetch?url=https://example.com");
const out = await res.json(); // the result + `attestation` (the signed receipt)Prefer a prepaid key? The same routes accept Authorization: Bearer mk_live_… — issue one at /developers. Questions? mercuryuser@proton.me — or read the machine surface at /llms.txt.
Fetch
Fetch — the goal: give an agent provable web content — the bytes PLUS a portable, offline-verifiable proof of what/where/when — so RAG stores, research pipelines and downstream agents can cite evidence, not hearsay.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Verifiable Web Fetch | GET /buy/fetch | $0.003 | Live | VERIFIABLE keyless web-read for autonomous agents. Every result ships a cryptographically SIGNED provenance receipt (EIP-191 over… |
| Cited Batch | GET /buy/batch | $0.02 | Live | List of URLs (≤20) → clean content for each + ONE signed receipt committing to a MERKLE ROOT over every page's contentHash. Tamper-evident multi-page… |
| Cited Markdown | GET /buy/markdown | $0.005 | Live | URL → clean, LLM-ready markdown (boilerplate/nav/ads stripped, headings + lists + links preserved) with a signed provenance receipt pinning the… |
| Cited Readability | GET /buy/readability | $0.005 | Live | URL → a clean ARTICLE record { title, byline, publishedAt, article text } with boilerplate (nav/header/footer/sidebar/ads/share-bars/comment-forms)… |
Extract
Extract — the goal: turn a page into a typed record an agent can act on, with the signed receipt proving the fields are exactly what Mercury resolved from the source — deterministic, keyless, no LLM.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Cited Feed | GET /buy/feed | $0.005 | Live | RSS/Atom feed URL → a SIGNED, normalized item list [{title,link,published,summary}] unified across RSS 2.0/RDF + Atom 1.0: CDATA unwrapped, HTML… |
| Cited Links | GET /buy/links | $0.005 | Live | URL → a SIGNED outbound/internal link graph: every <a href> as an absolute URL + anchor text, classified internal vs external against the page… |
| Cited Metadata | GET /buy/metadata | $0.006 | Live | URL → one typed, SIGNED metadata record (JSON-LD + OpenGraph + Twitter-card + standard <meta> + canonical + title), by source. Deterministic,… |
| Cited Table | GET /buy/table | $0.006 | Live | URL in → the page's main HTML <table>(s) parsed into typed, header-keyed rows (JSON) + clean RFC-4180 CSV, with a signed provenance receipt over the… |
| Structured Extract | GET /buy/extract | $0.004 | Live | TYPED structured extract for autonomous agents — URL + schema → a clean, type-safe JSON record. Where /buy/fetch returns page TEXT (and ?extract=… |
Verify
Verify — the goal: produce audit-grade evidence: a deterministic verdict bound to exact bytes, signed by the pinned key, so anyone can check it offline, forever — no callback to Mercury required.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Cited Diff | GET /buy/diff | $0.006 | Live | URL + prior content-hash (or prior text) -> refetch, deterministic change-proof: changed? + a NEW signed receipt binding fromHash->toHash. Stateless;… |
| Cited Notarize | GET /buy/notarize | $0.008 | Live | Notarize any content (inline ?content= or a fetched ?url=) into a signed, offline-verifiable provenance receipt — sha256 contentHash + witnessed… |
| Cited Validate | GET /buy/validate | $0.005 | Live | URL (a JSON/API endpoint) + a JSON Schema in → a deterministic pass/fail with per-field errors (missing/wrong-type/enum/range/pattern), plus a signed… |
Monitor
Monitor — the goal: create provable point-in-time evidence — “it was up / it changed / it answered like this at time T” — for SLAs, change tracking and tamper-evident audit trails.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Cited Availability | GET /buy/availability | $0.005 | Live | URL → a signed uptime/status probe: up/down, HTTP status + class, reachability reason, final URL after redirects, and a measured responseMs — wrapped… |
| Cited Headers | GET /buy/headers | $0.005 | Live | URL → a deterministic HTTP security-headers audit (HSTS, CSP, X-Frame, X-Content-Type, Referrer-Policy, Permissions-Policy + more) with a letter… |
| Cited Redirect | GET /buy/redirect | $0.005 | Live | URL → a SIGNED redirect/canonical resolution: the full hop chain [{url,status}] from the link you have to where it ACTUALLY lands, the final resolved… |
Crawl
Crawl — the goal: map a site's link graph, sitemap and AI-crawler permissions so an agent can plan a crawl — and prove what the site actually published at the time.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Cited Robots | GET /buy/robots | $0.005 | Live | Domain → signed, timestamped per-AI-crawler allow/block audit from robots.txt + llms.txt + ai.txt (GPTBot, ClaudeBot, PerplexityBot, Google-Extended,… |
| Cited Sitemap | GET /buy/sitemap | $0.01 | Live | Domain/URL → a SIGNED snapshot of the site's PUBLISHED sitemap: discovers the sitemap via robots.txt Sitemap: lines then /sitemap.xml fallback,… |
Commerce
Commerce — the goal: in-game commerce primitives for the MERCURY world. Building: the mint stays on testnet on purpose, these routes return 503 BEFORE any charge — you are never billed for a stub.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Agent Identity | GET /buy/agent | $1.00 | Building | A 1-of-1 MERCURY agent identity NFT (tier T1) with its own ERC-6551 wallet. |
| Antimatter | GET /buy/antimatter | $0.05 | Building | One unit of Antimatter — a rarer resource (ERC-1155 id 2). |
| Oracle API | GET /buy/api/oracle | $0.10 | Building | Metered MERCURY Oracle API — one Oracle task/answer, priced per call. |
| Render API | GET /buy/api/render | $0.02 | Building | Metered MERCURY render API — one world/room render job, priced per call. |
| Brick | GET /buy/brick | $0.01 | Building | One fungible MERCURY $-brick (ERC-1155 id 4). |
| Dark Matter | GET /buy/dark-matter | $0.25 | Building | One unit of Dark Matter — the rarest resource (ERC-1155 id 3). |
| Matter | GET /buy/matter | $0.01 | Building | One unit of MERCURY Matter — the base resource (ERC-1155 id 1). |
| Shelf | GET /buy/shelf | $0.10 | Building | A unique placeable MERCURY wall shelf (1-of-1, cloned from template id 100). |
| Wand | GET /buy/wand | $0.50 | Building | A unique placeable MERCURY magic wand (1-of-1, cloned from template id 101). |
Domain
Domain — the goal: pin a domain's infrastructure records to a timestamped, offline-verifiable receipt — evidence-grade domain facts.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Cited Dns | GET /buy/dns | $0.006 | Live | Domain → a SIGNED, timestamped DNS snapshot (A, AAAA, MX, NS, TXT, CNAME, SOA), normalised + sorted into a byte-stable record set with an… |
Markets
Markets — the goal: a free, honestly-labelled DEMO read (sample data, not a live market feed yet) so an agent can exercise the whole buy loop end-to-end at $0.
| Service | Route | Price | Status | What it does |
|---|---|---|---|---|
| Signals (free demo) | GET /buy/signal | $0 | Live | MERCURY Signals — free DEMO/sample read (sample data, not a live market read yet). |
Facilitator
Settlement is handled server-side — buyers never talk to the facilitator directly; the seller does.
| Facilitator | Host | Network | Buyer setup |
|---|---|---|---|
| CDP (Coinbase Developer Platform) | api.cdp.coinbase.com | Base mainnet (eip155:8453) | nothing — your x402 client just pays the 402 challenge |
Agent twin of this page: GET /university/docs?format=md (or Accept: text/markdown).