{
  "id": "surf.onchain.bridge.ranking",
  "object": "tool",
  "name": "Bridge Protocol Ranking",
  "summary": "List bridge protocols ranked by USD volume over a time range.",
  "description": "List bridge protocols ranked by USD volume over a time range. Example: use this when you need bridge leaderboard data instead of raw SQL.\n\nRaw surf#onchain/bridge/ranking endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.asksurf.ai/data-api/onchain/bridge-ranking).",
  "category": "lookup",
  "hosted_by": "Surf",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "surf",
      "name": "Surf",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "surf_onchain_bridge_ranking",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "type": "object",
        "properties": {
          "time_range": {
            "default": "30d",
            "type": "string",
            "enum": [
              "7d",
              "30d",
              "90d",
              "180d",
              "1y",
              "all"
            ],
            "description": "Window to aggregate bridge volume over: 7d, 30d, 90d, 180d, 1y, or all. Returns a single ranked snapshot (not a time-series). This endpoint uses time_range only — it does NOT accept interval. Example: 30d. Defaults to \"30d\"."
          },
          "limit": {
            "default": 20,
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Results per page. Example: 20. Defaults to 20."
          },
          "offset": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Pagination offset. Example: 0. Defaults to 0."
          }
        },
        "additionalProperties": false
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "kind": "endpoint"
}