exhibit402-mcp
Enables agents to pay USDC on Base to permanently certify the current content of a public URL via dual-observer capture, and to re-verify existing certificates.
README
exhibit402-mcp
MCP server for exhibit402, a live x402-paid web-evidence service. It lets an agent pay USDC on Base to permanently certify what a public URL serves right now, and to re-verify existing certificates.
How a capture works: two independent observers on different networks capture the URL at the same frozen instant. Byte-identical captures get tier CERTIFIED. Differing captures get tier WITNESSED, with a pixel agreement percentage and a diff map. Either way the evidence (screenshot plus a signed manifest) is stored permanently on Arweave, an RFC 3161 timestamp token is included, and an ERC-721 certificate is minted on Base to the wallet that paid.
Machine-readable service docs: /llms.txt and /openapi.json.
Tools
| Tool | What it does | Price (USDC on Base) |
|---|---|---|
certify_url(url, mode) |
Pays for a capture, then polls the claim ticket until the certificate is final (up to about 6 minutes). Returns the certificate JSON: tier, token id, ar:// links, hashes. | $1.00 (fullpage, default) or $0.50 (viewport, first 1280x800 screen) |
verify_certificate(id) |
Re-verifies any exhibit402 certificate: the service re-downloads the stored bytes, recomputes every SHA-256, and checks the on-chain record. Returns a machine-readable verdict. id is a token id, an Arweave tx id, or a job id. |
$0.02 |
If certify_url hits its polling timeout, it still returns the claim_url. Claim tickets are durable and free to read: fetch the claim URL later with a plain GET to collect the finished certificate. You are not charged twice.
Refund policy (disclosed by the service): rejected captures (oversize, unreachable page, content screen) refund automatically minus a $0.10 fee; service faults refund in full. WITNESSED is a deliverable, not a failure, and is not refunded.
Setup
You need one environment variable:
EXHIBIT402_WALLET_KEY: an EVM private key (hex) for a wallet that holds USDC on Base (chain id 8453). The wallet needs no ETH; x402 settles via EIP-3009 and the facilitator pays gas. The key stays in your process environment and is never logged.
Without the key the server still starts and lists its tools, and every call returns a clear setup error instead of failing silently.
Claude Code (one line)
claude mcp add exhibit402 --env EXHIBIT402_WALLET_KEY=0xYOUR_KEY -- npx -y exhibit402-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"exhibit402": {
"command": "npx",
"args": ["-y", "exhibit402-mcp"],
"env": { "EXHIBIT402_WALLET_KEY": "0xYOUR_KEY" }
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"exhibit402": {
"command": "npx",
"args": ["-y", "exhibit402-mcp"],
"env": { "EXHIBIT402_WALLET_KEY": "0xYOUR_KEY" }
}
}
}
Pricing summary
| Action | Price |
|---|---|
| Full-page capture | $1.00 |
| Viewport capture (1280x800) | $0.50 |
| Verify a certificate | $0.02 |
| Rejected capture refund fee | $0.10 kept, rest refunded |
All payments are x402 (USDC on Base, eip155:8453). Payment settles before the capture starts; polling the claim ticket is free.
Notes for operators
EXHIBIT402_URLoverrides the service base URL (defaulthttps://exhibit402.dylan-caponi.workers.dev). You will not normally need it.- Fulfillment is normally 30 to 120 seconds, up to about 5 minutes with a cold observer or a retry round.
- A
verified: falseverdict fromverify_certificateis a delivered result and is charged. Malformed ids, unknown ids, and gateway outages are not charged. - The service refuses private and internal addresses before payment.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.