01The claim

On most venues a trading fee is a percentage of what you traded. Buy $100 of something, pay a fraction of $100. Polymarket does not work that way. Its fee is charged per share, and the per-share amount depends on the price of the share according to a curve that peaks in the middle and falls to nothing at both ends.

The interesting part is the shape of that curve. A Polymarket share pays $1 if the outcome happens and $0 if it does not. If we treat a price p as the market's implied probability, the variance of that binary outcome is p × (1 − p). Polymarket uses the same expression in its fee formula. The fee is not a flat percentage of notional; its per-share cost rises and falls with the market's implied uncertainty.

Our first system traded daily temperature markets and was designed to back outcomes it considered close to certain: ranges priced at $0.88 and above, held until the market resolved. Reading the fee as a tax on implied variance explains three things about that book at once. Entering a near-certain favourite is cheap. Stopping out becomes more expensive as its price falls toward the middle. Maker-rebate weight follows the same curve, while a separate liquidity-rewards rule excludes the one-sided quotes we placed above $0.90.

02The schedule, exactly

Three mechanics matter, and they are worth stating precisely before drawing anything from them. An order that waits in the book and offers liquidity is the maker; an order that arrives and executes immediately against it is the taker.

First, the taker pays a gross fee of feeRate × p × (1 − p) per share, where p is the fill price and feeRate comes from the market's configured schedule; the published defaults vary by category. Second, the maker pays no trading fee. Third, a filled maker order earns fee-equivalent weight in a daily rebate pool. Polymarket calculates your fee equivalent ÷ total fee equivalent × rebate pool separately for each market. The result is competitive and paid only after at least $1 accrues; it is not a fixed cash credit attached to each fill.

Fee tiers by category
Category feeRate Maker rebate pool Peak gross fee per 100 shares
Crypto0.0720%$1.75
Economics, Culture, Weather, Other0.0525%$1.25
Finance, Politics, Tech, Mentions0.0425%$1.00
Sports0.0515%$1.25
Geopolitics00fee-free

The published Weather default is a 0.05 fee rate, with 25% of collected fees funding its maker-rebate pool. Everything below starts with those two numbers. Published category rates are currently 0, 0.04, 0.05, or 0.07, but production code should read feesEnabled and feeSchedule from the specific market rather than infer them from its tag.

These are gross fees. Since May 28, 2026, Polymarket has also offered tiered taker rebates of 0% to 50%, based on a trader's weighted taker volume over the previous 30 days. A tier rebate changes the final cost but not the shape of the curve. Our old ledger did not record the account's tier or taker rebates, so this article does not claim a realised net-fee total.

One implementation detail matters later. The protocol applies fees at match time; traders no longer put a fee field in the signed order. The current source of truth is the per-market feeSchedule, not a linear calculation from the legacy feeRateBps field on a trade.

03What the formula actually taxes

Under the price-as-implied-probability reading, p × (1 − p) is the outcome's variance. The fee can therefore be read as feeRate × implied variance per share.

The first consequence is a gross break-even condition. Before any taker-tier rebate, a trade's edge—the gap between our estimated value and the price paid—must exceed feeRate × p × (1 − p). For a weather market that threshold is 1.25 cents per share on a coin flip and about a tenth of a cent per share at $0.98. The minimum gross edge is not a fixed number of cents. It moves by a factor of roughly thirteen between $0.50 and $0.98, and by about 5.4 times across our $0.88–$0.98 entry band.

Weather markets · gross feeRate 0.05 · maker pool 25%
Price Taker fee per share As % of notional Maker rebate accrual per share
$0.50$0.012502.50%$0.003125
$0.70$0.010501.50%$0.002625
$0.80$0.008001.00%$0.002000
$0.88$0.005280.60%$0.001320
$0.90$0.004500.50%$0.001125
$0.93$0.003260.35%$0.000814
$0.95$0.002380.25%$0.000594
$0.98$0.000980.10%$0.000245

