Files
PolymarketDocumentation/docs/developers/market-makers/maker-rebates-program.md
T
2026-02-14 12:59:26 +01:00

10 KiB
Raw Blame History

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

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-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.


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

  1. Include feeRateBps in the order object before signing
  2. Sign the complete order
  3. POST to /order endpoint
**Important:** 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`

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 Curves

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 }

User-facing overview with full fee tables Full order structure and signing documentation