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

Updated Oct 23, 2026

What people actually build on Kalshi and Polymarket

A directory of public bots, AI agents and tools, each with its source. Updated as new examples are found.

Every entry is checked against its public source and reviewed by hand. Editorial policy

Top = GitHub stars as of Oct 23, 2026; non-GitHub entries follow. New = date added.

Get the weekly digest

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

Sign up below
Forecasting agentsPolymarket

Polymarket Agent MCP: 48-tool MCP server with preview and live trading

MCP server that lets Claude Code, Cursor and other local AI clients read Polymarket markets, track wallets, backtest and run copy-trading loops. It starts in a preview mode that records simulated trades in SQLite; live mode signs CLOB orders with your own wallet key and enforces safety and daily-budget checks.

TypeScriptNode.jsMCP+1
OtherPolymarket

tv-odds: live Polymarket US win-probability overlay for YouTube TV

Small Android TV app for Chromecast with Google TV that reads the game YouTube TV is playing, matches it to the Polymarket US moneyline market, and draws a live win-probability chart over the broadcast with an adjustable delay so price moves line up with the play. Uses public Polymarket US endpoints only; no account or trading.

JavaAndroid SDKPolymarket US public endpoints
Data & analyticsPolymarket

Where are prediction markets least efficient? Polymarket calibration study

Read-only research repo that samples resolved Polymarket markets, prices them 7 days before scheduled end, and measures calibration and favorite-longshot bias with Brier decomposition, recalibration slopes and event-clustered errors, broken out by category and volume. The author's findings (self-reported) are that deviations are small and smaller than trading costs; a second part on arbitrage and order books is still collecting data.

PythonPolymarket public APIs
ArbitragePolymarket

Arbiter: Polymarket YES+NO under $1 arbitrage scanner (paper only)

Paper-only Python scanner that watches live Polymarket order books for moments when the YES and NO asks plus fees add up to less than $1, checks that the depth is real, and simulates the fills. Has one engine for BTC 5-minute windows and one for the wider active market set, with Streamlit and FastAPI dashboards. Any edge it reports is simulated, not verified.

PythonWebSocket order booksLightGBM+2
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
Forecasting agentsPolymarket

Two-LLM analyst and challenger pipeline for Polymarket (finished paper experiment)

FastAPI, PostgreSQL and Redis pipeline where a Claude analyst and an OpenAI challenger each estimate a Polymarket market's probability and a rule-based consensus compares them with the price. It ran as a no-money paper experiment from June to October 2026; the author's write-up (in Russian, self-reported) found no edge over market prices and publishes the data and lessons.

PythonFastAPIPostgreSQL+3
ArbitragePolymarket

Polymarket multi-outcome bundle arbitrage scanner with paper trader

Single-file Python scanner that reads Polymarket's public APIs, finds mutually exclusive (negRisk) events where buying every YES or every NO costs less than the fixed payout, and walks real order-book depth to size each gap. A paper mode buys opportunities with a fake bankroll, settles them from final prices and compares the result with a savings account. Never places orders or needs a wallet.

Python (standard library only)Polymarket Gamma and CLOB public APIs
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
Data & analyticsPolymarket

Polaris: research on beating Polymarket 5-minute crypto markets

Research project that streams Binance trades, builds per-second features and estimates the probability that a Polymarket 5-minute crypto Up/Down window closes up, comparing a Bayesian model with a LightGBM challenger against the market price. Ships a write-up of the ways the research produced false edges and how each was caught; the author's conclusion that there is no tradeable edge at this latency is self-reported.

PythonLightGBMBinance and Polymarket data
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
Data & analyticsPolymarket

How well calibrated is Polymarket? Calibration and Brier study

Python study of resolved Polymarket yes/no markets that measures calibration, Brier skill and favorite-longshot bias at 1, 7 and 30 days before close, broken out by category, with an out-of-sample test of whether a recalibration fit could be traded. Includes reliability diagrams; all results are the author's own (self-reported).

