Prediction MarketsApril 3, 202612 min read

Prediction Market Market Making: How the Bid-Ask Spread Pays You

Prediction market market making explained in 4 components: spread capture, inventory risk, fee math, and 3 worked P&L examples for CLOB platforms.

What Prediction Market Market Making Actually Is

Prediction market market making is the practice of simultaneously posting buy and sell orders on the same contract, earning the spread between them. You are not betting on the outcome. You are selling liquidity to traders who want immediate execution and collecting the bid-ask gap as compensation.

On a central limit order book (CLOB) platform like Polymarket or Kalshi, every contract has two prices: the highest bid (what buyers will pay) and the lowest ask (what sellers will accept). The gap between them is the spread. A market maker posts orders on both sides, buying at the bid and selling at the ask. When both sides fill, the maker pockets the difference.

This is structurally different from directional trading. A directional trader needs to be right about whether an event happens. A market maker needs to manage inventory and avoid getting caught on the wrong side of a price move. The revenue source is other people's impatience, not your prediction accuracy.

The concept connects directly to how prediction markets work at the infrastructure level. Without market makers, spreads blow out, liquidity dries up, and the market stops functioning as a price discovery mechanism. Platforms incentivize market making through fee structures that reward limit orders. Understanding those incentives is the first step.

How CLOB Market Making Works on Polymarket and Kalshi

Both Polymarket and Kalshi run central limit order books. This means all orders sit in a visible queue, sorted by price and time priority. When you place a limit order that does not immediately execute, it rests on the book as liquidity. When someone else's order crosses yours, you get filled.

The maker-taker distinction matters. A maker adds liquidity by posting an order that rests on the book. A taker removes liquidity by placing an order that immediately matches against an existing order.

Polymarket's CLOB. Polymarket runs on the CTF Exchange built on Polygon. Makers pay 0% fees. Takers pay approximately 1% of the notional amount. This fee asymmetry is the single biggest structural edge for market makers. You collect spread AND avoid fees that your counterparty pays.

Kalshi's CLOB. Kalshi uses a centralized order book with maker-taker pricing. As of early 2026, makers receive a fee rebate or pay reduced fees compared to takers. The exact structure varies by contract type, but the principle is the same: posting limit orders costs less than hitting existing orders.

Worked example: basic two-sided quote. A "Will the Fed cut rates in June?" contract has a $0.52 bid and a $0.57 ask on Polymarket. You post a buy at $0.53 and a sell at $0.56, tightening the spread from 5 cents to 3 cents.

  • You buy 200 contracts at $0.53: cost = $106.00
  • You sell 200 contracts at $0.56: revenue = $112.00
  • Gross profit: $6.00
  • Your maker fee (Polymarket): $0.00
  • Net profit: $6.00 (5.7% return on the $106.00 deployed)

That $6.00 looks small. But if you turn this over 10 times per day across 5 contracts, that is $300/day in gross spread revenue. The math of market making is volume math, not single-trade math.

To see how spread and depth affect large orders on the other side of your quotes, run scenarios through the liquidity calculator.

The Math of Market Making: Expected P&L Per Trade

Market making P&L is not a simple spread calculation. Your expected profit per round-trip trade depends on three variables: the spread you capture, the probability of both sides filling, and the expected loss from adverse selection.

The formula:

Expected P&L = (Spread x Fill Probability) - (Adverse Selection Cost x Move Probability)

Spread is the difference between your ask and bid prices. Fill probability is how often both sides execute before you need to cancel. Adverse selection is the loss you take when informed traders pick off your stale quotes after news hits.

Worked example: profitable round-trip. You quote a contract with a $0.54 bid and $0.57 ask (3-cent spread). Based on historical fill patterns, both sides fill 40% of the time within your 2-hour quoting window. When only one side fills, the average loss from unwinding the position is $0.02 per contract (you cancel and eat the spread to exit).

For 100 contracts:

  • Scenario A (both fill, 40% probability): Profit = 100 x $0.03 = $3.00
  • Scenario B (one fill, unwind at a loss, 35% probability): Loss = 100 x $0.02 = $2.00
  • Scenario C (no fills, 25% probability): Profit = $0.00

