Launch Week: Full course free — Claim your copy →
← Back to blog

We Run 5 Bots Across 8 Sports — Here's What's Actually Profitable

2026-04-02 results transparency polymarket bots live trading

Most people who build prediction market bots never share their actual results. We're going to change that.

We run 5 automated trading bots on Polymarket across 8 sports. Every trade is logged, every win and loss is tracked, and the wallet is publicly auditable on-chain. Here's what's actually happening.

The Bots

Each bot uses the same core framework: predict fair probability, compare to market price, buy when the edge exceeds our threshold, and hold to settlement. No selling. No active trading. Just buy and wait.

1. Moneyline WP Bot — Traditional sports (NBA, MLB, NHL, NCAAMB, NCAAWB)

Our workhorse. Uses a win probability model trained on 60,000+ ESPN games with Elo ratings, score state, and time remaining as features. Sport-specific models — basketball gets pace features, hockey gets shot-on-goal and power play data.

Backtest: 1,171 trades, 70.9% win rate, +11.0 cents per trade across all sports. NCAAMB is the strongest at 73.1% win rate and +13.8 cents per trade. NBA improved to +8.5 cents after adding Elo momentum features.

Live: 23 trades so far. 9 wins, 6 losses on resolved trades. +$20.81. Smaller sample, but the edge is showing.

2. Tennis WP Bot — ATP, WTA, WTT

A hierarchical model: Elo ratings feed into point-level win probability, which builds up through games, tiebreaks, sets, and match outcomes. Surface-adjusted (hard court vs clay vs grass) with serve rate calibration.

Live: 12 trades. 9 wins, 1 loss. +$33.37. Our most profitable bot per trade right now. Tennis markets on Polymarket are less efficient than traditional sports — fewer market makers, more mispricing.

3. CS2 WP Bot — Counter-Strike 2

Binomial model using Elo ratings scraped from HLTV (the definitive CS2 stats site). Predicts map-level win probability, then aggregates to series level for best-of-3 and best-of-5 matches.

Live: 16 trades. 9 wins, 6 losses. +$7.86. Esports markets have wild mispricing — we've seen 40-cent edges on matches where one team's Elo rating was 300 points higher. The challenge is thin liquidity and occasional HLTV data gaps.

4. LoL WP Bot — League of Legends

Same Elo + binomial structure as CS2, using the official Riot Games lolesports API for live scores. 255 teams rated across all major leagues.

Live: 8 trades. 6 wins, 2 losses. +$0.71. Smallest edge per trade but consistent. LoL markets are more efficient than CS2 (more liquidity, better price discovery), so edges are thinner.

5. Soccer WP Bot — EPL, La Liga, Ligue 1

Poisson model that estimates goal rates from Elo-adjusted team strength and elapsed match time. Handles the three-way outcome (home, draw, away) that makes soccer markets unique.

Backtest: 62 trades, 56.5% win rate, +18.5 cents per trade. Currently monitoring — waiting for the right league matchups.

What's Actually Working

The pattern is clear: less efficient markets = bigger edges.

Tennis and esports have the widest mispricing because they attract fewer sophisticated market makers. Traditional sports (NBA, MLB) have tighter markets and smaller edges — but more volume.

Here's the honest breakdown:

Bot Trades Win Rate P&L Edge Size
Tennis WP 12 90% +$33.37 Large (15-30c)
Moneyline WP 23 60% +$20.81 Medium (8-15c)
CS2 WP 16 60% +$7.86 Large but volatile
LoL WP 8 75% +$0.71 Small (8-12c)

What Doesn't Work

We've killed more strategies than we've shipped. Some notable failures:

Spread/Total taker bot — Tried to mean-revert spread and total markets. 10 out of 10 trades hit stop loss in shadow mode. 0% win rate, -59 cents. These markets reprice permanently when scores change. Mean reversion doesn't apply.

NBA taker (non-WP) — Tried to trade NBA without a probability model, just using price patterns. Negative returns on every configuration. Markets are too efficient for pattern-based trading.

Compression sniper — Tried to buy dips when Polymarket prices temporarily diverged from fair value. Negative on historical data, worse live. The "dips" were information-driven moves, not noise.

The common thread: strategies that assume market prices are wrong without a specific model explaining why they're wrong will lose. The model is the edge.

The Hold-to-Settlement Advantage

All our bots hold to settlement — they never sell. This is deliberate:

This means our backtests are more reliable than most. The only assumption is that we can enter at the observed ask price. No modeling of exit liquidity needed.

Verify Everything

Our trading wallet is public: - Polymarket profile - PolygonScan transactions

Every trade on our results page links to the on-chain transaction or CLOB order ID. No screenshots, no cherry-picking.

What's Next

We're expanding into more sports and improving the models: - NFL and CFB models are ready for the upcoming season - Soccer bot going live for Champions League knockout rounds - Building a multi-venue edge scanner that compares Polymarket prices to DraftKings, FanDuel, and BetMGM

The edge is real. The question is always execution. More on that in our execution quality deep dive.


Want to build your own version of these bots? Our course teaches the exact methodology — from data scraping through live deployment. Every model architecture described above is covered.

Get free trading insights

Module 1 (ESPN scraping) free + weekly edge reports.

Want to build this yourself?

The ZenHodl course teaches you to build a complete prediction market bot in 6 notebooks.

Join the community

Discuss strategies, share results, get help.

Join Discord