kalshi_orderbooks
Pack: kalshi · Endpoint: https://gateway.pipeworx.io/kalshi/mcp
Live bid/ask ladders for many Kalshi markets at once, from Kalshi’s batch endpoint.
Tool description as the model sees it
Depth-of-book for UP TO 100 Kalshi markets in ONE call — Kalshi’s own batch orderbook endpoint (GET /markets/orderbooks), not a fan-out we do for you. Use this instead of calling kalshi_orderbook once per ticker when you are pricing a whole event partition (an 11-bucket Fed event, a 20-strike temperature ladder) or screening several markets for liquidity: one request, one rate-limit slot. Returns per ticker: the full yes_bids / no_bids ladders (price in BOTH units — price_dollars at Kalshi’s fixed-point precision and price_cents rounded — with quantity), plus best_yes_bid / best_no_bid and the derived yes_ask / no_ask (1 − the opposite side’s best bid, which is what an ask IS in a binary market; Kalshi returns bids only). Kalshi returns an orderbook entry only for tickers it recognises AND that have a book, so any ticker you asked for that came back with nothing is named in tickers_without_book rather than silently dropped — an empty ladder is a real answer (nobody is quoting), not an error.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tickers | array | yes | Market tickers, 1-100 (Kalshi’s own per-request cap, e.g. [“KXHIGHNY-26SEP16-B75.5”,“KXHIGHNY-26SEP16-B77.5”]). A comma-separated string is accepted too. More than 100 is an explicit error, not a silent truncation — page it yourself. |
items | string | no | |
depth | number | no | Levels to keep per side, best-first (default 5, max 100). Kalshi returns the whole ladder; this trims the response. levels_available reports the untrimmed depth per side so you can tell a thin book from a trimmed one. |
Example call
Arguments
{
"tickers": [
"KXHIGHNY-26SEP16-B75.5",
"KXHIGHNY-26SEP16-B77.5"
],
"depth": 3
}
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_orderbooks","arguments":{"tickers":["KXHIGHNY-26SEP16-B75.5","KXHIGHNY-26SEP16-B77.5"],"depth":3}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('kalshi_orderbooks', {
"tickers": [
"KXHIGHNY-26SEP16-B75.5",
"KXHIGHNY-26SEP16-B77.5"
],
"depth": 3
});
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.