Expected P&L = (0.40 x $3.00) - (0.35 x $2.00) + (0.25 x $0.00) = $1.20 - $0.70 = +$0.50 per cycle

That $0.50 per 100-contract cycle is your edge. Scale it across contracts and time periods. Use the PM EV calculator to model the expected value before and after fees for each leg.

The adverse selection problem is the core risk. When someone buys aggressively into your ask, they often know something you do not. News drops, your ask gets lifted instantly, and you are left holding the bid side of a contract that just moved 10 cents against you. Professional market makers model this as a percentage of total fills. If 20% of your fills come from informed flow, your spread needs to be wide enough to compensate for those losses on the other 80%.

Inventory Risk: The Silent Killer

Inventory risk is what happens when your positions accumulate on one side. You intended to be neutral (equal contracts on both sides), but the market moved, one side filled faster, and now you hold directional exposure.

Example. You are quoting a political contract at $0.60 bid / $0.63 ask. A polling release pushes the market to $0.70. Your $0.60 bids filled 500 contracts before you could cancel. Your $0.63 asks did not fill because the price moved up, past your ask. You now hold 500 contracts bought at $0.60 in a market trading at $0.70.

In this case, you got lucky. The price moved in your favor, and you sit on $0.10 per contract of unrealized profit. But the reverse scenario is the dangerous one: the market drops to $0.50, and your 500 contracts bought at $0.60 are underwater by $0.10 each ($50 total loss). That single inventory event wipes out many round-trips of spread revenue.

Managing inventory risk:

MethodHow It WorksTradeoff
Skewed quotesIf you hold too much Yes, lower your bid and ask to attract sellersYou earn less spread but reduce directional exposure
Position limitsCap maximum inventory at N contracts per sideYou miss spread revenue when limits bind
Delta hedgingOffset position in a correlated contract or marketAdds complexity and cross-market execution risk
Time-based flatteningIf inventory exceeds threshold for X minutes, flatten at marketYou eat the spread cost to exit, but limit drawdown

For a deeper look at how correlated positions create compounding risk, read correlated positions.

Maker Fee Advantages: Your Structural Edge

The fee structure on CLOB prediction markets is designed to subsidize market makers. This is not accidental. Platforms need liquidity providers, and they pay for it through asymmetric fees.

On Polymarket, makers pay zero fees. This means every cent of spread you capture is gross profit. Compare this to a taker who pays approximately 1% per trade. On a $0.60 contract, a taker pays about $0.006 per contract in fees. Over hundreds of trades, this compounds into a significant cost difference.

Worked example: maker vs taker P&L comparison.

Scenario: 1,000 round-trip trades on a $0.55 contract with a 3-cent average spread captured.

