x402-agent-data

Paid on-chain data for agents over x402: token reports, contract due-diligence signals, pool depth and slippage, wallet activity. USDC per call on Base, no signup and no API key.

Hosted MCP Server

npx add-mcp 'https://x402-agent.majighufron.workers.dev/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

x402-agent-data

Paid on-chain data for AI agents (and humans). Pay per call in USDC on Base over HTTP 402 (x402) — no signup, no API key, no account. The money goes straight to the wallet advertised in the 402 response; nothing is held by the service.

  • Landing / discovery: https://x402-agent.majighufron.workers.dev
  • MCP server (remote, streamable HTTP): https://x402-agent.majighufron.workers.dev/mcp
  • Machine-readable catalogue: https://x402-agent.majighufron.workers.dev/api
  • Agent instructions: https://x402-agent.majighufron.workers.dev/llms.txt

x402 flow: 402 challenge, paid call returning data, MCP tools list

Services

ServicePriceWhat you get
token_report · GET /api/token-report$0.01ERC-20 metadata, supply, recent transfer activity, optional pool balance. Chains: Base, Base Sepolia, Robinhood Chain
pool_risk · GET /api/pool-risk$0.02Pool reserves, implied price, constant-product slippage for a given notional
wallet_profile · GET /api/wallet-profile$0.03Transfers in/out, distinct counterparties, first and last block seen
contract_dd · GET /api/contract-dd$0.05Due-diligence signals: risky selectors present in bytecode, owner + renounced status, activity, largest-transfer share

Free endpoints: / discovery · /api catalogue · /llms.txt agent text · /api/sample truncated report so you can check the data shape before paying · /mcp MCP server (the service_catalog tool is free).

Use it from an MCP client

Add the remote server to any MCP client (Claude Desktop, Cursor, or your own agent):

{
  "mcpServers": {
    "x402-agent-data": {
      "type": "streamable-http",
      "url": "https://x402-agent.majighufron.workers.dev/mcp"
    }
  }
}

Tools: service_catalog (free), token_report, pool_risk, wallet_profile, contract_dd. Call a paid tool once without payment_signature and it returns the payment requirements; pay, then call again with payment_signature = base64 of {"txHash":"0x…"}.

Use it over plain HTTP

# 1. Ask without paying -> HTTP 402 + payment requirements
curl -s "https://x402-agent.majighufron.workers.dev/api/token-report?chain=base&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"

# 2. Send the quoted USDC amount to the payTo address on Base (USDC, 6 decimals)

# 3. Retry with the proof
TX=0x…   # your transfer hash
PROOF=$(printf '{"txHash":"%s"}' "$TX" | base64)
curl -s -H "PAYMENT-SIGNATURE: $PROOF" \
  "https://x402-agent.majighufron.workers.dev/api/token-report?chain=base&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"

A proof is single-use and must be from the last 15 minutes. If the service itself fails (upstream RPC throttling), it answers 503 retryable: true and releases your proof, so you can call again without paying twice.

See examples/pay_and_fetch.py for a runnable walkthrough.

Why it exists

On-chain data is usually sold as a monthly subscription behind an API key. Agent software cannot fill in signup forms, so this exposes the same data per call: the HTTP 402 response is the price list, and the wallet is the identity.

Honest limits

  • Upstream public RPCs throttle shared egress IPs, so a call can occasionally answer 503; proofs are released so retries are free.
  • contract_dd reports signals, not verdicts: selector presence says what is in the bytecode, not how it behaves. Proxies and dead code both hide intent.
  • Payment uses a plain USDC transfer plus a proof header (self-verified). It is not the EIP-3009 facilitator flow yet.

License

MIT