Arbitragebotfree
polymarket-arbitrage: what it does, what the screenshots mean, where it stops
Last checked 2026-09-08
polymarket-arbitrage is a Python bot from ImMike that scans Polymarket order books, matches markets to Kalshi by text similarity, and flags three kinds of opportunity: cross-platform price gaps, bundle arb where YES plus NO is under $1.00, and wide spreads it can market-make inside.
The README's 99.6% win rate and $573 profit screenshot comes from simulation mode, which generates fake order books with injected mispricings. The README says so.
What it does
In real mode it uses Polymarket's Gamma API for market discovery and the CLOB API for order books, and pulls Kalshi public market data with no authentication. A FastAPI dashboard at localhost:8000 shows opportunities, markets monitored, order books, uptime and PnL.
The package includes a risk manager with position limits, a daily loss limit and a kill switch, a portfolio tracker, a backtest utility and unit tests.
- config.yaml controls trading_mode (dry_run or live), data_mode (real or simulation), min_edge (default 1%), min_match_similarity (0.6)
- Risk defaults: $200 per market, $5,000 global exposure, $500 daily loss
- Market-making trigger: spread of 5 cents or more
Strategy
Cross-platform: if the same prediction is cheaper on one venue, buy there and sell on the other; the README example is 52 cents on Polymarket against 58 cents on Kalshi. Bundle: buy both sides when asks sum below $1.00, sell both when bids sum above it.
Fee accounting is in config, with Polymarket maker and taker fees set to 0 basis points and gas at $0.001 per order. The README states that real markets are efficient and opportunities are rare.
Setup and requirements
Python 3.10 or newer, pip install -r requirements.txt, then python run_with_dashboard.py. Live trading needs POLYMARKET_API_KEY and POLYMARKET_PRIVATE_KEY as environment variables. Kalshi reads are unauthenticated; Kalshi trading requires a US account with KYC, which the README notes.
Activity and maintenance
274 stars and 122 forks as of 2026-09-08. Created 2025-12-07, last push 2025-12-09, 4 open issues. Nine months without a commit: unmaintained. The README's MIT badge is not backed by a LICENSE file.
Where it falls short
Cross-platform selling requires holding the position on the venue you sell on; the bot's table describes buy-on-one, sell-on-other without addressing that. Text similarity at 0.6 will pair markets that resolve differently.
The only performance evidence is from simulation. Polymarket's fee model and CLOB have changed since December 2025 and the code has not.
Who should use it
Readers. It is a clean, well-organized reference for how the three arb families are detected and risk-limited. Fork it for the structure, then rewrite the venue clients.
Not for live capital without a rewrite.
Questions about polymarket-arbitrage
Is polymarket-arbitrage profitable?
The README's profit and win-rate figures are from simulation mode with fabricated mispricings. It states that real markets are efficient and opportunities are rare.
Is polymarket-arbitrage maintained?
No. Last push was 2025-12-09 as of 2026-09-08.
Does polymarket-arbitrage trade Kalshi?
It reads Kalshi public market data. Trading on Kalshi requires a US account with KYC, and the README does not document a Kalshi order path.
Is polymarket-arbitrage free?
Yes. The README says MIT, though the repo has no LICENSE file.
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.