PythonPolymarket public APIstatistics (Brier score+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
Market makingPolymarket

Polymarket market-making research with documented null results

Two closed research projects: simulated (shadow) market making against Polymarket's live order book and recorded tape, and an event study of whether public posts move prices in a capturable way. The repo places no orders and reports its negative results with the tests behind them; findings are the author's own (self-reported). Research logs are in Spanish, code in English.

PythonPolymarket CLOB APIstatistical testing
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 & analyticsPolymarket

Polymarket vs oil, VIX and defense stocks: geopolitical lead-lag study

Minute-level research pipeline testing whether Polymarket geopolitical and military contracts lead oil futures, defense equities, Treasuries, VIX and gold ETFs, with control markets, closed-hours and reopen-gap designs and a draft paper. Results are self-reported by the author and not independently verified.

PythonPolymarket dataminute ETF bars
Data & analyticsPolymarket

pm-recorder: Polymarket market data recorder on GitHub Actions

Read-only recorder that runs continuously on GitHub Actions, saving hourly snapshots of Polymarket markets ending within 45 days, their order books and taker trades, plus minute-level books and trades for markets with the largest liquidity-reward pools, as gzipped JSON bundles. Uses public Gamma, CLOB and Data API endpoints; no trading.

PythonGitHub ActionsPolymarket Gamma API+1
Market makingPolymarket

Polymarket Market Maker Lab: paper trading, backtests and a quoting prototype

Experimental Python workspace for studying order books and passive quotes on Polymarket short-duration markets. Includes a Tkinter paper-trading engine that simulates fills against live public data, a backtest window, and an unaudited live CLOB prototype. The author states it is a research prototype, not a validated profitable strategy.

PythonTkinterPolymarket CLOB client
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
Market makingPolymarket

polymarket-clob-infra: Rust order book, feed merge and EIP-712 signing for Polymarket's CLOB

Strategy-free infrastructure pulled from a Rust Polymarket market maker: an atomic order-book snapshot, merging of redundant websocket feeds, per-connection lag detection, EIP-712 order signing, and an execution ledger checked against on-chain receipts. Strategy and risk logic are not included. MIT licensed, with CI.

RustPolymarket CLOBWebSockets+1
Forecasting agentsPolymarket

Polymarket Edge Scanner: read-only, paper-only scanner on Cloudflare's free tier

TypeScript Cloudflare Worker that discovers liquid Polymarket markets via the public Gamma API, prices them from CLOB order books, flags possible value with an explainable engine, and simulates paper orders with fees, spread and slippage. It uses D1 for storage and Workers AI to read resolution rules, and tracks its own calibration. It never signs transactions or asks for a wallet key.

TypeScriptCloudflare WorkersD1+2
Data & analyticsPolymarket

Polymarket real-time market data pipeline with Kafka, dbt and Grafana

Docker Compose pipeline that streams Polymarket order book, trade and comment data into Kafka, archives raw events to Parquet, rebuilds order books in memory, computes real-time metrics, models history with dbt-duckdb, and serves a Grafana dashboard. Paper trading and replay backtesting are listed as next steps; real-money trading is out of scope.

PythonKafkaParquet+3
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
Data & analyticsPolymarket

Polymarket order book collector in Rust with redundant websockets

Rust collector that records the full-depth order book of every live Polymarket market. It merges redundant websocket connections by first arrival, writes level updates plus a per-minute snapshot of every book in an SBE binary format, parses prices as fixed-point integers rather than floats, and ships inspect and latency-test tools. Built for an engineering challenge; data collection only, no trading.

RustwebsocketsSBE binary format
OtherPolymarket

Midterm Odds Map: 2026 US midterms shaded by Polymarket odds

Single-page US map of the 2026 midterm Senate, House and governor races, each shaded by its Polymarket market price, with district-level zoom for the House and links to each market. A GitHub Actions workflow refreshes the odds hourly from a free CC BY 4.0 JSON feed of Polymarket prices and redeploys the static page. Read-only visualization, no trading.

HTMLJavaScriptSVG+2
OtherPolymarket

Prediction Market Ops Lab: paper-only Polymarket operations reference

Safety-first reference implementation of the operations side of a Polymarket integration: allowlisted public Gamma and CLOB reads, deterministic paper automation with an idempotent SQLite ledger, a React operations dashboard, FastAPI health, readiness, diagnostics and metrics endpoints, CI, containers and a release runbook. Live execution is deliberately absent and the author makes no profitability claim.

PythonFastAPIReact+2