The Kalshi trading bot built for Python developers.
Skip the RSA-PSS auth headache. WatchDog Bot ships with first-class Kalshi support — paste your access key, write your strategy in Python, click Start. 5 minutes from zero to your first automated order on prediction markets.
What is Kalshi?
Kalshi is the first CFTC-regulated prediction market in the United States. You can trade event contracts on weather, elections, economic indicators, sports outcomes, and more. Every market is binary — YES or NO — and prices in cents represent the implied probability of the event resolving YES.
The official API is well-designed but uses RSA-PSS-signed requests instead of bearer tokens, which raises the bar for "just write a script that trades." We've handled all of that for you.
Why use a bot on Kalshi?
Spreads are wide
Many Kalshi markets have 5–15¢ spreads. That's an enormous edge for anyone running a market-making bot.
React faster than humans
Weather, sports, and political markets re-price the moment news breaks. A bot watches 24/7 and trades in milliseconds.
Stick to your rules
Predefined position limits, stop losses, and risk controls — codified once, followed always. No emotional revenge trades.
Watch every market at once
Hundreds of Kalshi markets at any given moment. A bot can scan them all for arbitrage and mispricing. You can't.
Strategies that work on Kalshi
Market making
Quote both sides of illiquid markets and earn the spread. Wide spreads + low institutional participation = rare retail edge. Full guide: Kalshi Market Making Strategies.
Weather + NOAA feeds
Kalshi's temperature markets are highly correlated with NOAA forecasts. Pull the forecast, compare it to the market's implied probability, take the difference as a signal.
News-driven trading
Political and economic markets re-price within seconds of news headlines. Hook up a news API + LLM classifier and you have a working pipeline.
Sports prop arbitrage
When Kalshi's prices on a game diverge meaningfully from sportsbook prices on the same event, there's a closeable spread.
How WatchDog Bot handles Kalshi specifically
What you get out of the box, without writing a single line of auth code:
- RSA-PSS signing handled. Add your Kalshi access key + private key file in Settings → API Connections. Your bot accesses them via
wd.connection("Kalshi"). Never write a signature header. - Bundled helper functions for the most common API calls — fetch market data, fetch orderbook, place orders, cancel orders, check positions.
- Rate limiter built in so you don't accidentally trip Kalshi's API limits and get throttled.
- Demo mode via
wd.is_demo()— test strategies without placing real orders. Flip a single setting to go live. - Real-time log streaming to a cloud dashboard. Watch your bot's decisions from any browser.
- AI Fix for Kalshi errors — the model knows the Kalshi API surface and proposes fixes specific to the error pattern.
A working Kalshi bot in 15 lines
The simplest possible Kalshi automation: monitor a market, place an order when the price drops below a threshold.
import time
import wd
from kalshi_client import KalshiClient # bundled helper
conn = wd.connection("Kalshi")
client = KalshiClient(conn.api_key, conn.api_secret_path)
while True:
market = client.get(f"/markets/KXHIGHNY-26MAY20-T75")["market"]
ask = market["yes_ask"]
wd.log.info("YES ask = %d", ask)
if ask > 0 and ask < 40:
wd.log.info("Buying 1 YES @ %d", ask)
if not wd.is_demo():
client.post("/portfolio/orders", {
"ticker": "KXHIGHNY-26MAY20-T75", "action": "buy",
"side": "yes", "count": 1, "type": "limit", "yes_price": ask,
"client_order_id": f"bot-{int(time.time())}",
})
time.sleep(30)
Full step-by-step tutorial: How to Build a Kalshi Trading Bot with Python.
Kalshi bot FAQ
Do I need to be a US resident to trade Kalshi?
Yes. Kalshi is a US-regulated exchange (CFTC) and only serves US residents who have completed KYC. WatchDog Bot doesn't change this — you must have a valid Kalshi account before using the platform.
What markets can I trade with a bot?
Every Kalshi market accessible via their public API — weather, sports, economics, elections, entertainment, and more. Hundreds of markets active at any given time, each with the same standard endpoints.
How do I get Kalshi API access?
From your Kalshi account: Profile → API Keys → Generate Key. You'll receive an access key (a string) and download a private key file (PEM format). Both go into WatchDog Bot's connection settings.
Is there a rate limit?
Kalshi's API has rate limits per endpoint (typically generous for normal trading volumes). WatchDog Bot's built-in rate limiter prevents you from hitting them accidentally. If you're running many bots, the rate budget is shared across them.
Can I market-make multiple Kalshi markets at once?
Yes. The platform lets you spin up as many independent bots as you want, each on its own market. Each runs in an isolated Python venv with its own state. See the market making strategy guide.
Does WatchDog Bot work with Kalshi's demo / paper trading?
Kalshi doesn't currently offer paper trading. WatchDog Bot's wd.is_demo() flag lets you fully simulate the strategy without placing real orders — fetches market data live, logs what it would trade, but skips the actual order placement.
Run your Kalshi bot today
Free trial, no credit card. Bot up and running in 5 minutes.
Start Free Trial →
WatchDog Bot