{
  "id": "surf.prediction-market.analytics",
  "object": "tool",
  "name": "Prediction Market Analytics",
  "summary": "Trends, top markets, momentum distribution, and per-market momentum signals for prediction markets.",
  "description": "Trends, top markets, momentum distribution, and per-market momentum signals for prediction markets. Platform-wide totals: Omit category to get aggregated volume/OI/market-count across the entire prediction market (Polymarket + Kalshi combined). Use platform to filter to one exchange. This is the recommended way to answer questions like \"What is Polymarket's total volume this week?\" or \"How does Kalshi volume compare to Polymarket?\" Category drill-down: Provide category to scope all data to one category (e.g. crypto, politics). Combines volume/OI time series, top markets by open interest, momentum summary (price/volume signal distribution), and per-market momentum signals (price changes, volume direction, whale flows). Note on top_markets: When both category and platform are omitted, top markets are ranked globally by open interest. Because Polymarket OI is significantly larger than Kalshi OI, the list will skew heavily toward Polymarket. Use platform to get per-platform rankings. Use search instead if you want to browse/search individual markets. Data refresh: ~5 minutes.\n\nRaw surf#prediction-market/analytics endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.asksurf.ai/data-api/prediction-market/analytics).",
  "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_prediction-market_analytics",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "crypto",
              "culture",
              "economics",
              "financials",
              "politics",
              "stem",
              "sports"
            ],
            "description": "Category to analyze. Omit to get platform-wide totals across all categories."
          },
          "platform": {
            "type": "string",
            "enum": [
              "polymarket",
              "kalshi"
            ],
            "description": "Filter to one platform."
          },
          "time_range": {
            "default": "30d",
            "type": "string",
            "enum": [
              "7d",
              "30d",
              "90d",
              "180d",
              "1y"
            ],
            "description": "Window for category trends: 7d, 30d, 90d, 180d, or 1y. Bucket size is fixed at 1 day — this endpoint uses time_range only and does NOT accept interval. Defaults to \"30d\"."
          },
          "top_n": {
            "default": 10,
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Number of top markets to include. Defaults to 10."
          },
          "sort_by": {
            "default": "volume_7d",
            "type": "string",
            "enum": [
              "volume_7d",
              "whale_flow_net_7d",
              "price_change_7d",
              "oi_change_7d"
            ],
            "description": "Sort field for momentum markets. Defaults to \"volume_7d\"."
          },
          "order": {
            "default": "desc",
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort direction. Defaults to \"desc\"."
          },
          "limit": {
            "default": 20,
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Limit for momentum markets list. Defaults to 20."
          },
          "offset": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Pagination offset for momentum markets. Defaults to 0."
          }
        },
        "additionalProperties": false
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "kind": "endpoint"
}