x402 Router

Discovery and routing for 22k+ live x402 paid APIs. Agents find the best-scored, fastest x402 endpoint for a task; free top-3 routing, $0.01 full ranked list, $0.002 live endpoint check (USDC on Base/Solana).

Documentation

x402 Router: MCP server + free API to find and pay the right x402 endpoint

MCP x402 Chains USDC License: MIT Docker build

20,700+ LIVE x402 pay-per-call endpoints across 3,100+ services, probed every 3 hours and scored 0-100 for reliability. Agents don't need to know which x402 API is up. Ask the router.

Keywords: x402, MCP, MCP server, AI agents, agent payments, pay-per-call APIs, USDC, Base, Solana, x402 discovery, x402 router, x402 registry, HTTP 402.

Quick start (MCP, 30 seconds)

The server is read-only: it holds no keys and never pays. It exposes four tools: search_x402_endpoints, route_x402_request, get_registry_stats, get_paid_route_requirements.

Option A: uvx (no clone, no PyPI needed)

Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "x402-router": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/camerxnduff/x402-router-mcp#subdirectory=mcp-server", "x402-router-mcp"]
    }
  }
}

Option B: Docker

{
  "mcpServers": {
    "x402-router": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/camerxnduff/x402-router-mcp:latest"]
    }
  }
}

Or build it yourself: docker build -t x402-router-mcp . and use x402-router-mcp as the image name.

Option C: from source

git clone https://github.com/camerxnduff/x402-router-mcp
cd x402-router-mcp/mcp-server
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
python test_client.py   # calls the live router, read-only
{"mcpServers":{"x402-router":{"command":"/abs/path/x402-router-mcp/mcp-server/.venv/bin/python","args":["/abs/path/x402-router-mcp/mcp-server/server.py"]}}}

Streamable HTTP: python server.py --http 8000 serves http://localhost:8000/mcp. Env overrides: X402_ROUTER_URL, X402_DASHBOARD_URL.

Try it with no install (curl)

# best live Base endpoint for a category (free preview)
curl -s -X POST https://router-production-ab89.up.railway.app/route \
  -H 'content-type: application/json' -d '{"category":"Finance","chain":"Base"}'

# search the registry
curl -s 'https://router-production-ab89.up.railway.app/dashboardapi/endpoints?q=weather&chain=Base&limit=5'

Why

Thousands of x402 endpoints exist, and many are dead, misconfigured or slow. The router probes every one, checks that its 402 body is valid (version, scheme, network, payTo, asset, amount), and ranks by uptime and latency, so an agent gets a working endpoint with a known price.

HTTP API

EndpointWhat
GET /api/endpoints?q=&chain=&category=&max_price=&min_score=&sort=&limit= (dashboard)Search LIVE endpoints, best first
GET /api/summary (dashboard)Counts by chain, category, source
GET /api/registry (dashboard)Full registry (gzip)
POST /route (router)Best match + top 3, free
POST /route/paid (router)$0.01 USDC (x402, Base; Solana accepted): full ranked list (up to 25) with latency, reliability, price, payTo/networks and a ready-to-pay best pick
GET /check/paid?url= (router)$0.002 USDC (x402): fresh live probe of one endpoint: is it up, latency, the real price and payTo it asks for now

Examples: examples/ (curl, Python, TypeScript).

MCP tools

ToolCost
search_x402_endpoints, route_x402_request, get_registry_stats, get_paid_route_requirementsFree
find_best_x402_endpoint$0.01 USDC per call
check_x402_endpoint$0.002 USDC per call

Paid tools pay inside the tool call. To enable them:

pip install "x402-router-mcp[pay] @ git+https://github.com/camerxnduff/x402-router-mcp#subdirectory=mcp-server"
export X402_EVM_PRIVATE_KEY=0x...      # a dedicated, low-balance Base wallet holding a little USDC
export X402_MAX_PAYMENT_USD=0.01       # per-call cap (default 0.01)

Without a key, the paid tools return the price and the x402 payment requirements instead of paying.

Payments

x402 v2: Base USDC first, Solana USDC as fallback, settled through the PayAI facilitator.

License

MIT