Setup & Installation

clawhub install kalshi-trader

Or with OpenClaw CLI:

openclaw skills install kalshi-trader

What This Skill Does

Kalshi Trader is a Communication & Messaging skill that automated Kalshi prediction market trading bot. Sets up a fully automated trading system that scans markets every 15 minutes, researches opportunities using direct web fetches, places trades based on strict EV IRR and half Kelly criteria, monitors positions, and sends daily Telegram summaries. Use when a user wants to automate Kalshi trading, set up a prediction market bot, configure market scanning, or get daily P&L reports from Kalshi..

Kalshi Trader

Automated prediction market trading on Kalshi. Scans every 15 minutes, researches before every trade, reports daily via Telegram.

Setup (run once)

1. Install dependencies

pip install cryptography requests --break-system-packages

2. Store Kalshi credentials

mkdir -p ~/.kalshi && chmod 700 ~/.kalshi
nano ~/.kalshi/private_key.pem   # paste -----BEGIN RSA PRIVATE KEY----- block
chmod 600 ~/.kalshi/private_key.pem
echo "YOUR-API-KEY-ID-HERE" > ~/.kalshi/key_id.txt
chmod 600 ~/.kalshi/key_id.txt

Get your API key at: kalshi.com → Settings → API → Create Key

3. Deploy the bot

cp scripts/kalshi_bot.py ~/kalshi_bot.py
chmod 600 ~/kalshi_bot.py

4. Test connection

python3 ~/kalshi_bot.py test

5. Set up cron jobs (via OpenClaw cron tool)

15-minute scan (silent unless trade placed or exited):

  • Schedule: */15 * * * *
  • Message: see references/cron-prompt.md

Daily summary (9am your timezone):

  • Schedule: 0 9 * * * with your timezone
  • Message: "Run python3 ~/kalshi_bot.py summary and send daily trading report with balance, open positions, recent trades, P&L, and fees paid."

Trading Rules

Entry criteria

Only place a trade if EV IRR ≥ 50% (post-fee):

edge = fair_value - (market_price + entry_fee)
EV IRR = (edge / (market_price + entry_fee)) × (365 / days_to_close)

Minimum: EV IRR ≥ 0.50 (50%)

Position sizing — Half Kelly

kelly_fraction = (edge / market_price) × 0.5
max_position = min(kelly_fraction × balance, 0.20 × balance)
contracts = floor(max_position / market_price)

Exit rule

Exit ONLY if current bid ≥ fair value estimate (net of exit fee).

  • Never use price-based stop losses — prediction markets resolve on facts, not on what other traders think
  • If price drops, research whether the underlying facts changed
  • Only exit early if: (a) price reached fair value, or (b) new evidence shows the outcome is unlikely

Research approach

Use web_fetch as primary research tool (no quota limits). Known data sources:

  • Gas prices: https://gasprices.aaa.com/
  • Trump actions: https://www.whitehouse.gov/presidential-actions/
  • Treasury yields: https://home.treasury.gov/resource-center/data-chart-center/interest-rates/
  • Bitcoin/crypto: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
  • Weather: https://wttr.in/CityName?format=3
  • Congress bills: https://www.congress.gov

Only use web_search for open-ended research where the URL isn't known upfront.

Bot Commands

python3 ~/kalshi_bot.py          # scan for opportunities
python3 ~/kalshi_bot.py summary  # print P&L summary  
python3 ~/kalshi_bot.py test     # verify API connection

Reporting format (include in every update)

  • 💰 Cash balance
  • 📦 Total position cost
  • 📈 Current market value of positions
  • 💹 Unrealized P&L
  • 💸 Total Kalshi fees paid
  • 🏦 Total portfolio value

API reference

See references/api.md for Kalshi authentication and endpoints.

Trade research workflow

See references/trade-research.md for finding and evaluating opportunities.

Version History

Latest version: 1.0.0

First published: Mar 29, 2026. Last updated: Mar 29, 2026.

1 version released.

Frequently Asked Questions

Is Kalshi Trader free to use?
Yes. Kalshi Trader is a free, open-source skill available on the OpenClaw Skills Registry.
What platforms does Kalshi Trader support?
It runs on any platform that supports OpenClaw, including macOS, Linux, and Windows.