kalshi_candlesticks

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

OHLC price history for many Kalshi markets on one shared timeline, from Kalshi.

Tool description as the model sees it

Price history (OHLC candles) for UP TO 100 Kalshi markets over ONE shared window, in ONE call — Kalshi’s batch candlestick endpoint (GET /markets/candlesticks). This is the comparison tool: every bucket of a Fed or CPI event on one timeline, or the same question across several strikes, without the N separate calls kalshi_price_history would cost. Per candle: YES open/high/low/close/mean as a probability 0-1, best bid/ask close, volume and open interest. Kalshi caps the response at 10,000 candles ACROSS all markets combined — when the cap binds the response says truncated_by_upstream: true and tells you which tickers came back short, because a silently halved series is indistinguishable from a quiet market. For ONE ticker with paging, a longer window, or a market old enough that Kalshi has archived it, use kalshi_price_history: this batch endpoint has no archive fallback and no cursor.

Parameters

NameTypeRequiredDescription
tickersarrayyesMarket tickers, 1-100 (e.g. [“KXHIGHNY-26SEP16-B75.5”,“KXHIGHNY-26SEP16-B77.5”]). A comma-separated string is accepted too.
itemsstringno
intervalstringno”1h” (hourly, default) | “1d” (daily) | “1m” (per-minute). Kalshi accepts only these three; the 10,000-candle cap is shared across every ticker you ask for, so a per-minute window over 100 markets will bind it.
lookback_daysnumbernoSugar for a window ending now (1-365, default 1). Ignored when both start_ts and end_ts are given.
start_tsstringnoWindow START — ISO date (“2026-09-01”), ISO datetime, or unix seconds.
end_tsstringnoWindow END — same formats. Defaults to now.

Example call

Arguments

{
  "tickers": [
    "KXHIGHNY-26SEP16-B75.5",
    "KXHIGHNY-26SEP16-B77.5"
  ],
  "interval": "1h",
  "lookback_days": 1
}

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_candlesticks","arguments":{"tickers":["KXHIGHNY-26SEP16-B75.5","KXHIGHNY-26SEP16-B77.5"],"interval":"1h","lookback_days":1}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('kalshi_candlesticks', {
  "tickers": [
    "KXHIGHNY-26SEP16-B75.5",
    "KXHIGHNY-26SEP16-B77.5"
  ],
  "interval": "1h",
  "lookback_days": 1
});

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 September 16, 2026