Sponsor this directory: one slot per week. Details
Get the weekly digest

Kalshi bots and tools

37 public examples that work with Kalshi, each with its source.

Last updated .

New to the Kalshi API? Read how to build a Kalshi bot.

Data & analyticsKalshi

Kalshi MLB pricing research and paper-trading kit

Research repo on pricing Kalshi's MLB contracts: a data pipeline rebuilt from public MLB and Kalshi APIs, a market-making simulator, a paper-trading bot and contract-math helpers. Its README reports mostly negative findings for the game-winner contract (author's own backtests, unverified). Places no real orders.

PythonKalshi APIMLB Stats API
Data & analyticsKalshi

Calibrated commodity forecaster for Kalshi-style threshold questions

Turns split-conformal price forecasts on public EIA WTI crude data into probabilities for threshold questions like 'will WTI close above $X by date Y?', with backtests and a dated forward track record. Analysis only; it never touches a Kalshi account.

PythonPyTorchconformal prediction+1
Data & analyticsKalshi

Kalshi calibration vs. tradable alpha: research replication package

Data and code for a 2026 preprint that measures Kalshi calibration while stepping from the displayed price to the order-book midpoint, the executable quote and the fee-adjusted taker return. Includes per-market JSONL logs, frozen outputs and a script that runs deterministic checks against the paper's tables.

PythonNumPyJSONL
Data & analyticsKalshiPolymarket

Taker fee calculator for Kalshi, Polymarket and Polymarket US

Dependency-free JavaScript functions that compute taker fees with the shared rate x contracts x p x (1 - p) formula, using each venue's rate, plus an all-in cost per contract. The README explains maker vs. taker fees, Kalshi's round-up to the cent, and per-market Polymarket rates. The author says the tests were checked against real order tickets (self-reported).

JavaScriptNode.js
OtherKalshi

KalshiView: Rust terminal for Kalshi 15-minute crypto markets

Low-overhead Rust app with a local browser UI for Kalshi's 15-minute BTC, ETH, SOL, XRP, DOGE and BNB markets. It builds candlesticks from Kalshi's public trades feed, adds Coinbase spot and RSI panes, and lets you drag entry, take-profit and stop-loss brackets onto paper or live positions. Starts in paper mode with no Kalshi account or API key.

RustKalshi public APICoinbase public API
ArbitrageKalshi

Pricing Uncertainty: Kalshi mispricing and arbitrage research

Python research engine and paper on Kalshi daily temperature markets that tests whether quoted basket gaps survive fees, order-book depth, payoff constraints and chronological validation, using depth sweeps, fee rounding and linear programming. Includes executed notebooks and interactive graphs; its findings are the author's own (self-reported).

PythonJupyterlinear programming+1
Market makingKalshi

Kalshi weather market making: NYC high-temperature replay and live trader

Columbia APMA seminar project that quotes Kalshi's daily New York high-temperature contracts: post-only bids and asks around rescaled mids, with inventory priced jointly across temperature bins, quiet periods around weather station reports, and a replay against Kalshi's public trade tape plus Iowa Environmental Mesonet data. Replay results are the author's own (self-reported).

PythonuvKalshi public API+1
ArbitrageKalshiPolymarket

ABT: Kalshi and Polymarket arbitrage review tool

Manual cross-venue arbitrage scanner that pulls public Kalshi and Polymarket market data, matches equivalent yes/no contracts with confidence scores and close-time checks, and ranks spreads on a review dashboard where quotes can be refreshed before a manual decision. Live order submission is disabled in this build.

PythonFastAPIKalshi API+1
Data & analyticsKalshiPolymarket

Do prediction markets know what the Fed will do? Kalshi and Polymarket vs futures study

Open research repo with a short paper comparing Kalshi and Polymarket Fed-decision markets with S&P 500 futures, USD/JPY and Treasury bills around CPI and payrolls releases (2023 to 2026). Measures whether both venues resolved correctly, how closely they agree, and how fast each absorbs macro news. Findings are self-reported by the author.

PythonKalshi APIPolymarket data+1
Data & analyticsKalshiPolymarket

Are prediction markets calibrated? Kalshi and Polymarket calibration and favourite-longshot study

Open Python research project that checks whether Kalshi and Polymarket prices match how often outcomes actually happen. It measures prices at fixed horizons before close, tests for the favourite-longshot bias, and asks whether any mispricing survives trading costs. Includes CI and an interactive results page. Findings are the author's own and not independently verified.

PythonpandasKalshi API+1
Data & analyticsKalshi

Kalshi 15-minute BTC market backtester with taker fees

Standard-library Python backtester for Kalshi's 15-minute Bitcoin up/down markets. It replays public one-minute candles and trade prints, charges Kalshi taker fees, runs parameter sweeps, and ships unit tests. The simulator has no network access; a separate fetcher caches public data. Backtest results are self-reported.

Python (standard library)Kalshi public market data
Data & analyticsKalshi

S&P 500 options vs Kalshi contracts: comparing two risk-neutral distributions

Student research notebook (Rennes School of Business graduating project) that compares the probability distribution implied by SPXW and NDX option prices, using a fitted SVI smile, with the distribution quoted by Kalshi's S&P 500 and Nasdaq-100 range contracts for the same expiry. Uses Yahoo Finance option data and the Kalshi public API, with a saved snapshot in the repo. Findings are self-reported and based on a single snapshot.

PythonJupyterSVI volatility fit+2
News & event tradingKalshiPolymarket

NullOne: Kalshi and Polymarket bot for the EIA natural gas storage report

Open-source Python research system for the weekly EIA natural gas storage report. On release it polls EIA's JSON and CSV feeds, reads the Lower 48 net change, maps it onto bracket contracts from a YAML spec, and either records a simulated paper fill or places fee-aware limit orders on Kalshi (and optionally Polymarket). Paper mode is the default; the author warns that live mode can send real orders and lose money. No track record is claimed.

PythonEIA WNGSR JSON/CSV feedsKalshi API+2

Get the weekly digest

New public Kalshi & Polymarket builds, each with a source. No spam.

Form not loading? Subscribe on beehiiv. Handled by beehiiv; see privacy. Unsubscribe any time.