
Polymarket market maker bots provide the resting bids and asks that form the order book. They do not simply predict YES or NO. They continuously price both outcomes, place and cancel limit orders, control inventory, and decide whether the expected spread and incentives justify the risk of being filled.
A market maker can have three distinct revenue sources: trading spread, liquidity rewards for eligible resting quotes, and maker rebates when another trader takes its liquidity. None is guaranteed profit. A bot can earn rewards and still lose money if stale quotes or inventory losses are larger.

What market making means on Polymarket
Polymarket uses a central limit order book. Makers place resting limit orders; takers trade against those orders. A bot might estimate fair YES probability at $0.50, quote a bid at $0.49, and quote an ask at $0.51.
If it buys at $0.49 and later sells at $0.51, the gross spread is two cents per share. The real result also depends on fees, rebates, inventory, and whether fair value moved while the orders rested.
The official order-book documentation explains that bids represent willing buyers, asks represent willing sellers, and tighter spreads generally indicate more liquid markets.
The three market maker income streams
| Income source | How it is earned | Main condition |
|---|---|---|
| Spread capture | Buy lower and sell higher | Both sides fill without adverse price movement |
| Liquidity rewards | Maintain qualifying resting orders | Quote size and spread must fit the market settings |
| Maker rebates | Provide liquidity that another trader takes | Filled maker orders in eligible fee-enabled markets |
These streams should be reported separately. A strategy that loses on trading but survives only because of temporary rewards has different risk from a strategy with positive spread capture before incentives.
How Polymarket liquidity rewards work
The official liquidity rewards documentation states that makers become eligible by posting resting limit orders. Rewards are paid directly to maker addresses daily at midnight UTC, with a $1 minimum payout.
Every incentivized market defines:
- a minimum qualifying order size;
- a maximum qualifying spread;
- a reward allocation;
- the market midpoint used for scoring.
The bot must read these current settings per market. A quote outside the maximum spread or below the minimum size can consume capital without earning reward points.
The August 2026 crypto reward allocation
As of this article’s publication on August 17, 2026, the official program page describes a time-limited $1 million allocation across TWAP-settled crypto markets for August. This allocation can change and should not be treated as permanent income.
| Horizon | Total allocation | BTC allocation |
|---|---|---|
| 5-minute | $550,000 | $300,000 |
| 15-minute | $350,000 | $225,000 |
| 4-hour | $100,000 | $50,000 |
These figures are configured reward caps, not guaranteed payouts. Actual rewards depend on eligible quoting, score share, competition, and the methodology below.
Why tighter quotes score more
The liquidity program uses a quadratic order-scoring function. In simplified form:
Order score = ((maximum spread − quote spread) ÷ maximum spread)² × size × multiplier
A quote one cent from the adjusted midpoint receives much more weight than a quote close to the maximum allowed spread. Tight quotes improve the book but also increase fill and adverse-selection risk.
| Maximum spread | Your spread | Relative score before size |
|---|---|---|
| 3 cents | 1 cent | About 0.444 |
| 3 cents | 2 cents | About 0.111 |
| 3 cents | 3 cents | 0 |
Moving from two cents to one cent does not merely double score; the quadratic formula can make the tighter quote roughly four times stronger before size and competition are considered.
Two-sided quotes receive better treatment
The system calculates scores for both book sides and normally favors balanced liquidity. When the midpoint is between 0.10 and 0.90, single-sided orders can still score at a reduced rate using the current scaling factor. Near extreme probabilities below 0.10 or above 0.90, liquidity must be double-sided to score under the documented method.
This pushes bots to quote both outcomes instead of placing one distant order solely to farm incentives.
Scores are sampled every minute. The official methodology describes 10,080 samples per epoch, corresponding to one week of minute-level observations. A bot that quotes tightly for ten minutes and disappears for the rest of the week will compete poorly against consistent makers.

