For Kalshi Traders

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.

Start Free Trial → Read the Tutorial

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?

→ Edge

Spreads are wide

Many Kalshi markets have 5–15¢ spreads. That's an enormous edge for anyone running a market-making bot.

→ Speed

React faster than humans

Weather, sports, and political markets re-price the moment news breaks. A bot watches 24/7 and trades in milliseconds.

→ Discipline

Stick to your rules

Predefined position limits, stop losses, and risk controls — codified once, followed always. No emotional revenge trades.

→ Coverage

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:

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 →