Pricing

Free endpoints Free · no auth

No payment, no auth required. Includes /v1/endpoints (10 req/min), /v1/providers (10 req/min), /v1/ecosystem (10 req/min), /v1/categories (60 req/min), /v1/health (60 req/min), /v1/liveness (1 req/min), /.well-known/x402 (60 req/min).

Paid endpoints x402 · USDC on Base · 60 req/min
  • GET /v1/search$0.002 per query
    FTS5 full-text search across all tracked endpoints with BM25 ranking, liveness scores, and AI-enriched tags. Agent-ready filters: integration_readiness, network, max_price_usd.
  • GET /v1/history$0.003 per query
    Complete liveness time-series for a single endpoint. Months of accumulated check data — timestamp, alive, latency_ms, http_status, error. Cannot be reconstructed from any other source.
  • GET /v1/route$0.005 per query
    Agent routing — returns the best endpoint for a task with composite ranking (liveness, latency, on-chain activity, price efficiency) and fallback alternatives.
  • GET /v1/agent-search$0.004 per query
    Semantic search via embeddings + LLM expansion. Natural language queries like "DeFi price oracle on Base" with vector similarity matching.

Rate limit: 60 requests/minute per IP for paid traffic. Payment via x402 protocol v2 — USDC on Base mainnet (eip155:8453). Attach a signed TransferWithAuthorization (EIP-3009) to the X-Payment header.

Want to list your x402 endpoint?

Submit your URL and we verify it live. Your endpoint gets a reliability score and becomes discoverable by AI agents via search, MCP, and semantic matching.

Submit your endpoint →

Free endpoints

Endpoints API Free · 10 req/min

Providers API Free · 10 req/min

Search API x402 · $0.002/query

History API x402 · $0.003/query

Route API x402 · $0.005/query

Agent Search API x402 · $0.004/query

x402 payment flow

  1. 1. DiscoverGET /.well-known/x402 to get the accepted asset, network, price, and payTo address.
  2. 2. Request without payment — any paid endpoint returns HTTP 402 with header X-Payment-Required: <base64 JSON>.
  3. 3. Sign — client wallet signs a USDC TransferWithAuthorization (EIP-3009) for the exact amount to the payTo address.
  4. 4. Retry with payment — same request with header X-Payment: <base64 signed payload>.
  5. 5. Settle — server posts to facilitator, USDC settles on Base, HTTP 200 with results is returned.

Payment spec examples (from HTTP 402)

Search (maxAmountRequired: "2000" = $0.002 USDC):

{
  "x402Version": 2,
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "2000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x8c751d62141c9DF97292815B7ba5F1cAdEBBCE32",
    "resource": "https://api.x402dash.com/v1/search"
  }]
}

History (maxAmountRequired: "3000" = $0.003 USDC):

{
  "x402Version": 2,
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "3000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x8c751d62141c9DF97292815B7ba5F1cAdEBBCE32",
    "resource": "https://api.x402dash.com/v1/history"
  }]
}

Route (maxAmountRequired: "5000" = $0.005 USDC):

{
  "x402Version": 2,
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "5000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x8c751d62141c9DF97292815B7ba5F1cAdEBBCE32",
    "resource": "https://api.x402dash.com/v1/route"
  }]
}

Asset is USDC on Base mainnet (eip155:8453). 6 decimals.

Quick start — Python

Full working example: discover endpoints, pay with USDC, get results. Requires pip install x402 httpx eth-account and a wallet with USDC on Base.

import base64, json, httpx
from eth_account import Account
from x402 import x402ClientSync, parse_payment_required
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# 1. Your wallet (needs USDC + ETH on Base mainnet)
account = Account.from_key("0xYOUR_PRIVATE_KEY")

# 2. Set up x402 client with EVM payment support
client = x402ClientSync()
register_exact_evm_client(client, account, networks="eip155:8453")

# 3. Call a paid endpoint — get 402 with payment spec
API = "https://api.x402dash.com"
resp = httpx.get(f"{API}/v1/search", params={"q": "defi oracle", "limit": "5"})
# resp.status_code == 402

# 4. Parse requirements and create signed payment
payment_required = parse_payment_required(resp.json())
payment_payload = client.create_payment_payload(payment_required)

# 5. Encode as X-Payment header
payload_b64 = base64.b64encode(
    json.dumps(payment_payload.model_dump(by_alias=True, exclude_none=True)).encode()
).decode()

