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).
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:
Category
Taker Fee Rate
Maker Fee Rate
Maker Rebate
Crypto
0.072
0
20%
Sports
0.03
0
25%
Finance
0.04
0
25%
Politics
0.04
0
25%
Economics
0.05
0
25%
Culture
0.05
0
25%
Weather
0.05
0
25%
Other / General
0.05
0
25%
Mentions
0.04
0
25%
Tech
0.04
0
25%
Geopolitics
0
0
—
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¢.
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.
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 }