Back to skills
extension
Category: Data & AnalyticsAPI key required

Kalshi Trading

Trade on Kalshi prediction markets: check portfolio, search markets, analyze orderbooks, place/cancel orders, and manage binary contract positions.

Kalshi

Trade on Kalshi prediction markets via a self-contained CLI script. Supports market search, portfolio tracking, and full order lifecycle (place/cancel/monitor).

Quick Start

All commands route through a single script. Output is JSON.

CLI

Primary script:

{baseDir}/scripts/kalshi-cli.mjs <command> [args...]

Helper script:

{baseDir}/scripts/quick-analysis.mjs <ticker>

Combines market details + orderbook in a single call for fast analysis.

Commands

| Command | Description | | ----------------------------------------- | ------------------------------------------------ | | balance | Get account balance (cash + portfolio value) | | portfolio | Get balance + all open positions | | trending | Top markets by 24h volume | | search <query> | Search markets by keyword | | market <ticker> | Get details for a single market | | orderbook <ticker> | Get bid/ask levels for a market | | buy <ticker> <yes\|no> <count> <price> | Place a buy order (price in cents 1-99) | | sell <ticker> <yes\|no> <count> <price> | Place a sell order (price in cents 1-99) | | cancel <orderId> | Cancel a resting order | | orders [resting\|canceled\|executed] | List orders, optionally filtered by status | | fills [ticker] | List recent fills, optionally filtered by ticker |

Examples

# Check balance
{baseDir}/scripts/kalshi-cli.mjs balance

# See what's trending
{baseDir}/scripts/kalshi-cli.mjs trending

# Search for markets about bitcoin
{baseDir}/scripts/kalshi-cli.mjs search "bitcoin"

# Get details on a specific market
{baseDir}/scripts/kalshi-cli.mjs market KXBTCD-26FEB14-B55500

# Check orderbook
{baseDir}/scripts/kalshi-cli.mjs orderbook KXBTCD-26FEB14-B55500

# Buy 5 YES contracts at 65 cents
{baseDir}/scripts/kalshi-cli.mjs buy KXBTCD-26FEB14-B55500 yes 5 65

# Sell 5 YES contracts at 70 cents
{baseDir}/scripts/kalshi-cli.mjs sell KXBTCD-26FEB14-B55500 yes 5 70

# Check open orders
{baseDir}/scripts/kalshi-cli.mjs orders resting

# Check recent fills
{baseDir}/scripts/kalshi-cli.mjs fills

Output

All commands output JSON to stdout. Parse the result to present it to the user.

Trading Rules

Critical: ALWAYS confirm with the user before placing any buy or sell order.

Before executing a trade, show the user:

  • Ticker
  • Side (YES or NO)
  • Count (number of contracts)
  • Price (in cents)
  • Total cost = count × price cents = $X.XX

Price format:

  • Prices are in cents (1-99)
  • 65 cents = $0.65 per contract
  • Minimum: 1 cent, Maximum: 99 cents

Payouts:

  • All contracts pay $1.00 (100 cents) if correct, $0 if wrong
  • YES at 65¢: costs 65¢, pays $1.00 if YES wins → 35¢ profit per contract
  • NO at 35¢: costs 35¢, pays $1.00 if NO wins → 65¢ profit per contract
  • YES price + NO price ≈ 100¢ (spreads cause small deviations)

Before selling: Verify the user holds the position by checking portfolio first

Reference Documentation

  • setup-guide.md - Getting API credentials, configuration, troubleshooting
  • trading-guide.md - Market mechanics, strategy tips, risk management
  • api-notes.md - Technical API details, data formats, common patterns

Environment Variables

Required:

  • KALSHI_API_KEY_ID — your Kalshi API key UUID
  • KALSHI_PRIVATE_KEY_PATH — absolute path to your RSA private key PEM file

See setup-guide.md for detailed configuration instructions.