MERCURY
UniversityDocs

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.

Live on Base mainnet (eip155:8453) with real USDC. The exact price ships inside the 402 challenge — your agent never pays more than the price shown. Prices here, /catalog, /openapi.json and the live 402 challenge are all generated from the SAME catalog object, so they cannot drift.
Honest by design. Early and honest: live on Base mainnet with real USDC, per-call over HTTP 402 — no token, ever. N=0 external buyers today; any on-chain settlement we show is a self-settle plumbing-proof, not a customer and not revenue. The in-game currency and mint stay on testnet on purpose. Verify everything yourself at /trust.

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.

agent.mjs · x402
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)
Pay over 402 — get the missing pieceVerify a receipt — free

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.

ServiceRoutePriceStatusWhat it does
Verifiable Web FetchGET /buy/fetch$0.003LiveVERIFIABLE keyless web-read for autonomous agents. Every result ships a cryptographically SIGNED provenance receipt (EIP-191 over…
Cited BatchGET /buy/batch$0.02LiveList 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 MarkdownGET /buy/markdown$0.005LiveURL → clean, LLM-ready markdown (boilerplate/nav/ads stripped, headings + lists + links preserved) with a signed provenance receipt pinning the…
Cited ReadabilityGET /buy/readability$0.005LiveURL → 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.

ServiceRoutePriceStatusWhat it does
Cited FeedGET /buy/feed$0.005LiveRSS/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 LinksGET /buy/links$0.005LiveURL → a SIGNED outbound/internal link graph: every <a href> as an absolute URL + anchor text, classified internal vs external against the page…
Cited MetadataGET /buy/metadata$0.006LiveURL → one typed, SIGNED metadata record (JSON-LD + OpenGraph + Twitter-card + standard <meta> + canonical + title), by source. Deterministic,…
Cited TableGET /buy/table$0.006LiveURL 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 ExtractGET /buy/extract$0.004LiveTYPED 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.

ServiceRoutePriceStatusWhat it does
Cited DiffGET /buy/diff$0.006LiveURL + prior content-hash (or prior text) -> refetch, deterministic change-proof: changed? + a NEW signed receipt binding fromHash->toHash. Stateless;…
Cited NotarizeGET /buy/notarize$0.008LiveNotarize any content (inline ?content= or a fetched ?url=) into a signed, offline-verifiable provenance receipt — sha256 contentHash + witnessed…
Cited ValidateGET /buy/validate$0.005LiveURL (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.

ServiceRoutePriceStatusWhat it does
Cited AvailabilityGET /buy/availability$0.005LiveURL → a signed uptime/status probe: up/down, HTTP status + class, reachability reason, final URL after redirects, and a measured responseMs — wrapped…
Cited HeadersGET /buy/headers$0.005LiveURL → a deterministic HTTP security-headers audit (HSTS, CSP, X-Frame, X-Content-Type, Referrer-Policy, Permissions-Policy + more) with a letter…
Cited RedirectGET /buy/redirect$0.005LiveURL → 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.

ServiceRoutePriceStatusWhat it does
Cited RobotsGET /buy/robots$0.005LiveDomain → signed, timestamped per-AI-crawler allow/block audit from robots.txt + llms.txt + ai.txt (GPTBot, ClaudeBot, PerplexityBot, Google-Extended,…
Cited SitemapGET /buy/sitemap$0.01LiveDomain/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.

ServiceRoutePriceStatusWhat it does
Agent IdentityGET /buy/agent$1.00BuildingA 1-of-1 MERCURY agent identity NFT (tier T1) with its own ERC-6551 wallet.
AntimatterGET /buy/antimatter$0.05BuildingOne unit of Antimatter — a rarer resource (ERC-1155 id 2).
Oracle APIGET /buy/api/oracle$0.10BuildingMetered MERCURY Oracle API — one Oracle task/answer, priced per call.
Render APIGET /buy/api/render$0.02BuildingMetered MERCURY render API — one world/room render job, priced per call.
BrickGET /buy/brick$0.01BuildingOne fungible MERCURY $-brick (ERC-1155 id 4).
Dark MatterGET /buy/dark-matter$0.25BuildingOne unit of Dark Matter — the rarest resource (ERC-1155 id 3).
MatterGET /buy/matter$0.01BuildingOne unit of MERCURY Matter — the base resource (ERC-1155 id 1).
ShelfGET /buy/shelf$0.10BuildingA unique placeable MERCURY wall shelf (1-of-1, cloned from template id 100).
WandGET /buy/wand$0.50BuildingA 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.

ServiceRoutePriceStatusWhat it does
Cited DnsGET /buy/dns$0.006LiveDomain → 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.

ServiceRoutePriceStatusWhat it does
Signals (free demo)GET /buy/signal$0LiveMERCURY 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.

FacilitatorHostNetworkBuyer setup
CDP (Coinbase Developer Platform)api.cdp.coinbase.comBase 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).