The last column is the 25% maker accrual associated with that fill under the published schedule. Polymarket settles rebates from each market's daily pool, not trade by trade, and does not pay until at least $1 has accrued. Taker-tier rebates can reduce the fee column, but they multiply the cost rather than change the curve's shape.

The second consequence connects the fee to position sizing. The Kelly criterion, which sizes bets for long-run capital growth, responds to edge relative to outcome variance. Our system reflected that idea by ranking candidates with a weight based on 0.25 ÷ p(1 − p), raised to a configured power. At the same dollar edge, it favoured prices near the ends of the range over coin flips.

The fee and the Kelly weight are not the same economic quantity: one is a cash cost, the other is a sizing input. The safe way to combine them is straightforward: net edge = gross edge − fee, then size the trade from net edge and the uncertainty in the estimate. The shared p(1 − p) shape still matters, but it does not remove the need to keep units and assumptions separate.

04What the flat edge bar really did

Our first system required at least $0.002 of net edge per share after fees, plus a separate trade-edge floor of zero. Both thresholds were fixed dollar amounts.

We initially called that a fee-calculation bug. It was not. The calculator had already subtracted the curved taker fee before comparing net edge with the $0.002 floor. At $0.50, a weather trade needed about $0.0145 of gross edge to leave $0.002 after the $0.0125 fee. At $0.98, it needed about $0.00298. The curve was already present in the admission test.

The open design choice is the size of the safety margin after costs. A flat $0.002 floor is about 16% of the gross fee at $0.50 and more than twice the fee at $0.98. If the goal is a consistent buffer relative to execution cost, a multiple of feeRate × p(1 − p) is easier to defend. If the goal is a fixed minimum dollar return per share, a constant can be reasonable. That is a risk-policy decision, not a uniquely correct formula.

Implementation notes · first system

  • The net-edge calculator charged the taker fee only to taker fills and modelled fee-equivalent rebate accrual only for maker fills. Both followed the correct curve, but the rebate remained an estimate until the pooled payout was reconciled. The other policy choice was what safety margin to demand afterward.
  • The calculator deliberately split expected value into a trade leg and a reward leg, and applied a haircut to the reward leg, so that rebates and liquidity rewards could improve a good trade but never rescue a weak one. That split was the right instinct. Section 05 is about what it revealed.
  • The haircut on the reward leg was tightened from 0.5 to 0.25 during a review of the sizing model, on the grounds that incentives are unproven upside until they are reconciled against real payouts. That reconciliation remained incomplete: liquidity rewards reported zero, while maker rebates were not connected. See section 07.

05Where the maker money was supposed to come from

The plan for the maker side of the book rested on two income streams: the rebate described in section 02, and a separate liquidity rewards pool, a daily pot each eligible market pays out to whoever leaves orders resting near the current price. Both were modelled. Neither appeared as income in our ledger, but for different reasons: the liquidity-rewards line returned zero, while maker-rebate accounting was never connected. The first system therefore cannot support a claim that no rebates accrued.

Maker-rebate accrual follows the fee curve toward zero. The daily allocation uses the same fee-equivalent formula as the taker fee. At $0.95, a filled weather quote contributes about $0.00059 per share under the 25% schedule. A hundred shares therefore accrues roughly six cents toward the daily rebate calculation, well below the $1 payout threshold on its own.

There is a correction worth recording here, because it runs against the direction these stories usually run. Our original model treated the rebate as a flat rate on notional, roughly $0.0005 to $0.00075 per share. When we replaced it with the real fee-equivalent formula, modelled accrual went up near the middle of the price range, by a factor of about five, and stayed roughly the same at the favourite end. The flat estimate was not flattering our results. It had the wrong shape, sloping upward with price when the real curve bends down after $0.50.

