New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsFinance & Payments
Tool

Kalshi Tools

Browse and trade Kalshi prediction markets — query markets, events, orderbooks, candlesticks, and manage your portfolio and orders

Kalshi is a regulated prediction-market exchange. These tools let a workflow browse markets, events, orderbooks, trades, and candlestick data, and — with API credentials — read your balance and positions and create, amend, or cancel orders. Use them when you want an agent to research market prices or place and manage trades programmatically.

Overview

PropertyValue
Providerkalshi
Categorytools
AuthRSA-signed (Key ID + RSA private key) for portfolio/order operations; none for public market data

Public market-data operations (markets, events, orderbook, trades, candlesticks, series, exchange status) require no authentication. Portfolio and order operations require a Kalshi Key ID and an RSA private key (PEM), which the tool uses to generate KALSHI-ACCESS-KEY, KALSHI-ACCESS-TIMESTAMP, and KALSHI-ACCESS-SIGNATURE headers (RSA-PSS SHA-256 signature over timestamp + METHOD + path). The base URL is https://api.elections.kalshi.com/trade-api/v2.

Operations

OperationTool IDDescription
Get Marketskalshi_get_marketsList prediction markets with optional filtering
Get Marketkalshi_get_marketGet details for one market by ticker
Get Eventskalshi_get_eventsList events with optional filtering
Get Eventkalshi_get_eventGet details for one event by ticker
Get Orderbookkalshi_get_orderbookGet the yes/no bid orderbook for a market
Get Tradeskalshi_get_tradesList recent trades across markets
Get Candlestickskalshi_get_candlesticksGet OHLC candlestick data for a market
Get Series by Tickerkalshi_get_series_by_tickerGet series details for a series ticker
Get Exchange Statuskalshi_get_exchange_statusGet current exchange/trading status
Get Balancekalshi_get_balanceGet account balance and portfolio value
Get Positionskalshi_get_positionsList your open positions
Get Orderskalshi_get_ordersList your orders with optional filtering
Get Orderkalshi_get_orderGet one order by ID
Get Fillskalshi_get_fillsList your portfolio fills/trades
Create Orderkalshi_create_orderPlace a new order on a market
Cancel Orderkalshi_cancel_orderCancel an existing order
Amend Orderkalshi_amend_orderChange the count or price of an existing order

Configuration

kalshi_get_markets

