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
| Name | Type | Required | Description |
|---|---|---|---|
tickers | array | yes | Market tickers, 1-100 (e.g. [“KXHIGHNY-26SEP16-B75.5”,“KXHIGHNY-26SEP16-B77.5”]). A comma-separated string is accepted too. |
items | string | no | |
interval | string | no | ”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_days | number | no | Sugar for a window ending now (1-365, default 1). Ignored when both start_ts and end_ts are given. |
start_ts | string | no | Window START — ISO date (“2026-09-01”), ISO datetime, or unix seconds. |
end_ts | string | no | Window 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.