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.

by Arnaud Knobloch

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.