Best Prediction Market Botsranked & reviewed · 2026 Open Kairos

Market makingbotfree

poly-maker: what it does, how it quotes, where it stops

Last checked 2026-09-08

VenuesPolymarket
PricingOpen source (MIT)
Typebot
GitHub stars1489

poly-maker is an open-source Python bot that makes markets on Polymarket CLOB V2. It posts BUY-YES and BUY-NO as post-only orders on both sides of a political market and earns the spread plus liquidity rewards rather than paying the spread.

It is built for a single operator with a funded wallet, a .env file and the repo. The README calls it a reference implementation and research rig, not a guaranteed-profitable product, and tells you to run paper mode first.

What it does

The bot discovers political markets through the Gamma API and ranks them by expected reward and rebate income against volatility and spread risk. It keeps a live order book per token from the market WebSocket and reconciles a target quote set against live orders.

Everything runs in one async process. State (positions, orders, PnL, catalog) lives in a single SQLite file, and raw WebSocket and order events are journaled for replay.

  • Maker-only: every order is post-only
  • Exchange heartbeat dead-man switch and daily-loss kill switch
  • CLI verbs: scan, markets, markets-add, run with the paper flag, doctor, livetest, moneydoctor, run, status, cancel-all
  • 83 unit tests; ruff and mypy strict clean per the README

Strategy

Fair value is a depth-weighted microprice off the live book, nudged by an EWMA of signed trade flow. The reservation price is fair value minus an inventory skew, and the half-spread widens with realized volatility and per-fill markout (adverse selection).

Both legs are bids that sum below 1, so a filled pair merges back to USDC at a locked edge without crossing the spread. A per-market regime machine moves between QUIET, TRENDING, EVENT, REDUCE_ONLY and HALTED, pulling quotes during sweeps and near end dates.

Risk caps cover per-market notional, neg-risk event-group worst case, total exposure, a daily-loss kill switch and a WebSocket staleness halt. Parameter profiles (political-longdated, political-hot) live in strategy.toml.

Setup and requirements

Python 3.12 or newer with uv. The .env needs two values: PK (the signer wallet private key) and BROWSER_ADDRESS (your Polymarket address). Config, strategy profiles and the trade list are TOML files under config/.

Execution goes through py-clob-client-v2, which handles the V2 EIP-712 signing. Merging through a Safe or proxy wallet is not wired yet, so inventory exits through limit sells on that path.

Activity and maintenance

1,489 stars and 487 forks on GitHub as of 2026-09-08. The last push was 2026-07-09 and 4 issues are open. The repo was created 2025-03-31 and is MIT licensed.

The README lists a replay backtester over captured journals and external data feeds (polls, news, cross-venue) as not yet built.

Where it falls short

It is political markets only by design, and one venue only. There is no backtester, so tuning happens in paper mode against the live feed.

The README says plainly that market making on Polymarket is competitive and can lose money. Two months without a push is worth checking before you go live on a V2 exchange that keeps changing.

Who should use it

Traders who already understand inventory skew and adverse selection and want a typed, tested starting point instead of writing a quoter from scratch. Run scan, then run in paper mode, then livetest before real size.

It is a rig you have to operate, with no set-and-forget mode.

Questions about poly-maker

Is poly-maker free?

Yes. It is MIT licensed on GitHub. You pay only Polymarket fees and gas on your own trades.

Does poly-maker work with Kalshi?

No. It targets Polymarket CLOB V2 only, and only political markets by default.

Is poly-maker profitable?

The README makes no profit claim and warns that market making on Polymarket is competitive and can lose money. Test in paper mode first.

What do I need to run poly-maker?

Python 3.12+, uv, a signer wallet private key, your Polymarket address, and a funded wallet. Everything else is TOML config.

signalsizefilledge

Bots die in execution. Terminals are execution.

Wanted a bot for speed and cross-venue vision? The free Kairos terminal trades Kalshi, Polymarket and Predict.fun from one book, no keys to manage.