# 6. Retry with payment — get real data
resp2 = httpx.get(
    f"{API}/v1/search",
    params={"q": "defi oracle", "limit": "5"},
    headers={"X-Payment": payload_b64},
)
data = resp2.json()  # {"items": [...], "count": 5, ...}
print(f"Found {data['count']} endpoints")
for ep in data["items"]:
    print(f"  {ep['display_name']} — score {ep['liveness_score']}")

Cost: $0.002 per search query. USDC is transferred on Base mainnet via EIP-3009 (gasless for the caller — the facilitator pays gas).

Quick start — JavaScript / Node.js

Using fetch and the @anthropic-ai/x402 or @coinbase/x402 npm package.

// Using fetch with a pre-signed X-Payment header
const API = "https://api.x402dash.com";

// Free endpoint — no payment needed
const eco = await fetch(`${API}/v1/ecosystem`);
const { totals } = await eco.json();
console.log(`${totals.endpoints} endpoints tracked`);

// Paid endpoint — agent routing
const resp = await fetch(`${API}/v1/route?task=token+price+oracle&limit=3`, {
  headers: { "X-Payment": signedPayloadBase64 }
});
const { primary, fallbacks } = await resp.json();
console.log(`Best: ${primary.display_name} (score: ${primary.route_score})`);
console.log(`${fallbacks.length} fallback(s) available`);

See the x402 SDK for wallet setup and payment signing in JavaScript.

cURL examples

Free endpoints — no auth required:

# Ecosystem overview (10 req/min)
curl -s https://api.x402dash.com/v1/ecosystem | jq .totals

# Full detail on one endpoint (1 req/min)
curl -s "https://api.x402dash.com/v1/liveness?endpoint=defi.hugen.tokyo/tvl"

# Payment discovery (60 req/min)
curl -s https://api.x402dash.com/.well-known/x402 | jq .

# Browse endpoints — free (10 req/min)
curl -s "https://api.x402dash.com/v1/endpoints?limit=20&category=DeFi%2FCrypto"

# Providers — free (10 req/min)
curl -s "https://api.x402dash.com/v1/providers?limit=50"

Paid endpoints — HTTP 402 without valid X-Payment header:

# Search — $0.002/query
# Step 1: see the 402 + payment spec
curl -i "https://api.x402dash.com/v1/search?q=defi+price+oracle"
# → HTTP/1.1 402 Payment Required
# → X-Payment-Required: eyJ4NDAyVmVyc2lvbiI6MiwgImFjY2VwdHMiOiBb...

# Step 2: decode the spec
curl -s "https://api.x402dash.com/v1/search?q=defi" \
  -o /dev/null -D - | grep X-Payment-Required \
  | awk '{print $2}' | base64 -d | jq .

# Step 3 (x402 client): sign + retry with X-Payment header
curl -s "https://api.x402dash.com/v1/search?q=defi" \
  -H "X-Payment: <base64_signed_payload>"

# Agent-style query: find ready DeFi APIs under $0.01 on Base
curl -s "https://api.x402dash.com/v1/search?q=defi+oracle&integration_readiness=ready_now&network=eip155%3A8453&max_price_usd=0.01&min_score=60" \
  -H "X-Payment: <base64_signed_payload>"

# History — $0.003/query (same x402 flow, different price)
curl -i "https://api.x402dash.com/v1/history?endpoint=defi.hugen.tokyo/tvl&limit=50"
# → HTTP/1.1 402 Payment Required
# → X-Payment-Required: eyJ4NDAyVmVyc2lvbiI6MiwgImFjY2VwdHMiOiBb...

curl -s "https://api.x402dash.com/v1/history?endpoint=defi.hugen.tokyo/tvl&limit=50" \
  -H "X-Payment: <base64_signed_payload>"

# Route — $0.005/query (agent decision endpoint)
curl -i "https://api.x402dash.com/v1/route?task=defi+oracle&budget=0.01&network=eip155%3A8453&min_score=60&limit=3"
# → HTTP/1.1 402 Payment Required

curl -s "https://api.x402dash.com/v1/route?task=defi+oracle&budget=0.01&network=eip155%3A8453&min_score=60&limit=3" \
  -H "X-Payment: <base64_signed_payload>"
# → { "primary": {...}, "fallbacks": [...], "confidence": "high" }

Key response fields