polymarket backtester
Your Backtest
Is Lying to You
We capture every Polymarket Up/Down order book tick, 24/7, and run every common strategy against it. They all look profitable on paper. None survive when we model whether your orders would actually fill.
Other backtests claim 100% win rates. It's bots vs. bots out there. Know your real edge before you deploy.
PhantomFill v0.1.0
────────────────────────────────────────
Strategy Gabagool Arb
Markets 2,302 windows
Ticks 8,544,340
Naive PnL +$569.48
Real PnL -$4,646.35
────────────────────────────────────────
Gap $5,215.83
The $246K strategy. Simulated today.
Same logic. Different market. Dead edge.
7 Strategies. Thousands of Markets. 0 Profitable.
Every strategy people actually run on Polymarket Up/Down markets — including the famous ones from Twitter — tested against a live, continuously growing order book dataset.
| Strategy | Description | Paper | Real | Gap |
|---|---|---|---|---|
| Gabagool Arb | Buy YES+NO at different times when combined < $1 | +$569 | -$4,646 | $5,216 |
| Last 15 Seconds | Buy the 98¢+ side with <15s left | -$3,476 | -$756 | $2,720 |
| Buy Both Sides | Buy YES + NO at $0.49, hope both legs fill | +$460 | -$1,999 | $2,459 |
| Buy Both, Cancel Loser | Buy both, cancel wrong side mid-window | -$79 | -$477 | $398 |
| Bet Against Streaks | Fade after 3+ same-direction candles | +$256 | -$55 | $311 |
| + 2 more strategies generated zero trades (no signal triggered in test data) | ||||
The gap between paper and reality ranges from $311 to $5,216. That gap has a name: phantom fills.
Why Every Polymarket Backtest Looks Profitable
Your backtest places a buy at $0.49.
It assumes the order fills instantly. Every backtest tool does this.
800 shares are already in line ahead of you.
The market resolves before your turn comes. Your order sits in the queue, untouched.
Your backtest says +$0.51 profit. Your wallet says $0.
The order never filled. But your backtest counted it as a win.
That's a phantom fill. Every backtest that doesn't model queue position is lying to you.
We tested it. A popular backtest claims a "Last 15 Seconds" strategy — buy whichever side is 98¢+ with under 15s remaining — has a 100% win rate across 56 trades. We ran it through PhantomFill: 23% fill rate, 87,763 shares ahead of you in the queue. The strategy loses $756. That "100% win rate" is 77% phantom fills.
The famous gabagool22 bot made $246K with combined-price arb. We simulated the same strategy on current data: paper says +$569, reality is -$4,646. The $5,216 gap is the largest of any strategy we tested. The on-chain profits were real — but the market has changed. Queue depth is 40x deeper. Jump Trading is market-making. The edge is gone.
The Market Is Eating Retail Alive
The data is public, on-chain, and brutal.
70%
of 1.7M Polymarket traders have realized losses
Yahoo Finance / CryptoRank, Dec 2025
0.04%
of addresses captured 70% of all profits ($3.7B)
CryptoRank on-chain analysis
2.7s
average arb window, down from 12 seconds
arXiv 2024
500ms
gone
Speed bump removed Feb 18. A $700/day market-making bot went dark. Market makers called it "irreparable damage."
Protos, Feb 2026
"If your strategy dies when latency assumptions change, it was luck wearing a quant costume."
PhantomFill explains the mechanism. It's not that strategies are bad in theory — it's that fill quality has degraded to the point where paper edges evaporate on contact with the real order book.
how it works
The first backtester that models whether your orders actually fill
Queue position tracking
When you place an order at $0.49, you join a queue. PhantomFill tracks exactly where you are in line — behind every share already resting at that price.
Fill-through simulation
As the market trades, shares ahead of you get filled. PhantomFill replays every tick to determine whether your turn ever comes before the market resolves.
Adverse selection detection
If the market moves against you, informed traders hit your stale order. PhantomFill detects when you get filled for the wrong reasons — the fills that make your PnL worse.
Rust · 160 tests · Millions of ticks captured daily · Academic model (DeLise 2024, Lalor & Swishchuk 2024)
for bot builders
Know before you deploy
As one bot builder put it: "Backtests lie because they assume you can fill at historical prices." They're right. But the only honest backtest isn't a live one — it's one that models fills.
Run your strategy through thousands of real markets — with new data captured every day. See naive vs. realistic PnL. Find your phantom fill gap before you put real money in.
~ Tick-by-tick order book replay
~ Monte Carlo simulation (configurable runs + seed)
~ 7 built-in strategies, custom strategy API
~ CSV export for external analysis
~ Live data capture — dataset grows every day
Available strategies:
spread_arb Buy Both Sides
gabagool Combined-Price Arb
last_15s Last 15 Seconds
post_cancel Buy Both, Cancel Loser
fade Bet Against Streaks
momentum Follow BTC Price
depth Read the Order Book
$ pf run -s last_15s --db hf.db --native
Fill rate 23.3%
Queue 87,763 shares ahead
Real PnL -$756.30
"100% win rate." 23% fill rate.
coming soon
PhantomFill Cloud
Web UI. Live data feed pre-loaded and growing daily. Custom strategy builder. One-click backtest. No Rust required.
$49/mo — less than one phantom fill costs you
Or install the CLI now: cargo install phantomfill
FAQ
What is a phantom fill? +
A phantom fill occurs when a backtest assumes your limit order was executed, but in a real market, the order would never have been reached in the queue. On Polymarket's order book, when you place a bid at $0.49, hundreds or thousands of shares may already be waiting at that price. A phantom fill backtest ignores this queue and credits you with fills that would never happen. PhantomFill is the first backtester that models queue position, fill probability, and adverse selection to give you realistic results.
Is Polymarket spread arbitrage profitable? +
Based on our analysis of thousands of real Up/Down markets — with new data captured every day — the answer is no. The "Buy Both Sides" strategy consistently shows paper profit but loses money under realistic fill simulation. The famous gabagool22 combined-price arb is even worse. The gap is entirely explained by phantom fills — orders that look filled on paper but would never execute in a real order book.
Why do backtests show profit but real trading loses money? +
Most backtests assume that placing a limit order at a price means it gets filled. In reality, Polymarket uses a central limit order book where orders queue by time priority. Your order joins behind existing orders at the same price. In fast-moving 5-minute markets, the window often resolves before your order reaches the front of the queue. Your backtest counts these as wins. Your wallet counts them as nothing.
How does PhantomFill model order fills? +
PhantomFill uses an academic fill simulation model based on DeLise (2024) with three rules: (1) queue position tracking — your order joins behind existing depth at your price level, (2) fill-through simulation — fills only occur when enough volume trades through your queue position, and (3) adverse selection detection — identifying when fills happen because informed traders are hitting your stale orders. The model is validated against millions of real market ticks from our live capture infrastructure.
Is PhantomFill free? +
The CLI is open source and free. Install with cargo install phantomfill. PhantomFill Cloud (web UI, pre-loaded data, custom strategy builder) will be $49/month.
Does the Buy Both Sides strategy work? +
No. "Buy Both Sides" (spread arb) involves buying YES and NO at $0.49, hoping both legs fill for $0.02 profit per share. Our data shows ~33% chance of getting stuck with one side (single-leg risk). One loss wipes out 25 wins. After realistic fill simulation across thousands of markets, the strategy consistently loses money. The gabagool22 variant (buying at different times when combined < $1.00) is even worse.
What happened to Polymarket latency arbitrage? +
Polymarket removed their 500ms speed bump on February 18, 2026 with no announcement. Market makers called it "irreparable damage." Bots that relied on the delay broke overnight. Latency arb is effectively dead for retail. Jump Trading and Susquehanna now operate on Polymarket with institutional infrastructure.