Polymarket Liquidity Rewards (2026): How Maker Rebates Work

The Short Answer
Polymarket pays market makers in two ways: liquidity rewards for keeping resting limit orders close to the midpoint, and maker rebates funded by taker fees when your resting orders get filled. Liquidity rewards are scored once a minute on a quadratic rule that favors tight, two-sided quotes, and paid daily at midnight UTC. Maker rebates return a share of the taker fees in each market, from 15% in sports to 25% in most categories, also paid daily. Both have a $1 minimum payout. Each market's reward settings are public at GET https://clob.polymarket.com/rewards/markets/current.
Key Takeaways
- Resting limit orders are automatically eligible for liquidity rewards; there is nothing to sign up for.
- Each market sets a maximum qualifying spread, a minimum order size and a daily reward rate.
- Scores use
S = ((v − s) / v)² × b, so an order twice as close to the midpoint scores far more than twice as much. - Maker rebates by category: Crypto 20%, Sports 15%, and 25% for Finance, Politics, Economics, Culture, Weather, Tech and others.
- In our check on 16 October 2026, 18,822 markets carried liquidity rewards.
How do Polymarket liquidity rewards work?
Polymarket wants deep, tight order books, so it pays makers for providing them. Any resting limit order within a market's maximum spread and above its minimum size earns a score. Each epoch is one UTC day, and the book is sampled once a minute at a random moment, up to 1,440 samples a day. At each sample your score is compared with every other maker in that market, the shares are summed over the day, and the market's daily reward is split by those shares. Rewards go straight to your maker address at midnight UTC.
The scoring rule is quadratic in distance from the midpoint:
S(v, s) = ((v - s) / v)^2 * b
v = the market's maximum qualifying spread
s = your order's distance from the midpoint
b = the market's in-game multiplier
With a multiplier of 1, this per-unit weight is 1 at the midpoint, 0.25 halfway to the spread cutoff, and zero at the cutoff. Multiply each eligible order's weight by its share size when building the book-side score. The final reward also depends on both sides and the other makers' scores.
Why does two-sided liquidity matter?
The score looks at both sides of the market and its complement, and favors makers who quote both. When the midpoint is between 0.10 and 0.90, a single-sided order still scores, but its score is divided by a scaling factor that Polymarket lists as 3.0 on all markets. Outside that range, near the extremes, only two-sided liquidity earns rewards.
How do Polymarket maker rebates work?
Makers on Polymarket pay no fees; only takers do. A share of those taker fees is paid back to the makers whose orders were filled, market by market:
rebate = (your_fee_equivalent / total_fee_equivalent) * rebate_pool
fee_equivalent = C * feeRate * p * (1 - p)
| Category | Taker fee rate | Maker rebate share |
|---|---|---|
| Crypto | 0.07 | 20% |
| Sports | 0.05 | 15% |
| Finance, Politics | 0.04 | 25% |
| Economics, Culture, Weather, Other | 0.05 | 25% |
| Mentions, Tech | 0.04 | 25% |
| Geopolitics | 0 (fee-free) | None |
Rebates are paid daily in pUSD, with a $1 minimum, and Polymarket can change the percentages. The fee side is covered in Polymarket fees explained.
How do you find which markets pay liquidity rewards?
The market reward settings are public. This Node 18+ script pages through incentivized markets and ranks them by daily reward; personal earnings use separate authenticated endpoints:
// Polymarket liquidity rewards: every incentivized market, ranked by daily reward
const all = [];
let cursor = '';
do {
const url = `https://clob.polymarket.com/rewards/markets/current${cursor ? `?next_cursor=${cursor}` : ''}`;
const page = await (await fetch(url)).json();
all.push(...page.data);
cursor = page.next_cursor;
} while (cursor && cursor !== 'LTE=');
all.sort((a, b) => b.total_daily_rate - a.total_daily_rate);
console.log(all.length, 'markets with rewards; total per day', all.reduce((s, m) => s + m.total_daily_rate, 0).toLocaleString());
for (const m of all.slice(0, 5)) {
console.log(m.condition_id.slice(0, 12), '| per day', m.total_daily_rate, '| max spread', m.rewards_max_spread, '| min size', m.rewards_min_size);
}
In our run on 16 October 2026 it collected 18,822 markets with rewards. The top markets paid a daily rate of 3,429 each with a maximum spread of 2.5 and a minimum size of 100, while many others paid 5 a day with a 4.5 spread and a 20 minimum. In our checks results came 500 per page, and a next_cursor of LTE= marks the last page. Use /rewards/markets/{condition_id} for one market's settings. Personal earnings are returned by authenticated /rewards/user routes, rather than a wallet address in the URL path.
How do you track liquidity reward earnings with the API?
Polymarket separates public market configurations from authenticated account reports. The current CLOB API specification documents these read endpoints:
| Endpoint | What it reports |
|---|---|
GET /rewards/user?date=YYYY-MM-DD | Your liquidity reward earnings per market for a day |
GET /rewards/user/total?date=YYYY-MM-DD | Daily totals grouped by asset address |
GET /rewards/user/percentages | Your current share of rewards per market |
GET /rewards/user/markets?date=YYYY-MM-DD | Earnings alongside market reward configurations |
GET /order-scoring?order_id=ORDER_ID | Whether an order currently qualifies for reward scoring |
These account and order checks require signed CLOB L2 authentication headers. A public wallet address alone does not authorize them. Use the maker-address and signature-type parameters documented for your account, and keep credentials on your server. Follow next_cursor on paginated earnings reports until the terminal cursor LTE=. Track the UTC date, market, reported earnings and reward share separately; an advertised market reward pool is not your personal payout. Liquidity reward reports and the maker rebate program are separate concepts.
Is market making on Polymarket worth it?
Rewards and rebates can offset spread risk, but they do not remove it. A resting order can be filled just before news moves the price against you, and rewards split across every maker in a market, so the busiest markets are also the most competitive. Returns are potential, never certain. To quote across venues as well as Polymarket, the Predictefy API streams normalized order books from 15+ venues in one shape.
Official references: Liquidity rewards, Maker rebates, Rewards API specification.
Frequently Asked Questions
How do Polymarket liquidity rewards work?
Resting limit orders within a market's maximum spread and above its minimum size earn a score each minute. Scores are compared with other makers and the market's daily reward is split by share, paid at midnight UTC.
What is the difference between liquidity rewards and maker rebates?
Liquidity rewards pay for resting orders near the midpoint, filled or not. Maker rebates pay a share of taker fees when your resting orders are filled.
How much is the Polymarket maker rebate?
20% of fee-equivalent value in crypto, 15% in sports and 25% in most other categories. Geopolitics is fee-free and has no rebate.
Is there a minimum Polymarket reward payout?
Yes. Both liquidity rewards and maker rebates have a $1 minimum payout.
How do I see which markets pay rewards?
Call GET https://clob.polymarket.com/rewards/markets/current, which lists every incentivized market with its daily rate, maximum spread and minimum size, 500 per page.