1. The model
Polymarket's protocol taker fee is a function of three things: how many shares you trade, the fee rate for that market's category, and the price of the shares. It is not a percentage of your winnings, and it is not charged at resolution.
- C — number of shares traded.
- feeRate — the category rate below (0.04–0.07, or 0 for geopolitics).
- p — share price expressed as a decimal between 0 and 1 (62¢ → 0.62).
The term p × (1 − p) is what gives the fee its shape: it is symmetric around 50¢ and falls away toward both 0¢ and $1.00. The fee is charged at match time, whether the position later wins or loses, and makers are never charged.
Category rates
| Category | feeRate (taker) | Maker fee |
|---|---|---|
| Crypto | 0.07 | 0 |
| Sports | 0.05 | 0 |
| Economics · Culture · Weather · Other | 0.05 | 0 |
| Politics · Finance · Mentions · Tech | 0.04 | 0 |
| Geopolitics / world events | 0 — fee-free | 0 |
These are the parameters Polymarket publishes. Rates are protocol settings and can change; confirm the live rate on the market's own details before sizing a large trade.
2. Run the model on your own trade
Set the category, the price you are trading at, and the number of shares. The fee panel updates from the same equation above.
- Stake (shares × price)
- $50.00
- Fee as % of stake
- 2.00%
- Maker fee
- $0.00
- Charged
- at match
3. The complete grid (100 shares)
Fee payable when trading 100 shares at each price, for the three charged rates. The table is generated from the formula, not hand-entered, so the left and right halves mirror each other exactly — a direct consequence of p × (1 − p).
| Price | rate 0.04 | rate 0.05 | rate 0.07 |
|---|---|---|---|
| 5¢ | $0.19 | $0.24 | $0.33 |
| 10¢ | $0.36 | $0.45 | $0.63 |
| 20¢ | $0.64 | $0.80 | $1.12 |
| 30¢ | $0.84 | $1.05 | $1.47 |
| 40¢ | $0.96 | $1.20 | $1.68 |
| 50¢ | $1.00 | $1.25 | $1.75 |
| 60¢ | $0.96 | $1.20 | $1.68 |
| 70¢ | $0.84 | $1.05 | $1.47 |
| 80¢ | $0.64 | $0.80 | $1.12 |
| 90¢ | $0.36 | $0.45 | $0.63 |
| 95¢ | $0.19 | $0.24 | $0.33 |
4. Reproduce it yourself
You have three ways to check this model against your own working:
- By hand. Pick any row: 100 shares at 50¢, rate 0.04 → 100 × 0.04 × 0.50 × 0.50 = $1.00.
- In a spreadsheet. Put the price in A, the rate in B, and
=100*B2*A2*(1-A2)in C. Fill down and compare with the grid. - From the CSV. The button below generates the full model — every price from 1¢ to 99¢ across the three rates — in your browser and downloads it. Nothing is fetched from a server.
C × feeRate × p × (1 − p) with C = 100 and p = price ÷ 100, rounded to the cent for display only (the CSV carries full precision). Model checked October 2026; rates can change, and the live order preview on any market is authoritative for that market at that moment.
FAQ
Is this the same as "2% of winnings"?
No. That formulation is wrong. The fee is charged at match time on the traded volume, not on your profit, and it applies to losing trades too. See the full explanation in Polymarket Fees Explained.
Why does the table mirror itself?
Because p × (1 − p) is symmetric: a trade at 40¢ and one at 60¢ produce the same product. That is a property of the formula, not a coincidence in our table.
Do makers really pay nothing?
Correct — resting a limit order that gets filled makes you the maker, and the taker fee does not apply. There is also a maker rebate program funded from collected taker fees.