Liquidity rewards pay nothing to a one-sided quote on a favourite. The raw reward formula scores a resting order by its squared closeness to a size-cutoff-adjusted midpoint, then multiplies by size; final payouts depend on the quote's normalized score against other makers. It also has a two-sided rule: when the midpoint sits outside the $0.10 to $0.90 range, an order scores only if both economic sides are quoted. Inside that range, a one-sided quote scores at a third of the full rate. Our weather strategy quoted one side, and its thesis lived above $0.90. Our own reward model encoded that rule and therefore returned zero for most of what we did.

Historical reward minimums were too large for most of our orders. Each reward-bearing market sets a minimum qualifying size and maximum spread. In the 150-market snapshot kept by the first system, the size cutoff usually sat between 50 and 200 shares and reached 10,000 in one market. Quarter-Kelly sizing on a $1,000 bankroll produced orders of roughly 5 to 26 shares.

That is a historical observation, not the current venue-wide rule. On August 4, 2026, the public rewards API returned 411 funded daily high-temperature configurations: 330 had a 20-share minimum and 81 had a 100-share minimum. An order near the top of our old 5–26-share range could now qualify on size in most of those markets. It would still need to sit within the configured spread and, above a $0.90 midpoint, quote both economic sides.

The same API exposes the minimum size, maximum spread, and daily reward allocation. A separate endpoint reports whether an individual order is scoring. Our first system did not use either check, so its reward model could not confirm that a live order was eligible or how large the pool was.

Live-account evidence

  • Of the 150 markets in the first system's snapshot, 113 were reward-bearing. The account line showed $0.00 over that period. That is consistent with the size and one-sided-quote rules, but it does not prove the account earned no sub-$1 amount below Polymarket's payout threshold.
  • The obvious fix, sizing up to the minimum to qualify, was built and then switched off by default. Forcing size to the reward minimum overrides Kelly and turns a market maker into a directional gambler; a 200-share order at $0.50 is $100, or 10% of the bankroll, on a position sized by a rewards rule rather than by an edge.
  • The reward scoring is quadratic in closeness to the midpoint and rewards two-sided, resting, sized quotes. Those same features increase the amount of capital and time exposed to adverse selection, which the previous article measured. Reward farming and adverse-selection defence can therefore pull a small book in opposite directions.

Under the configurations captured by the old system, the reward leg was out of reach for most of our orders. Current cutoffs are lower, so that conclusion does not carry forward unchanged. A rebuild should query the live configuration and per-order scoring status rather than assume either eligibility or exclusion.

06The stop-loss tax

This is where the curve became a real execution cost for our book.

In our first system every entry rested in the book as a maker order, and every forced exit crossed the book as a taker order: stops, profit locks, edge-decay exits, time-outs, manual cuts, and the kill switch. Makers paid no trading fee, so the gross platform fee appeared only on those forced exits.

When a favourite falls from $0.93 to $0.70, it moves toward the $0.50 peak of the fee curve. A taker exit at $0.70 therefore carries a larger gross fee than the same exit would at $0.93. That relationship holds while the price remains above $0.50; the curve falls again after crossing the midpoint.

Worked example · weather · gross of taker rebates

  • Rest a maker buy at $0.93 and get filled. Trading fee: $0. Maker-rebate accrual under the 25% schedule: about +$0.00081 per share, settled through the daily pool.
  • The thesis breaks, the price slides to $0.70, the stop crosses the book. Taker fee before any tier rebate: −$0.01050 per share.
  • The gross exit fee is about thirteen times the entry fill's maker-rebate accrual. It is larger because the losing trade moved toward the middle of the curve, though $0.70 is not the curve's maximum.
  • The mirror case: the thesis holds, the range resolves, and the shares redeem at 1 pUSD without crossing the book. The maker entry pays no trading fee, and Polymarket applies no haircut to redemption. A direct, non-relayed on-chain call may still incur network gas.