How the final liquidity reward is calculated
For each sample, a maker’s qualifying score is normalized against all other makers in that market. Scores are then accumulated across the epoch and normalized again to determine reward share.
Your reward share = your final normalized score × the reward available for the market
This means rewards are competitive. Adding size does not guarantee a fixed return because other market makers can tighten quotes, increase size, or remain active longer.
How maker rebates differ from liquidity rewards
Liquidity rewards score qualifying resting orders, including orders that may not fill. Maker rebates require your liquidity to be taken.
The official Maker Rebates page states that rebates are paid daily in pUSD, require at least $1 accrued for payout, and are calculated per market.
For each filled maker order, the protocol computes a fee-equivalent value:
Fee equivalent = shares × fee rate × price × (1 − price)
Your daily rebate is proportional to your fee-equivalent share of that market’s rebate pool. The documentation currently lists a 20% rebate allocation for crypto, but this percentage is at Polymarket’s discretion and may change.
| Program | Requires a fill? | What determines payout? |
|---|---|---|
| Liquidity rewards | No | Qualifying spread, size, balance, uptime, and competition |
| Maker rebates | Yes | Share of executed maker liquidity weighted by fee value |
The real market maker profit equation
A bot should not optimize the reward score alone. Its full net result is:
Net market maker PnL = spread capture + liquidity rewards + maker rebates − inventory loss − adverse selection − slippage − operational costs
A reward-farming quote can have negative expected value if it sits too close to fair value during a BTC jump. The bot must require expected incentives and spread to exceed expected inventory and adverse-selection cost.
How a market maker bot chooses quotes
- Estimate fair probability. Use the market rule, reference feed, remaining time, volatility, and related markets.
- Calculate a base spread. Wider during volatility and uncertainty; tighter in stable conditions.
- Apply inventory skew. If the bot owns too much UP, lower the UP bid and make the UP ask more competitive.
- Check reward eligibility. Confirm minimum size and maximum qualifying spread.
- Estimate reward and rebate value. Treat both as uncertain competitive revenue.
- Apply risk limits. Cap inventory, order size, quote age, and loss.
- Submit post-only orders. Avoid accidentally crossing the spread when the intent is to remain a maker.
- Cancel and replace stale quotes. Reprice as fair value, volatility, and competition change.
The official order lifecycle guide notes that post-only orders are rejected if they would match immediately, preserving maker status.
Inventory skew example
Assume fair UP value is $0.50. With neutral inventory, the bot quotes $0.49 bid and $0.51 ask. After several UP bids fill, it owns too much UP.
| State | UP bid | UP ask | Goal |
|---|---|---|---|
| Neutral inventory | $0.49 | $0.51 | Quote both sides evenly |
| Too much UP | $0.48 | $0.505 | Buy less UP and sell UP sooner |
| Too little UP | $0.495 | $0.52 | Acquire more UP while selling less |
The exact values depend on tick size, volatility, time remaining, and reward settings. Reward score should never force the bot to ignore its inventory cap.
Architecture of a liquidity-reward bot
| Component | Responsibility |
|---|---|
| Market selector | Finds incentivized markets and reads reward settings |
| Fair-value engine | Estimates YES and NO probabilities |
| Quote engine | Calculates bid, ask, size, and refresh frequency |
| Reward optimizer | Estimates score from spread, size, balance, and competition |
| Inventory manager | Skews quotes and caps directional exposure |
| Order manager | Submits, cancels, replaces, and tracks post-only orders |
| Reconciliation | Matches local orders and positions to account state |
| Monitoring | Alerts on stale data, failed cancels, drawdown, and reward drift |
See our Polymarket bot architecture guide for order states, idempotency, and reconciliation.
The risks that destroy market maker returns
Adverse selection
Informed takers trade against quotes that have become stale. The bot buys just before fair value falls or sells just before it rises.
Inventory concentration
One-sided fills create a directional position. A few cents of reward cannot offset a large binary loss.
Cancellation latency
Fast markets can move before cancel requests take effect. Quote age must be measured from the source timestamp.
Reward competition
Rewards are normalized against other makers. Expected payout can fall when competitors add tighter or larger quotes.
Parameter changes
Reward allocations, rebate percentages, qualifying spreads, and minimum sizes can change. Hardcoded assumptions create silent losses.
Paired-cost trap
Holding both outcomes is not automatically safe. If combined average cost exceeds $1, settlement locks in a loss unless spread and incentives recover it.
What to measure in paper mode
- gross spread capture;
- inventory PnL;
- estimated liquidity rewards;
- realized maker rebates;
- fill rate by quote distance;
- adverse selection after each fill;
- average quote age;
- maximum inventory and drawdown;
- cancel and replace success rate;
- profit before and after incentives.
Our bot benchmark methodology explains how to include real depth, fees, fill rates, and drawdown without inventing results.
A practical deployment checklist
- Read reward settings from each market.
- Verify the market is active and accepting orders.
- Use post-only behavior for maker quotes.
- Recalculate fair value continuously.
- Set maximum quote age.
- Cap inventory by market and category.
- Separate spread PnL, rewards, and rebates.
- Stop quoting on stale data or unknown order state.
- Reconcile orders, fills, balances, and positions.
- Test the kill switch before live capital.
Frequently asked questions
Can a Polymarket market maker earn without getting filled?
Qualifying resting orders may earn liquidity rewards, but maker rebates require fills. Reward eligibility and payout depend on each market’s current settings and competition.
Are liquidity rewards guaranteed?
No. They are competitive, settings can change, and configured pools are caps rather than guaranteed payouts.
Why quote both UP and DOWN?
Two-sided liquidity improves scoring and reduces one-sided inventory risk. Near extreme probabilities, the documented reward method requires double-sided liquidity to score.
Do makers pay trading fees?
The current official documentation lists maker fee rates as zero. Always read the current market configuration before relying on this.
Can rewards make an unprofitable strategy profitable?
They can offset some costs, but a bot that consistently loses more through inventory and adverse selection than it earns in rewards remains unprofitable.
Market making and automated trading involve substantial risk of loss. Reward programs, rates, and eligibility can change. This article is educational and does not guarantee income.
Register on the official Polymarket website.
Affiliate disclosure: Polytrade may receive referral rewards if you register and trade through this link, at no additional cost to you.