{
  "name": "routavo",
  "title": "Routavo",
  "version": "0.21.0",
  "description": "Every API on the Routavo network behind four MCP tools. Discover by capability or free text, call with routing and a signed receipt, verify, dispute.",
  "endpoint": "https://routavo.com/api/mcp",
  "transport": "streamable-http",
  "protocol_versions": [
    "2026-07-28",
    "2025-11-25",
    "2025-06-18",
    "2025-03-26"
  ],
  "auth": "none for the free tier. To pay: prove a wallet at https://routavo.com/api/wallet and send its key as Authorization: Bearer rw_..., or carry an x402 authorization in call().",
  "payment": {
    "network": "base",
    "asset": "USDC",
    "asset_contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "explorer": "https://basescan.org",
    "deposit_address": "0xc416f5ab9463b8a55884e6c6b9e82f594ff6f627",
    "deposits": true,
    "x402": false,
    "facilitator": false,
    "card_topup": null,
    "x402_topup": null,
    "live": true,
    "payouts": {
      "schedule": "weekly",
      "day": "Monday",
      "minimum_usd": 10,
      "asset": "USDC",
      "network": "base",
      "method": "sent by the operator and recorded against the chain",
      "text": "Weekly, on Mondays: what you are owed is sent in USDC on Base to your payout address when it comes to $10.00 or more. Less than that carries over to the next week. A share held for an open dispute is paid after the dispute is resolved."
    },
    "note": "Or deposit USDC on base to the deposit address from a wallet you control, prove the wallet at /api/wallet for a key, and calls are paid from that balance. x402 per-call payments are off (no facilitator configured)."
  },
  "tools": [
    {
      "name": "discover",
      "description": "Find APIs on the Routavo network that can perform a capability. Returns each provider with its published price, measured latency, terms, and the exact argument schema for calling it, plus the rule Routavo uses to pick between them. Call this before call() when you do not already know a provider id."
    },
    {
      "name": "call",
      "description": "Route a call to the Routavo network, meter it, and return the result. Give either a provider id from discover(), or a capability and let Routavo pick using its published routing rule. Optional max_price and max_latency_ms constrain the choice. Failed calls are recorded but cost nothing."
    },
    {
      "name": "verify",
      "description": "Check a receipt returned by call(). Confirms the signature, so the provider, price, fee, and the hashes of what went in and came out are exactly what Routavo recorded. Works for anyone holding the receipt. Reveals nothing else."
    },
    {
      "name": "dispute",
      "description": "Flag a metered call for the provider to review. Takes the receipt and a short reason. The receipt must verify and must have charged something. The dispute lands in that provider's queue and is visible to Routavo. One dispute per receipt."
    }
  ],
  "capabilities": [
    {
      "capability": "geocode",
      "contract": "geocode@1",
      "providers": 3,
      "cheapest": {
        "provider": "open-meteo.geocode",
        "price": {
          "amount": "0.0021",
          "asset": "USDC"
        },
        "trust": "verified"
      }
    },
    {
      "capability": "forecast",
      "contract": "forecast@1",
      "providers": 2,
      "cheapest": {
        "provider": "met-no.forecast",
        "price": {
          "amount": "0.0020",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "quakes",
      "contract": "quakes@1",
      "providers": 2,
      "cheapest": {
        "provider": "usgs.quakes",
        "price": {
          "amount": "0.0015",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "elevation",
      "contract": "elevation@1",
      "providers": 1,
      "cheapest": {
        "provider": "usgs.elevation",
        "price": {
          "amount": "0.0012",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "reverse_geocode",
      "contract": "reverse_geocode@1",
      "providers": 1,
      "cheapest": {
        "provider": "ign-fr.reverse",
        "price": {
          "amount": "0.0018",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "exchange_rates",
      "contract": null,
      "providers": 1,
      "cheapest": {
        "provider": "ecb-frankfurter.rates",
        "price": {
          "amount": "0.0012",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "holidays",
      "contract": null,
      "providers": 1,
      "cheapest": {
        "provider": "openholidays.holidays",
        "price": {
          "amount": "0.0013",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "company_filings",
      "contract": null,
      "providers": 1,
      "cheapest": {
        "provider": "sec-edgar.filings",
        "price": {
          "amount": "0.0016",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "wiki_summary",
      "contract": null,
      "providers": 1,
      "cheapest": {
        "provider": "wikipedia.summary",
        "price": {
          "amount": "0.0012",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    },
    {
      "capability": "weather_alerts",
      "contract": null,
      "providers": 1,
      "cheapest": {
        "provider": "nws.alerts",
        "price": {
          "amount": "0.0014",
          "asset": "USDC"
        },
        "trust": "listed"
      }
    }
  ],
  "contracts": [
    "geocode@1",
    "reverse_geocode@1",
    "elevation@1",
    "quakes@1",
    "forecast@1"
  ],
  "recipes": [
    {
      "recipe": "weather_for_place",
      "summary": "Current conditions and a daily forecast for a place name: geocode, then forecast at the top match.",
      "estimated_price": {
        "amount": "0.0041",
        "asset": "USDC",
        "note": "cheapest eligible provider per step at quote time"
      }
    }
  ],
  "catalog": "https://routavo.com/api/catalog",
  "catalog_formats": {
    "json": "https://routavo.com/api/catalog",
    "openapi": "https://routavo.com/api/catalog?format=openapi",
    "x402": "https://routavo.com/api/catalog?format=x402",
    "text": "https://routavo.com/llms.txt"
  },
  "routing": "Cheapest provider that can actually serve the request, meets the caller's constraints, and is currently healthy.",
  "fees": "Routavo takes 1% of the price, capped at $0.01 per call; free listings pay nothing.",
  "trust_tiers": {
    "verified": "declared a capability contract and terms, and passed a test call Routavo ran on the stated date. Not an endorsement.",
    "listed": "opted into the catalog with partial declarations; no passing test call on record.",
    "unverified": "on the network but not opted into the catalog, or missing the declarations a listing needs."
  },
  "receipts": "every call returns an HMAC-signed receipt; verify at https://routavo.com/api/receipt",
  "docs": "https://routavo.com/llms.txt"
}