Skip to main content
Polymarket charges a small taker fee on certain markets. 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 apply only to markets deployed on or after the activation date. Pre-existing markets are unaffected. Markets with fees enabled have feesEnabled set to true on the market object.

Current Fee Structure

The following fee parameters are currently live. New fee parameters will take effect on March 30, 2026 — see Upcoming Fee Structure below. Currently, only Crypto and Sports markets have taker fees enabled.
CategoryFee RateExponentMaker RebatePeak Effective Rate
Crypto0.25220%1.56%
Sports0.0175125%0.44%
PriceTrade ValueFee (USDC)Effective Rate
$0.01$1$0.000.00%
$0.05$5$0.0030.06%
$0.10$10$0.020.20%
$0.15$15$0.060.41%
$0.20$20$0.130.64%
$0.25$25$0.220.88%
$0.30$30$0.331.10%
$0.35$35$0.451.29%
$0.40$40$0.581.44%
$0.45$45$0.691.53%
$0.50$50$0.781.56%
$0.55$55$0.841.53%
$0.60$60$0.861.44%
$0.65$65$0.841.29%
$0.70$70$0.771.10%
$0.75$75$0.660.88%
$0.80$80$0.510.64%
$0.85$85$0.350.41%
$0.90$90$0.180.20%
$0.95$95$0.050.06%
$0.99$99$0.000.00%

Upcoming Fee Structure

Effective March 30, 2026, fee parameters are expanding to cover more market categories with updated rates. Fees are calculated using the following formula:
fee = C × p × feeRate × (p × (1 - p))^exponent
Where C = number of shares traded and p = price of the shares. The fee parameters differ by market category:
CategoryFee RateExponentMaker RebatePeak Effective Rate
Crypto0.072120%1.80%
Sports0.03125%0.75%
Finance0.04150%1.00%
Politics0.04125%1.00%
Economics0.030.525%1.50%
Culture0.05125%1.25%
Weather0.0250.525%1.25%
Other / General0.2225%1.25%
Mentions0.25225%1.56%
Tech0.04125%1.00%
Taker fees are calculated in USDC and vary based on the share price. However, fees are collected in shares on buy orders and USDC on sell orders. The effective rate peaks at 50% probability and decreases symmetrically toward the extremes.

Fee Tables (100 Shares)

PriceTrade ValueFee (USDC)Effective Rate
$0.01$1$0.000.07%
$0.05$5$0.020.34%
$0.10$10$0.060.65%
$0.15$15$0.140.92%
$0.20$20$0.231.15%
$0.25$25$0.341.35%
$0.30$30$0.451.51%
$0.35$35$0.571.64%
$0.40$40$0.691.73%
$0.45$45$0.801.78%
$0.50$50$0.901.80%
$0.55$55$0.981.78%
$0.60$60$1.041.73%
$0.65$65$1.061.64%
$0.70$70$1.061.51%
$0.75$75$1.011.35%
$0.80$80$0.921.15%
$0.85$85$0.780.92%
$0.90$90$0.580.65%
$0.95$95$0.320.34%
$0.99$99$0.070.07%
The maximum effective fee rate is 1.80% at 50% probability. Fees decrease symmetrically toward both extremes.

Fee Precision

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

Identifying Fee-Enabled Markets

Markets with fees have feesEnabled set to true on the market object. You can also query the fee-rate endpoint to check any specific market. See the API Reference for full endpoint documentation.
GET https://clob.polymarket.com/fee-rate?token_id={token_id}

Fee Handling for API Users

Using the SDK

The official CLOB clients automatically handle fees for you — they fetch the fee rate and include it in the signed order payload.

TypeScript

npm install @polymarket/clob-client@latest

Python

pip install —upgrade py-clob-client

Rust

cargo add polymarket-client-sdk
What the client does automatically:
  1. Fetches the fee rate for the market’s token ID
  2. Includes feeRateBps in the order structure
  3. Signs the order with the fee rate included
You don’t need to do anything extra. Your orders will work on fee-enabled markets.

Using the REST API

If you’re calling the REST API directly or building your own order signing, you must manually include the fee rate in your signed order payload. Step 1: Fetch the fee rate for the token ID before creating your order:
GET https://clob.polymarket.com/fee-rate?token_id={token_id}
See the fee-rate API Reference for full response details. Fee-enabled markets return a non-zero value; fee-free markets return 0. Step 2: Add the feeRateBps field to your order object. This value is part of the signed payload — the CLOB validates your signature against it.
{
  "salt": "12345",
  "maker": "0x...",
  "signer": "0x...",
  "taker": "0x...",
  "tokenId": "71321045679252212594626385532706912750332728571942532289631379312455583992563",
  "makerAmount": "50000000",
  "takerAmount": "100000000",
  "expiration": "0",
  "nonce": "0",
  "feeRateBps": "1000",
  "side": "0",
  "signatureType": 2,
  "signature": "0x..."
}
Step 3: Sign and submit:
  1. Include feeRateBps in the order object before signing
  2. Sign the complete order
  3. POST to the order endpoint
Always fetch fee_rate_bps dynamically — do not hardcode. The fee rate varies by market type and may change over time. You only need to pass feeRateBps.

Next Steps

Maker Rebates Program

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

Place Orders

Start placing orders on Polymarket.