Why your bot loses money to fees when you trade at $0.50 — the peak-fee problem explained
The taker fee on Polymarket 5-minute crypto binaries peaks at ~1.56% at p=0.50. Here's the math that kills most mid-price strategies.
If you've built a Polymarket bot and it's losing money despite what looks like a positive win rate, fees are probably the culprit. Polymarket's fee formula is nonlinear — it peaks exactly at $0.50, which is where most scalpers naturally want to trade. This post works through the math so the problem is concrete.
The fee formula
Polymarket's taker fee for 5-minute crypto binary markets is:
fee = shares × feeRate × price × (price × (1 - price))^exponent
For 5-minute/15-minute crypto markets: feeRate = 0.25, exponent = 2.
Let's compute the fee at different prices per 1 share:
| Price | Fee per share | Effective fee % | |-------|---------------|-----------------| | $0.10 | ~$0.002 | ~0.20% | | $0.25 | ~$0.009 | ~0.36% | | $0.40 | ~$0.015 | ~0.37% | | $0.50 | ~$0.008 | ~1.56% | | $0.60 | ~$0.015 | ~0.37% | | $0.75 | ~$0.009 | ~0.36% | | $0.90 | ~$0.002 | ~0.20% |
Wait — that $0.50 number looks off compared to $0.40 and $0.60. Let me show the full calculation to make it unambiguous.
At price = 0.50, with 5 shares (the minimum position):
fee = 5 × 0.25 × 0.50 × (0.50 × 0.50)^2
= 5 × 0.25 × 0.50 × 0.0625
= 5 × 0.0078125
= $0.039
On a $0.25 cost basis (5 shares × $0.05 per share) that's 15.6% of cost, or about 7.8% of notional. The formula with exponent=2 means the middle-of-the-curve term (price × (1-price))^2 peaks at (0.25)^2 = 0.0625 — right at $0.50.
At price = 0.10 for comparison, with 5 shares ($0.50 cost basis):
fee = 5 × 0.25 × 0.10 × (0.10 × 0.90)^2
= 5 × 0.25 × 0.10 × (0.09)^2
= 5 × 0.25 × 0.10 × 0.0081
= $0.001
That's 0.2% of the $0.50 cost basis. Dramatically cheaper.
The fee structure strongly penalizes mid-price trading and rewards wing trading.
The breakeven win rate at $0.50
For a binary bet:
- You buy at $0.50, paying fee F
- If you win: receive $1.00, net profit = $1.00 - $0.50 - F = $0.50 - F
- If you lose: receive $0.00, net loss = $0.50 + F
Breakeven win rate W satisfies:
W × (0.50 - F) = (1 - W) × (0.50 + F)
W × 0.50 - W × F = 0.50 - W × 0.50 + F - W × F
W × 0.50 + W × 0.50 = 0.50 + F
W = (0.50 + F) / 1.00
W = 0.50 + F
At $0.50 with the fee calculation above (~$0.0078 per share on 5 shares = $0.039 on a $2.50 notional), F as a fraction of the $1 payout is about 3.9%.
Breakeven win rate = 50% + 3.9% = 53.9%
A strategy that wins exactly 53% of the time at $0.50 is losing money.
The 1000-trade simulation
Let's run 1000 trades at a 53% win rate, $3 per trade, average entry $0.50.
Position size: $3 / $0.50 = 6 shares per trade.
Fee per trade:
6 × 0.25 × 0.50 × (0.50 × 0.50)^2 = 6 × 0.0078125 = $0.047
- Wins: 530 trades, each returning $1.00 on 6 shares = $6.00 gross, minus $3.00 cost, minus $0.047 fee = $2.953 profit
- Losses: 470 trades, each returning $0.00, minus $3.00 cost, minus $0.047 fee = -$3.047 loss
Total:
530 × $2.953 = $1565.09
470 × (-$3.047) = -$1432.09
Net = +$133.00
OK, 53% wins at $0.50 is profitable over 1000 trades. But that's because our breakeven was 53.9% and 53% is close. The margin is thin: $133 on $3000 deployed is a 4.4% return over 1000 trades, or about 0.013% per trade. A few bad runs and you're negative.
Now at 52% win rate:
520 × $2.953 = $1535.56
480 × (-$3.047) = -$1462.56
Net = +$73.00
Still positive, barely. At 51%:
510 × $2.953 = $1506.03
490 × (-$3.047) = -$1493.03
Net = +$13.00
Essentially break-even. At 50.5%, you're losing money.
The practical problem: most 5-minute scalpers don't know their true win rate to within 0.5% until they've run 500–1000 trades. You'll think you're profitable when you're break-even, and you won't know for months.
The wing strategy escape
If you shift your average entry price from $0.50 to either extreme — say $0.15 or $0.85 — the fee burden drops dramatically. At $0.15:
Fee per share = 0.25 × 0.15 × (0.15 × 0.85)^2
= 0.25 × 0.15 × (0.1275)^2
= 0.25 × 0.15 × 0.01626
= 0.00061 per share
At 6 shares per trade: $0.0037. Nearly 13x cheaper per trade than at $0.50.
The breakeven win rate at $0.15 (buying a tail outcome):
W = 0.15 + F/1.00 ≈ 0.15 + 0.004 = 15.4%
You need a 15.4% win rate to break even instead of 53.9%. That sounds much easier — but the catch is that you need genuine tail-event edge. If the market is efficiently pricing those outcomes at $0.15, you don't have it.
This is the logic behind the weather bot: tail outcomes in extreme weather markets are often mispriced because retail participants anchor to round numbers and underestimate ensemble forecast uncertainty. Wing strategies work when you have a specific information advantage at the tails, not just because fees are cheaper.
Maker vs taker
The other escape is maker-only strategies. Maker fee on Polymarket is 0% plus rebates. If you're posting limit orders and getting filled, you're not paying the taker fee at all.
The cost is execution uncertainty: your limit order may not fill, and posting at $0.50 in a 5-minute binary means someone else is the taker who has the timing edge on you. Maker strategies shift the fee problem into a fill-rate and adverse selection problem. Neither is free.
poly5m-v3 is the maker-strategy bot in this catalog. It runs a two-phase approach: market-making phase first, then directional phase if the MM position builds up on one side.
Summary
- Taker fees on 5-minute crypto binaries peak at ~1.56% of notional at $0.50
- Breakeven win rate at $0.50 is approximately 53.9%, not 50%
- A 53% win rate strategy is profitable but the margin is thin enough that measurement error hides it for hundreds of trades
- Wing strategies have dramatically lower fee burdens but require genuine tail-edge
- Maker-only eliminates taker fees but introduces fill-rate and adverse selection costs
If your bot is losing money and you can't explain why from these numbers, fees are almost certainly part of the story.