The previous post-mortem recorded a painful counterexample: four closed positions on one June day later settled at $1, leaving about $29 of counterfactual value against a $14.80 loss. But its larger sample also showed that most stops were correct and that the model was overconfident. The fee curve does not overturn that conclusion. It adds one more cost to a stop and makes unnecessary whipsaw more expensive; it does not turn holding into the default answer.

A stop-loss therefore costs the realised trading loss plus the gross taker fee, less any tier rebate the account earns. A maker re-entry adds no immediate platform fee; a taker re-entry does. Either way, the expected exit cost belongs in the entry decision rather than being discovered in the post-mortem.

07What the ledger said versus what the model said

The dashboard carried three separate lines: fees paid, rebates earned, rewards earned. Keeping them separate was deliberate, and it was the right call. What we did with them was not.

The model computed a fee of feeRate × p(1 − p) × shares. The live reconciliation instead treated the legacy feeRateBps field as a linear percentage of notional: feeRateBps ÷ 10,000 × price × size. Under the current Polymarket specification, that interpretation is wrong. The platform fee follows the curve and its parameters come from the market's feeSchedule. We had two models for one number and never compared either with the actual account debit.

The rebate snapshot was also hardcoded to zero. Polymarket now exposes maker rebates by date and maker address through /rebates/current, but the first system never queried it. Its zero means "not measured," not "nothing accrued." The liquidity rewards line was connected to a real endpoint and reported $0. The ledger also missed the taker-tier rebates introduced in May 2026, so its gross fee estimate was not a net account cost.

Lesson: this is the same kind of failure as the account value that lagged by $150 in the previous article. A modelled number is not an accounting entry. Fees, maker rebates, taker rebates, and liquidity rewards each need a venue-backed record and a daily reconciliation.

08Quoting economics under a variance tax

These are the rules we would apply before quoting on this fee schedule again.

  1. Read feesEnabled and feeSchedule from the market. Subtract the curved fee from gross edge before applying a fixed-dollar or fee-relative safety margin.
  2. Keep the units straight. A fee is a cash cost; a Kelly or growth score is a sizing input. Calculate net edge in dollars first, then size from that net edge and the uncertainty in the estimate.
  3. Treat maker rebates as pooled income, not guaranteed cash on each fill. They can improve a sound quote, but should not turn a weak trade into an acceptable one.
  4. Do not size up solely to reach a reward minimum. Position size should still come from edge, liquidity, and account risk rather than an incentive threshold.
  5. Compare a book exit with redemption when the thesis survives. Redemption has no Polymarket haircut, but it can tie up capital and still carries resolution risk.
  6. Price the stop at entry. A stop is a taker order, and for a favourite moving toward $0.50 its gross fee rises. Include the account's taker-rebate tier when known.
  7. Reconcile modelled fees with real account debits and reconcile both rebate programs with their venue endpoints every day. Keep the five-decimal fee rounding and $1 payout thresholds explicit.
  8. Compare fee schedules when choosing between markets, but do not infer a live rate from a category label alone. The per-market configuration is authoritative.

09Sources and remaining questions

I re-checked the external mechanics on August 4, 2026 against Polymarket's official documentation for fees, maker rebates, taker rebates, liquidity rewards, reward configurations, CLOB V2, and redemption. Rates and program terms can change, which is why live code should read each market's current configuration.

  • What did the first account pay after tiered taker rebates? Its ledger did not store the tier or rebate payouts, so the historical net cost still needs reconstruction.
  • How closely do small real debits near $0 and $1 match the curve after Polymarket's five-decimal rounding? The published formula is settled; our fill-by-fill reconciliation is not.
  • Would the 20–26-share orders that now clear the size cutoff in many weather markets earn enough to justify the added adverse-selection exposure and cross the $1 payout threshold? That still needs a small live test with per-order scoring enabled.
  • After exit fees, capital lock-up, and resolution risk are all counted, when is holding a still-valid favourite to redemption better than selling it in the book?