Skip to main content
Polymarket charges a small taker fee on certain markets. Fees are set by the protocol and applied at match time — you don’t include fee information in your orders. These fees fund the Maker Rebates Program, which redistributes fees daily to market makers to incentivize deeper liquidity and tighter spreads. Geopolitical and world events markets are fee-free. Polymarket does not charge fees or profit from trading activity on these markets. There are also no Polymarket fees to deposit or withdraw USDC (though intermediaries like Coinbase or MoonPay may charge their own fees).
Fees are determined per-market at match time. Markets with fees enabled have feesEnabled set to true on the market object. Query fee parameters for any market with getClobMarketInfo(conditionID).

Fee Structure

Fees are calculated using the following formula:
fee = C × feeRate × p × (1 - p)
Where C = number of shares traded and p = price of the shares. Makers are never charged fees. Only takers pay fees. The fee parameters differ by market category:
CategoryTaker Fee RateMaker Fee RateMaker Rebate
Crypto0.072020%
Sports0.03025%
Finance0.04025%
Politics0.04025%
Economics0.05025%
Culture0.05025%
Weather0.05025%
Other / General0.05025%
Mentions0.04025%
Tech0.04025%
Geopolitics00
Taker fees are calculated in USDC and vary based on the share price. The fee amount in USDC is symmetric around 50% probability — a trade at 30¢ incurs the same dollar fee as a trade at 70¢.

Fee Tables (100 Shares)

PriceTrade ValueTaker Fee (USDC)
$0.01$1$0.07
$0.05$5$0.34
$0.10$10$0.65
$0.15$15$0.92
$0.20$20$1.15
$0.25$25$1.35
$0.30$30$1.51
$0.35$35$1.64
$0.40$40$1.73
$0.45$45$1.78
$0.50$50$1.80
$0.55$55$1.78
$0.60$60$1.73
$0.65$65$1.64
$0.70$70$1.51
$0.75$75$1.35
$0.80$80$1.15
$0.85$85$0.92
$0.90$90$0.65
$0.95$95$0.34
$0.99$99$0.07
The fee in USDC peaks at 50% probability ($1.80) and decreases symmetrically toward both extremes.

Fee Precision

Fees are rounded to 5 decimal places. The smallest fee charged is 0.00001 USDC. Anything smaller rounds to zero, so very small trades near the extremes may incur no fee at all.

Fee Handling

Fees are calculated and applied at match time by the protocol — you do not need to include fee information in your orders. The SDK handles everything automatically. To query fee parameters for a specific market, use getClobMarketInfo(conditionID):
const info = await client.getClobMarketInfo(conditionID);
// info.fd = { r: feeRate, e: exponent, to: takerOnly }

Next Steps

Maker Rebates Program

Learn how taker fees fund daily USDC rebates for liquidity providers.

Place Orders

Start placing orders on Polymarket.