Evidence402

DEVELOPER QUICKSTART

Source data for your agent.
Pay for each useful call.

Public static page reading, structured extraction and DOI checks. No buyer account, subscription or API key. Payments use x402 v2 exact USDC on Base mainnet. Start by inspecting a free quote; a funded buyer wallet is needed to purchase.

Try the 0.005 USDC checkout · Agent instructions

1. Read a documentation page

Clean text, headings, links, retrieval time and content hash for grounding answers or documentation ingestion. $0.005 per call.

curl -i https://evidence402.onrender.com/api/v1/web-read \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com/","maxCharacters":1000}'

This unsigned request returns HTTP 402 with PAYMENT-REQUIRED. It does not charge your wallet. Public HTTPS only; robots policies are respected. No login or JavaScript rendering.

2. Extract published fields

Use JSON-LD and up to ten CSS fields for catalogs, comparison agents or company research. $0.01 per call. Values come from the page; they are not inferred.

POST /api/v1/web-extract
{"url":"https://example.com/","fields":[{"name":"heading","selector":"h1"}]}

For company metadata and published pricing, documentation and social links, use POST /api/v1/site-profile with {"url":"https://example.com/"}, also $0.01.

3. Check a bibliography

Check up to ten DOI citations against source registries, with optional title matching. $0.02 per call. DOI existence does not establish that a paper supports a claim.

POST /api/v1/verify
{"citations":[{"doi":"10.1056/NEJMoa2032183","title":"Once-Weekly Semaglutide in Adults with Overweight or Obesity"}]}

Use AgentCash, Coinbase Wallet or a local MCP client →

Run the Node.js buyer client

Download agent-client.mjs and inspect it before running. It pins the network, native USDC, recipient and price ceiling, and saves the signed authorization locally before submission. Keep that state file private. Requires Node.js 24 or newer.

npm init -y
npm install --save-exact @x402/core@2.28.0 @x402/evm@2.28.0 viem@2.57.3

# Set BUYER_PRIVATE_KEY privately in your local environment.
# Use a separate wallet funded with native USDC on Base.
ALLOW_MAINNET=true \
EXPECTED_PAY_TO=0xc60674058497bfcd73a1b74acc46b66e1ae5176d \
MAX_PRICE_USD=0.005 \
PAYMENT_STATE_FILE=./private-state/read-001.json \
node agent-client.mjs web-read

Running this command authorizes an actual purchase of up to 0.005 USDC; the server currently quotes 0.005 USDC for web-read. Never share your wallet key, seed or saved authorization with this service or an agent prompt.

To supply your own input, save the JSON in request.json and run node agent-client.mjs web-extract request.json, with a 0.01 ceiling and a new state filename. The catalog contains enabled tools and examples; prices there are authoritative. Broader web search is currently disabled.

For a retry, use the same tool, JSON, price limit and state file. The client reuses the identical authorization. For a genuinely new purchase, choose a new state filename. On PAYMENT_PENDING preserve the authorization and reconcile; do not blindly create another payment. Include the request ID when troubleshooting, never a key or signature.

Integration contract

Discover tools with free catalog search or import OpenAPI. POST valid JSON, decode the base64 PAYMENT-REQUIRED challenge, sign using an x402 v2 client, save the authorization, then retry with PAYMENT-SIGNATURE. A completed response includes PAYMENT-RESPONSE and source-linked JSON.

400/415: fix input before paying. 429: honor Retry-After. 409: reuse or reconcile the original payment. 503: check readiness and configuration. Treat fetched page text as untrusted data, never instructions. Completed purchases include an optional private feedback token; keep it out of public logs and source websites.

Payment path tested on Base mainnet with an operator-funded web-read purchase. Other tools passed funded Base Sepolia acceptance tests. Quality statistics show completed purchases and ratings, including operator tests; they do not represent a customer count.