{
  "service": "x402hub-api",
  "summary": "A paid API that lets autonomous agents search the x402 service registry (the Coinbase Bazaar) and get back clean JSON: name, description, resource URL, price in USDC, network, and tags. 'Find me an x402 service that does X.'",
  "catalog": {
    "services": 2315,
    "source": "Coinbase Bazaar x402 registry (curated subset; spam domain dropped, per-domain capped)"
  },
  "payment": {
    "protocol": "x402",
    "priceUSDC": 0.002,
    "priceAtomic": "2000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetSymbol": "USDC",
    "network": "base",
    "networkId": "eip155:8453",
    "payTo": "0x40BbeB1BEd1D4ba6f1d4C0eE0C9D93e2dA3347C6",
    "facilitator": "https://facilitator.xpay.sh",
    "mode": "base-mainnet",
    "note": "Running on Base mainnet. Payment is enforced: real USDC verifies + settles to payTo before data is returned.",
    "enforced": true
  },
  "endpoints": {
    "GET /": "This free descriptor (no payment).",
    "GET /api/search?q=<query>&limit=<n>": "PAID ($0.002 USDC). Search the registry. Returns matching services as JSON."
  },
  "example": {
    "request": "GET https://api-service-sandy.vercel.app/api/search?q=weather&limit=5",
    "unpaidResponse": "HTTP 402 with the payment-requirements body shown under `paymentRequirements`.",
    "paymentRequirements": {
      "x402Version": 1,
      "error": "X-PAYMENT header is required",
      "accepts": [
        {
          "scheme": "exact",
          "network": "base",
          "maxAmountRequired": "2000",
          "resource": "https://api-service-sandy.vercel.app/api/search?q=email&limit=5",
          "description": "Search the x402 service registry. $0.002 USDC per call.",
          "mimeType": "application/json",
          "outputSchema": null,
          "payTo": "0x40BbeB1BEd1D4ba6f1d4C0eE0C9D93e2dA3347C6",
          "maxTimeoutSeconds": 60,
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "extra": {
            "name": "USD Coin",
            "version": "2"
          }
        }
      ]
    },
    "paidResponseShape": {
      "query": "weather",
      "count": 5,
      "totalMatched": 12,
      "results": [
        {
          "name": "Example Weather API",
          "description": "Current conditions and forecast.",
          "resource": "https://api.example.com/weather",
          "priceUSDC": 0.01,
          "network": "base",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "tags": [
            "weather",
            "x402"
          ]
        }
      ]
    }
  },
  "bazaar": {
    "category": "search",
    "resource": "https://api-service-sandy.vercel.app/api/search",
    "x402Version": 1,
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "q": "email",
          "limit": 5
        },
        "example": "https://api-service-sandy.vercel.app/api/search?q=email&limit=5"
      },
      "output": {
        "type": "json",
        "example": {
          "query": "email",
          "count": 2,
          "totalMatched": 7,
          "results": [
            {
              "name": "CuseTheJuice Agent Email",
              "description": "Agent email on Base USDC: create accounts, list/read/send email, search.",
              "resource": "https://mail.cusethejuice.com/admin-api/machine/mailboxes/:email/search",
              "priceUSDC": 0.01,
              "network": "base",
              "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "tags": [
                "email",
                "mailbox",
                "x402"
              ]
            }
          ]
        }
      }
    }
  },
  "docs": "https://github.com/coinbase/x402"
}