kalshi_markets

Pack: kalshi · Endpoint: https://gateway.pipeworx.io/kalshi/mcp

List/search Kalshi markets. Optional filters: status (open|closed|settled), event_ticker (group by event), series_ticker (group by series like KXFED for Fed rate). Returns ticker, title, yes_ask/no_ask (in cents 1–99), volume, open_interest. Use this to discover markets; use kalshi_market for full detail.

Parameters

NameTypeRequiredDescription
statusstringnoopen | closed | settled (default open)
event_tickerstringnoFilter to one event (e.g. “KXFED-26OCT”)
series_tickerstringnoFilter to one series (e.g. “KXFED” for Fed funds rate)
limitnumberno1-1000 (default 100)
cursorstringnoPagination cursor from previous response

Example call

Arguments

{
  "status": "open",
  "limit": 50
}

curl

curl -X POST https://gateway.pipeworx.io/kalshi/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"kalshi_markets","arguments":{"status":"open","limit":50}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('kalshi_markets', {
  "status": "open",
  "limit": 50
});

More examples

{
  "series_ticker": "KXFED",
  "limit": 100
}

Response shape

Always returns: count, cursor, markets

FieldTypeDescription
countnumberNumber of markets returned
cursorstring | nullPagination cursor for next batch
marketsarrayList of formatted markets
Full JSON Schema
{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of markets returned"
    },
    "cursor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pagination cursor for next batch"
    },
    "markets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": [
              "string",
              "null"
            ],
            "description": "Market ticker"
          },
          "event_ticker": {
            "type": [
              "string",
              "null"
            ],
            "description": "Parent event ticker"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Market title"
          },
          "subtitle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Market subtitle"
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "description": "open|closed|settled"
          },
          "yes_ask_cents": {
            "type": [
              "number",
              "null"
            ],
            "description": "Ask price in cents"
          },
          "yes_bid_cents": {
            "type": [
              "number",
              "null"
            ],
            "description": "Bid price in cents"
          },
          "no_ask_cents": {
            "type": [
              "number",
              "null"
            ],
            "description": "NO ask price in cents"
          },
          "last_price_cents": {
            "type": [
              "number",
              "null"
            ],
            "description": "Last trade price in cents"
          },
          "implied_yes_prob": {
            "type": [
              "number",
              "null"
            ],
            "description": "Implied YES probability (0-1)"
          },
          "volume": {
            "type": [
              "number",
              "null"
            ],
            "description": "Total volume"
          },
          "volume_24h": {
            "type": [
              "number",
              "null"
            ],
            "description": "24-hour volume"
          },
          "open_interest": {
            "type": [
              "number",
              "null"
            ],
            "description": "Open interest"
          },
          "close_time": {
            "type": [
              "string",
              "null"
            ],
            "description": "Market close/expiration time"
          },
          "category": {
            "type": [
              "string",
              "null"
            ],
            "description": "Market category"
          }
        }
      },
      "description": "List of formatted markets"
    }
  },
  "required": [
    "count",
    "cursor",
    "markets"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "kalshi": {
      "url": "https://gateway.pipeworx.io/kalshi/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 8, 2026