Polymarket · Measurements
A popular open-source Polymarket bot ships four trading strategies. We tested each one against live order books, using execution prices and a control group. All four lose money. Here are the numbers.
Why this page exists. We are not trying to discredit anyone. We went looking for a strategy that works, found a well-organised bot with 538 stars, and tested its four ideas properly rather than trusting the README. Three of them fail for reasons that apply to any implementation, not just that one — which is the useful part.
Claimed: guaranteed profit, extremely low risk
The idea: find markets where YES + NO < $1.00, buy both sides, collect the difference at resolution. The maths is sound. The opportunity is not there.
We scanned every market with two readable books. Not one allowed buying both sides for under a dollar. 37% sat locked between 1.000 and 1.0015. Market makers hold asks one tick above parity and bids one tick below; the quotes never cross.
This is not scarcity that patience will solve. It is the design of the book.
Claimed: buy panic selling in 15-minute crypto markets
The idea is genuinely attractive: when a price drops more than 15% in seconds, someone is selling in a hurry. Buy the dip, hedge the other side. Unlike market making, it does not wait in a queue — so it sidesteps the spread problem entirely.
We watched four 15-minute markets, sampling every two seconds, and simulated the full round trip at execution prices: buy at the ask, sell at the bid thirty seconds later.
| Median return | Winners | |
|---|---|---|
| After a ≥3% drop | −23.61% | 4 / 56 |
| Control — random moments | −2.00% | 2 / 39 |
Buying dips is ten times worse than buying at random. And the control tells you why the number is trustworthy: −2.00% is exactly the cost of the spread (one tick on a 0.50 price). Random entries lose the spread and nothing more. Dips lose far more — meaning the drop continues.
On a market that resolves in fifteen minutes, a fall is not a panic that reverts. It is the underlying moving against you, and it keeps moving. You are catching a falling knife.
Claimed: follow traders with 60%+ win rates
We pulled the weekly crypto PnL leaderboard and looked at what those traders actually hold.
| Rank | Weekly PnL | Positions | Concentration | Largest position |
|---|---|---|---|---|
| 1 | +$50,493 | 1 | 100% | Clarity Act (+$39,964) |
| 2 | +$34,238 | 1 | 100% | Clarity Act (+$77,588) |
| 3 | +$32,810 | 1 | 100% | Clarity Act (+$6,445) |
| 4 | +$30,924 | 1 | 100% | Clarity Act (+$25,629) |
| 6 | +$19,274 | 20 | 15% | BTC Up/Down (−$1,545) |
| 7 | +$16,480 | 20 | 50% | BTC Up/Down (−$50,393) |
| 8 | +$12,628 | 20 | 21% | BTC dip to $60k (−$24,190) |
The top four are not four skilled traders. They are four people who bet on the same bill — and it is going their way. Their PnL is unrealised; nothing has been sold.
Further down, the “diversified” traders carry losses the ranking never shows: rank 7 is listed at +$16,480 while holding a position at −$50,393.
Copying them means buying that bill after their entry, or inheriting positions already deep underwater. A PnL leaderboard ranks whoever bet biggest and was right — it is survivorship bias with a scoreboard.
Separately, we measured spread against 24-hour volume across six markets at the same instant:
| Market | 24h volume | Spread |
|---|---|---|
| bitcoin daily | $32,650 | 2.0% |
| ethereum daily | $2,020 | 2.1% |
| solana daily | $479 | 19.0% |
| three fresh markets | $10 | 2.0% |
Where the tick is 0.01, nearly every live book sits at one tick. Where it is 0.001 — almost all sports — it does not, and those books turn out to be matches already decided. A spread is not an opportunity waiting to be taken before others notice — it is the price of having no counterparty. When someone genuinely wants to trade, it closes.
This explains every failure above, and it is why capital size does not rescue any of them. With $100 or $100,000 you meet the same two doors: a one-tick queue behind thousands of shares, or a 19% spread nobody will ever fill.
Execution prices, never midpoints. Buy at the ask, sell at the bid. Measuring on the midpoint erases the spread and makes unprofitable strategies look profitable — it is how we once produced an imaginary +238%/day.
A control group. An oscillating price rises after half of its falls, so “the dip recovers” is true of pure noise. Every signal strategy must be compared against random entries, or you are reading noise as skill.
Coverage before conclusions. Three times we concluded “impossible” from a sample too small or an API call that had silently failed. An empty result is not a result. Check that the measurement ran before trusting what it says.
Credit where it is due. The bot we tested gets two important things right that we had to learn the hard way. It enforces a minimum trade size so every position can be exited — we ignored that and locked $2.15 in a position we could not sell, six thousandths of a share below the order minimum. And it filters out traders whose PnL comes mostly from one trade, which is exactly the flaw we found in the leaderboard. Its author saw the problem; the data simply says nobody survives that filter.
Our own record is worse: of eight measurements we have published, four disproved the strategy that motivated them. That is the point of measuring.