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 UUIDKALSHI_PRIVATE_KEY_PATH— absolute path to your RSA private key PEM file
See setup-guide.md for detailed configuration instructions.