MakerTaker
Gross spread revenue$30.00 per cycle x 1,000 = $30,000N/A (takers cross the spread, they don't capture it)
Fees paid$0~$0.006 x 2 sides x 1,000 trades x 100 contracts = $1,200
Net edge per tradeFull spreadNegative (paying spread + fees)

The zero-fee maker structure on Polymarket is the reason market making is viable for small participants. Without it, the spreads would need to be much wider to be profitable, which would make the strategy impractical on thin prediction markets.

On Kalshi, maker fees are lower than taker fees but not zero. The exact structure depends on the contract, but the principle holds: limit orders cost less than market orders. For the precise fee impact on any contract, run both sides through the fee calculator. The detailed breakdown is in prediction market fees explained.

Automated vs Manual Market Making

Market making at scale requires automation. Manual quoting (watching the order book and placing orders by hand) works for learning the mechanics, but it does not scale.

Manual market making means you watch one or two contracts, place limit orders on both sides, monitor fills, and adjust prices when the market moves. This is viable if you are quoting 1 to 3 contracts for a few hours per day. The returns are modest, but the learning is valuable.

Automated market making uses scripts or bots that connect to the platform's API, monitor the order book, and place/cancel orders programmatically. Polymarket's CLOB API allows programmatic order placement. Kalshi offers an API for similar functionality.

AspectManualAutomated
Contracts quoted1-310-100+
Reaction time5-30 seconds50-500 milliseconds
Inventory managementDiscretionaryRule-based
Capital efficiencyLow (can't monitor 24/7)High (runs continuously)
Setup costNoneEngineering time + infrastructure

The honest assessment. Automated market making on prediction markets is not a retail gold mine. You are competing against professional firms that run sophisticated systems with faster connections, better models, and more capital. The firms that provide the bulk of liquidity on Polymarket have been doing this across crypto and traditional markets for years. A Python script running on your laptop will not outperform them on liquid contracts.

Where retail automation does work: niche, low-volume contracts that professional firms ignore because the absolute dollar opportunity is too small for their overhead. A contract with $5,000 in daily volume is not worth a professional firm's engineering time. But for an individual running a lightweight bot, capturing $20 to $50 per day in spread on that contract is worthwhile.

When Retail Traders Can Profitably Provide Liquidity

Not every contract is suitable for market making. The sweet spot for retail participants has specific characteristics.

Target contracts with these properties:

  • Moderate volume: $2,000 to $20,000 daily. Enough fills to generate revenue, not enough to attract professional firms.
  • Stable prices: Contracts where the probability is not moving rapidly. Slow-moving political or long-dated contracts work better than live event contracts.
  • Wide spreads: If the existing spread is 3 to 8 cents, there is room for you to tighten it and still earn.
  • Low information asymmetry: Contracts where no single piece of news can move the price 10+ cents instantly. Weather contracts and long-dated economic contracts fit this profile better than breaking-news political markets.

Avoid these:

  • Contracts within 24 hours of resolution (prices move fast, adverse selection spikes)
  • Contracts tied to live events like debates or data releases (spread capture becomes impossible)
  • Highly liquid contracts with 1-cent spreads (no room for profit; you are competing with professionals for pennies)

The pipeline for retail market making:

Retail market making pipeline
Step 1Screen for moderate-volume contracts
Step 2Check spread width (3+ cents)
Step 3Calculate expected P&L per round-trip
Step 4Set inventory limits and quote skew rules
Step 5Monitor fills and flatten before resolution

Capital requirements. To quote both sides of a contract at 200 contracts per side, you need approximately $100 to $150 in capital per contract (depending on contract price). Quoting 5 contracts simultaneously requires $500 to $750. Your annual return depends on turnover, but realistic expectations for manual retail market making are 15% to 40% on deployed capital. Automated systems with higher turnover can push this higher, but the variance also increases.

The math of market making is not glamorous. It is small, consistent profits from volume, not large wins from predictions. If that matches your temperament and you have the time (or technical skills) to execute, it is one of the few strategies in prediction markets where you do not need to be right about what happens. You need to be right about how much to charge for immediacy.

For the complete prediction market strategy framework that includes market making alongside directional and arbitrage approaches, start there and build outward.

Frequently asked questions

Can you make money market making on Polymarket?
Yes. Polymarket charges makers 0% fees, so every cent of spread captured is profit. Realistic returns depend on contract selection and volume, but 15-40% annually on deployed capital is achievable for disciplined retail market makers targeting moderate-volume contracts.
What is the bid-ask spread on prediction markets?
The bid-ask spread is the gap between the highest buy order and the lowest sell order on a contract. On liquid Polymarket contracts, spreads range from 1-3 cents. On thinner contracts, spreads can be 5-10 cents or wider, which creates opportunity for market makers.
Do you need a bot to market make on prediction markets?
Not to start. Manual market making on 1-3 contracts is viable for learning. But scaling beyond a few contracts requires automation through the platform's API. Professional market makers all use automated systems.
What is adverse selection in prediction market trading?
Adverse selection is the risk that traders who hit your orders know something you do not. When informed traders consistently buy your ask or sell into your bid right before a price move, you lose money on those fills. Your spread must be wide enough to offset these losses.
How much capital do you need to market make prediction markets?
A minimum of $500 to quote both sides of 3-5 contracts simultaneously at 200 contracts per side. More capital allows quoting more contracts and larger sizes, but start small to learn the inventory dynamics before scaling.