kalshi_trades

Pack: kalshi · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/kalshi_trades for the schema, then POST the same URL with its arguments for the data.

Trades recently executed on a Kalshi market, newest first, from Kalshi.

Tool description as the model sees it

Executed trades for a market ticker, live OR long-settled. Returns most-recent N trades with yes/no price in BOTH units (yes_price_cents and yes_price_dollars at full precision), contract size, taker side and timestamp. Useful for sanity-checking what the market actually paid vs the resting orderbook, and for reconstructing how a resolved market traded. Kalshi answers 200-with-an-empty-list on its live trades endpoint for markets it has archived, so this falls through to Kalshi’s historical trade archive and reports which one answered in source.

Parameters

NameTypeRequiredDescription
tickerstringyesKalshi market ticker
limitnumberno1-1000 (default 50)

Example call

Arguments

{
  "ticker": "KXFED-26OCT-T3.50",
  "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_trades","arguments":{"ticker":"KXFED-26OCT-T3.50","limit":50}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('kalshi_trades', {
  "ticker": "KXFED-26OCT-T3.50",
  "limit": 50
});

More examples

{
  "ticker": "PRES-2024-DJT",
  "limit": 3
}

Response shape

Always returns: ticker, count, cursor, trades

FieldTypeDescription
tickerstringMarket ticker
countnumberNumber of trades returned
cursorstring | nullPagination cursor
tradesarrayRecent executed trades
Full JSON Schema
{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Market ticker"
    },
    "count": {
      "type": "number",
      "description": "Number of trades returned"
    },
    "cursor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pagination cursor"
    },
    "trades": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "trade_id": {
            "type": "string",
            "description": "Unique trade ID"
          },
          "ticker": {
            "type": "string",
            "description": "Market ticker"
          },
          "yes_price_cents": {
            "type": "number",
            "description": "YES price in cents"
          },
          "no_price_cents": {
            "type": "number",
            "description": "NO price in cents"
          },
          "count": {
            "type": "number",
            "description": "Number of contracts traded"
          },
          "taker_side": {
            "type": "string",
            "description": "yes|no (which side took liquidity)"
          },
          "created_time": {
            "type": "string",
            "description": "Trade execution timestamp"
          }
        }
      },
      "description": "Recent executed trades"
    }
  },
  "required": [
    "ticker",
    "count",
    "cursor",
    "trades"
  ]
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the kalshi pack
{
  "mcpServers": {
    "kalshi": {
      "url": "https://gateway.pipeworx.io/kalshi/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build October 5, 2026