ParameterTypeRequiredDescription
statusstringNoFilter by market status: unopened, open, closed, or settled
seriesTickerstringNoFilter by series ticker (e.g. KXBTC, INX)
eventTickerstringNoFilter by event ticker (e.g. KXBTC-24DEC31)
limitstringNoNumber of results to return (1-1000, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_get_market

ParameterTypeRequiredDescription
tickerstringYesMarket ticker identifier (e.g. KXBTC-24DEC31)

kalshi_get_events

ParameterTypeRequiredDescription
statusstringNoFilter by event status
seriesTickerstringNoFilter by series ticker
limitstringNoNumber of results to return (1-200, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_get_event

ParameterTypeRequiredDescription
eventTickerstringYesEvent ticker identifier (e.g. KXBTC-24DEC31)
withNestedMarketsbooleanNoInclude nested markets in the response

kalshi_get_orderbook

ParameterTypeRequiredDescription
tickerstringYesMarket ticker identifier (e.g. KXBTC-24DEC31)
depthnumberNoNumber of price levels to return

kalshi_get_trades

ParameterTypeRequiredDescription
tickerstringNoFilter by market ticker
limitstringNoNumber of results to return (1-1000, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_get_candlesticks

ParameterTypeRequiredDescription
seriesTickerstringYesSeries ticker identifier (e.g. KXBTC)
tickerstringYesMarket ticker identifier (e.g. KXBTC-24DEC31)
startTsnumberYesStart timestamp in Unix seconds
endTsnumberYesEnd timestamp in Unix seconds
periodIntervalnumberYesPeriod interval: 1 (1 minute), 60 (1 hour), or 1440 (1 day)

kalshi_get_series_by_ticker

ParameterTypeRequiredDescription
seriesTickerstringYesSeries ticker identifier (e.g. KXBTC, INX)

kalshi_get_exchange_status

No parameters. Returns the current exchange and trading status.

kalshi_get_balance

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format) — used to sign the request

kalshi_get_positions

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
tickerstringNoFilter by market ticker
eventTickerstringNoFilter by event ticker
settlementStatusstringNoFilter by settlement status: all, unsettled, or settled
limitstringNoNumber of results to return (1-1000, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_get_orders

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
tickerstringNoFilter by market ticker
eventTickerstringNoFilter by event ticker
statusstringNoFilter by order status: resting, canceled, or executed
limitstringNoNumber of results to return (1-200, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_get_order

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
orderIdstringYesOrder ID to retrieve

kalshi_get_fills

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
tickerstringNoFilter by market ticker
orderIdstringNoFilter by order ID
minTsnumberNoMinimum timestamp in Unix milliseconds
maxTsnumberNoMaximum timestamp in Unix milliseconds
limitstringNoNumber of results to return (1-1000, default 100)
cursorstringNoPagination cursor from a previous response

kalshi_create_order

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
tickerstringYesMarket ticker identifier
sidestringYesSide of the order: yes or no
actionstringYesAction type: buy or sell
countstringYesNumber of contracts to trade
typestringNoOrder type: limit or market (default limit)
yesPricestringNoYes price in cents (1-99)
noPricestringNoNo price in cents (1-99)
clientOrderIdstringNoCustom order identifier
expirationTsstringNoUnix timestamp for order expiration

kalshi_cancel_order

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
orderIdstringYesOrder ID to cancel

kalshi_amend_order

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesSecret. Your RSA private key (PEM format)
orderIdstringYesOrder ID to amend
countstringNoNew number of contracts
yesPricestringNoNew yes price in cents (1-99)
noPricestringNoNew no price in cents (1-99)
expirationTsstringNoNew Unix timestamp for order expiration

Outputs

kalshi_get_markets

  • markets (json) — Array of market objects
  • cursor (string) — Pagination cursor

kalshi_get_market

  • market (json) — Market object

kalshi_get_events

  • events (json) — Array of event objects
  • cursor (string) — Pagination cursor

kalshi_get_event

  • event (json) — Event object

kalshi_get_orderbook

  • orderbook (json) — Orderbook with yes/no bids and asks

kalshi_get_trades

  • trades (json) — Array of trade objects
  • cursor (string) — Pagination cursor

kalshi_get_candlesticks

  • candlesticks (json) — Array of OHLC candlestick data

kalshi_get_series_by_ticker

  • series (json) — Series object

kalshi_get_exchange_status

  • tradingActive (boolean) — Whether trading is active
  • exchangeActive (boolean) — Whether the exchange is active

kalshi_get_balance

  • balance (number) — Account balance in cents
  • portfolioValue (number) — Portfolio value in cents

kalshi_get_positions

  • positions (json) — Array of position objects
  • cursor (string) — Pagination cursor

kalshi_get_orders

  • orders (json) — Array of order objects
  • cursor (string) — Pagination cursor

kalshi_get_order

  • order (json) — Order object

kalshi_get_fills

  • fills (json) — Array of fill objects
  • cursor (string) — Pagination cursor

kalshi_create_order

  • order (json) — Created order object

kalshi_cancel_order

  • order (json) — The canceled order object
  • reducedBy (number) — Number of contracts canceled

kalshi_amend_order

  • order (json) — The amended order object

YAML Example

kalshi_1:
  type: kalshi
  name: "Kalshi"
  inputs:
    operation: "kalshi_get_markets"
    status: "open"
    seriesTicker: "KXBTC"
    limit: "50"
  connections:
    outgoing:
      - target: next-block-id

# Example: place an order (requires credentials)
kalshi_2:
  type: kalshi
  name: "Kalshi Create Order"
  inputs:
    operation: "kalshi_create_order"
    keyId: "{{KALSHI_KEY_ID}}"
    privateKey: "{{KALSHI_PRIVATE_KEY}}"
    ticker: "KXBTC-24DEC31"
    side: "yes"
    action: "buy"
    count: "10"
    type: "limit"
    yesPrice: "55"
  connections:
    outgoing:
      - target: next-block-id

Tips

  • Public market-data operations (kalshi_get_markets, kalshi_get_market, kalshi_get_events, kalshi_get_event, kalshi_get_orderbook, kalshi_get_trades, kalshi_get_candlesticks, kalshi_get_series_by_ticker, kalshi_get_exchange_status) need no credentials — use them freely for research before any auth setup.
  • For portfolio and order operations, supply your Key ID and RSA private key (PEM). Store the private key as an environment variable and reference it with {{KALSHI_PRIVATE_KEY}} rather than pasting it inline. The tool signs each request with RSA-PSS SHA-256; an invalid or improperly formatted key produces a signature mismatch / 401.
  • Prices and balances are denominated in cents: yesPrice/noPrice are 1-99, and balance/portfolioValue outputs are integer cents (divide by 100 for dollars). For kalshi_get_candlesticks, startTs/endTs are Unix seconds while kalshi_get_fills uses minTs/maxTs in Unix milliseconds.
  • List operations return a cursor; pass it back as the cursor param to page through large result sets.