10 KiB
Documentation Index
Fetch the complete documentation index at: https://docs.polymarket.com/llms.txt Use this file to discover all available pages before exploring further.
Maker Rebates Program
Technical guide for handling taker fees and earning maker rebates on Polymarket
Polymarket has enabled taker fees on 15-minute crypto markets, NCAAB (college basketball), and Serie A markets. These fees fund a Maker Rebates program that pays daily USDC rebates to liquidity providers.
Starting **Wednesday, February 18th, 2026 at midnight (UTC)**, taker fees and maker rebates will apply to all **new** NCAAB and Serie A markets created after that time. Existing markets are not affected. The first payout will be on February 19th at midnight (UTC).Fee Handling by Implementation Type
Option 1: Official CLOB Clients (Recommended)
The official CLOB clients automatically handle fees for you
npm install @polymarket/clob-client\@latest pip install --upgrade py-clob-client cargo add polymarket-client-sdkWhat the client does automatically:
- Fetches the fee rate for the market's token ID
- Includes
feeRateBpsin the order structure - Signs the order with the fee rate included
You don't need to do anything extra. Your orders will work on fee-enabled markets.
Option 2: REST API / Custom Implementations
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
Query the fee rate for the token ID before creating your order:
GET https://clob.polymarket.com/fee-rate?token_id={token_id}
Response:
{
"fee_rate_bps": 1000
}
- Fee-enabled markets return a value like
1000 - Fee-free markets return
0
Step 2: Include in Your Signed Order
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
- Include
feeRateBpsin the order object before signing - Sign the complete order
- POST to
/orderendpoint
See the Create Order documentation for full signing details.
Fee Behavior
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 type:
| Parameter | Sports (NCAAB, Serie A) | 15-Min Crypto |
|---|---|---|
| Fee Rate | 0.0175 | 0.25 |
| Exponent | 1 | 2 |
| Maker Rebate % | 25% | 20% |
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 Table (100 shares)
| Price | Trade Value | Fee (USDC) | Effective Rate | | ------ | ----------- | ---------- | -------------- | | \$0.01 | \$1 | \$0.00 | 0.00% | | \$0.05 | \$5 | \$0.003 | 0.06% | | \$0.10 | \$10 | \$0.02 | 0.20% | | \$0.15 | \$15 | \$0.06 | 0.41% | | \$0.20 | \$20 | \$0.13 | 0.64% | | \$0.25 | \$25 | \$0.22 | 0.88% | | \$0.30 | \$30 | \$0.33 | 1.10% | | \$0.35 | \$35 | \$0.45 | 1.29% | | \$0.40 | \$40 | \$0.58 | 1.44% | | \$0.45 | \$45 | \$0.69 | 1.53% | | \$0.50 | \$50 | \$0.78 | **1.56%** | | \$0.55 | \$55 | \$0.84 | 1.53% | | \$0.60 | \$60 | \$0.86 | 1.44% | | \$0.65 | \$65 | \$0.84 | 1.29% | | \$0.70 | \$70 | \$0.77 | 1.10% | | \$0.75 | \$75 | \$0.66 | 0.88% | | \$0.80 | \$80 | \$0.51 | 0.64% | | \$0.85 | \$85 | \$0.35 | 0.41% | | \$0.90 | \$90 | \$0.18 | 0.20% | | \$0.95 | \$95 | \$0.05 | 0.06% | | \$0.99 | \$99 | \$0.00 | 0.00% |The maximum effective fee rate is **1.56%** at 50% probability. Fees decrease symmetrically toward both extremes.
| Price | Trade Value | Fee (USDC) | Effective Rate |
| ------ | ----------- | ---------- | -------------- |
| \$0.01 | \$1 | \$0.00 | 0.02% |
| \$0.05 | \$5 | \$0.00 | 0.08% |
| \$0.10 | \$10 | \$0.02 | 0.16% |
| \$0.15 | \$15 | \$0.03 | 0.22% |
| \$0.20 | \$20 | \$0.06 | 0.28% |
| \$0.25 | \$25 | \$0.08 | 0.33% |
| \$0.30 | \$30 | \$0.11 | 0.37% |
| \$0.35 | \$35 | \$0.14 | 0.40% |
| \$0.40 | \$40 | \$0.17 | 0.42% |
| \$0.45 | \$45 | \$0.19 | 0.43% |
| \$0.50 | \$50 | \$0.22 | **0.44%** |
| \$0.55 | \$55 | \$0.24 | 0.43% |
| \$0.60 | \$60 | \$0.25 | 0.42% |
| \$0.65 | \$65 | \$0.26 | 0.40% |
| \$0.70 | \$70 | \$0.26 | 0.37% |
| \$0.75 | \$75 | \$0.25 | 0.33% |
| \$0.80 | \$80 | \$0.22 | 0.28% |
| \$0.85 | \$85 | \$0.19 | 0.22% |
| \$0.90 | \$90 | \$0.14 | 0.16% |
| \$0.95 | \$95 | \$0.08 | 0.08% |
| \$0.99 | \$99 | \$0.02 | 0.02% |
The maximum effective fee rate is **0.44%** at 50% probability. Fees decrease symmetrically toward both extremes.
Maker Rebates
Your rebate for each market:
fee_equivalent = C × p × feeRate × (p × (1 - p))^exponent
rebate = (your_fee_equivalent / total_fee_equivalent) * rebate_pool
How Rebates Work
- Eligibility: Your orders must add liquidity (maker orders) and get filled
- Calculation: Proportional to your share of executed maker volume in each eligible market. Totals are calculated per market, so you only compete with other makers in the same market
- Fee collection: Fees are calculated in USDC but collected in shares on buy orders and USDC on sell orders
- Payment: Daily in USDC, paid directly to your wallet
Rebate Pool
Each market's rebate pool is funded by taker fees collected in that market. The payout percentage is subject to change:
| Market Type | Period | Maker Rebate | Distribution Method |
|---|---|---|---|
| 15-Min Crypto | Jan 19, 2026+ | 20% | Fee-curve weighted |
| Sports (NCAAB, Serie A) | Feb 18, 2026+ | 25% | Fee-curve weighted |
The rebate percentage is at the sole discretion of Polymarket and may change over time.
Which Markets Have Fees?
The following market types have fees enabled:
- 15-minute crypto markets
- NCAAB (college basketball) markets (starting February 18, 2026 for new markets)
- Serie A markets (starting February 18, 2026 for new markets)
Query the fee-rate endpoint to check any specific market:
GET https://clob.polymarket.com/fee-rate?token_id={token_id}
# Fee-enabled: { "fee_rate_bps": 1000 }
# Fee-free: { "fee_rate_bps": 0 }