Kalshi Trading
by @ghsmc
Trade on Kalshi prediction markets: check portfolio, search markets, analyze orderbooks, place/cancel orders, and manage binary contract positions.
clawhub install kalshi-tradingπ About This Skill
name: kalshi description: Trade on Kalshi prediction markets (CFTC-regulated prediction market exchange). Check portfolio, search markets, analyze orderbooks, place/cancel orders. Use when working with Kalshi API, trading binary contracts, checking market prices, managing positions, or researching prediction markets on politics, economics, crypto, weather, sports, technology events. homepage: https://kalshi.com/docs/api metadata: { "openclaw": { "emoji": "π", "requires": { "bins": ["node"], "env": ["KALSHI_API_KEY_ID", "KALSHI_PRIVATE_KEY_PATH"] }, "primaryEnv": "KALSHI_API_KEY_ID", }, }
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 [args...]
Helper script:
{baseDir}/scripts/quick-analysis.mjs
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 | Search markets by keyword |
| market | Get details for a single market |
| orderbook | Get bid/ask levels for a market |
| buy | Place a buy order (price in cents 1-99) |
| sell | Place a sell order (price in cents 1-99) |
| cancel | 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 balanceSee what's trending
{baseDir}/scripts/kalshi-cli.mjs trendingSearch 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-B55500Check orderbook
{baseDir}/scripts/kalshi-cli.mjs orderbook KXBTCD-26FEB14-B55500Buy 5 YES contracts at 65 cents
{baseDir}/scripts/kalshi-cli.mjs buy KXBTCD-26FEB14-B55500 yes 5 65Sell 5 YES contracts at 70 cents
{baseDir}/scripts/kalshi-cli.mjs sell KXBTCD-26FEB14-B55500 yes 5 70Check open orders
{baseDir}/scripts/kalshi-cli.mjs orders restingCheck 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:
Price format:
Payouts:
Before selling: Verify the user holds the position by checking portfolio first
Reference Documentation
Environment Variables
Required:
KALSHI_API_KEY_ID β your Kalshi API key UUIDKALSHI_PRIVATE_KEY_PATH β absolute path to your RSA private key PEM fileSee setup-guide.md for detailed configuration instructions.
π‘ Examples
# Check balance
{baseDir}/scripts/kalshi-cli.mjs balanceSee what's trending
{baseDir}/scripts/kalshi-cli.mjs trendingSearch 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-B55500Check orderbook
{baseDir}/scripts/kalshi-cli.mjs orderbook KXBTCD-26FEB14-B55500Buy 5 YES contracts at 65 cents
{baseDir}/scripts/kalshi-cli.mjs buy KXBTCD-26FEB14-B55500 yes 5 65Sell 5 YES contracts at 70 cents
{baseDir}/scripts/kalshi-cli.mjs sell KXBTCD-26FEB14-B55500 yes 5 70Check open orders
{baseDir}/scripts/kalshi-cli.mjs orders restingCheck recent fills
{baseDir}/scripts/kalshi-cli.mjs fills