All guides/Trading Craft Updated July 2026

Market Making Explained: Spread Capture & Inventory Risk

A market maker quoting a Polymarket contract at $0.48 bid / $0.52 ask isn't betting the outcome resolves YES. They're betting they can buy at 48 cents and sell at 52 cents often enough, before the book moves against them, that the 4-cent spread pays for the risk of holding a position in between. That's market making explained in one trade: post both sides of the book, collect the difference, and manage what happens when only one side fills. It's a different game from directional trading, and prediction markets — with contracts bounded $0.00 to $1.00 and a hard resolution date — add wrinkles that don't exist in equities or crypto spot.

What market making actually is

A market maker's job is supplying liquidity, not forecasting outcomes. On Polymarket, that means resting limit orders on a Central Limit Order Book (CLOB) — a hybrid system that matches orders off-chain and settles ownership on-chain through the Conditional Token Framework, an ERC-1155 standard on Polygon. On Kalshi, a CFTC-regulated Designated Contract Market, the mechanics are similar but the book only displays bids: a YES bid at $0.55 is mathematically the same offer as a NO ask at $0.45, since YES and NO always sum to $1.

In both venues, a share that resolves correctly redeems for $1; a share that resolves wrong redeems for $0. The maker isn't trying to guess which happens. They're trying to buy below where the crowd's fair value sits and sell above it, over and over, on volume large enough that the accumulated spread outweighs the occasional bad fill.

The spread is the product

Say a market's fair value — the crowd's actual probability estimate — sits around $0.50. A maker quotes $0.48 / $0.52. Every round trip where the bid gets bought and the ask gets sold nets 4 cents per share before fees, independent of which way the underlying event eventually breaks. Widen the spread and each round trip pays more, but fewer traders cross it — you get picked off less often but trade less often too. Tighten it and you trade more, but a smaller edge has to absorb the same inventory and adverse-selection risk. Finding that balance, market by market, is most of the job described in our full Polymarket market-making guide.

Fees change the math directly. Polymarket's 2026 category taker fees are charged only to the side that removes liquidity — makers are never charged a taker fee, and collect 25% of the taker fees generated on a market (20% on crypto markets) back as a daily rebate. That rebate pool is separate from the liquidity rewards program covered in our breakdown of Polymarket's per-minute reward scoring, which pays makers directly for resting orders scored on midpoint closeness and spread tightness. A maker can be earning three ways on the same resting order: the spread itself, the taker-fee rebate, and the liquidity reward — before a single directional bet enters the picture.

Quoting both sides: bid, ask, and the midpoint

A one-sided quote — a bid with no matching ask, or vice versa — isn't market making, it's a resting limit order with no offsetting position. Real market making means managing a live pair: a bid below fair value and an ask above it, both sized, both re-quoted as the midpoint drifts. On Polymarket that midpoint moves with every trade that touches the book; on Kalshi it moves with every accepted order, since the visible book is bids-only and reflects both YES and NO interest through that $1-complement relationship.

The craft is in re-quoting fast enough to track a moving midpoint without re-quoting so often you're paying to cross your own spread. This is where reading the tape matters — see our guide to order-flow trading for how aggressive vs. passive fills and cumulative volume delta tell you whether the midpoint is drifting or about to jump.

Inventory risk: what happens when only one side fills

The failure mode every market maker eventually hits: your bid gets lifted, your ask doesn't, and you're now holding a directional position you didn't choose. That's inventory risk. In equities this resolves in seconds; in a prediction market it can mean carrying exposure for days, because the position doesn't close until either you trade out of it or the market resolves.

Resolution timing compounds this. Polymarket markets settle through the UMA Optimistic Oracle: an uncontested proposal settles in hours, but a disputed one escalates to a token-holder vote that takes 4–7 days. A maker sitting on unbalanced inventory into a contested resolution window is exposed to that entire delay, not just to the news that might move the price. Sizing inventory limits and having a hard cutoff for re-hedging — rather than hoping the other side fills eventually — is the difference between a manageable position and an unmanaged bet.

Adverse selection: the fill you should worry about

Not all fills are equal. A fill that happens because a slow retail order finally crossed your spread is good news — you captured edge from someone with no informational advantage. A fill that happens two seconds before a news wire moves the market 15 cents is adverse selection: someone (or something) faster than you saw a reason to trade, and your resting quote was the easiest liquidity to hit on the way out. The tighter and more visible your quote, the more attractive a target it is for that kind of flow.

There's no way to eliminate adverse selection entirely — it's the cost of always being available to trade. Widening quotes around known catalysts (debate nights, economic data releases, injury reports on sports contracts), reducing size going into thin liquidity, and tracking whether your fills are systematically happening right before adverse moves are the practical mitigations. This is a large part of what separates a maker who survives a volatile week from one who doesn't.

Polymarket vs. Kalshi: what changes for a maker

DimensionPolymarketKalshi
Order bookCLOB, off-chain match / on-chain settle via CTF (ERC-1155)CLOB, bids-only representation (YES bid = NO ask complement)
SettlementUSDC / pUSD on PolygonUSD via bank / clearinghouse (Kalshi Klear LLC)
ResolutionUMA optimistic oracle — hours if uncontested, 4–7 days if disputedKalshi-sourced/internal resolution
Maker feesZero; makers earn a rebate (25% of taker fees, 20% crypto)Maker fee = 25% of the taker fee (nonzero)
Taker fee shapeCategory-based, symmetric around 50%, max $0.75–$1.80 per 100 shares (2026)round_up(7¢ × contracts × P × (1−P)), max $1.75 per 100 at 50¢

The practical upshot: Polymarket's zero maker fee plus rebate plus liquidity-reward stack makes pure market making structurally cheaper there, while Kalshi's federally regulated clearing and dollar settlement remove crypto-specific friction (bridging costs, wallet management) that Polymarket makers have to account for. Neither venue's fee schedule is fixed — always check docs.polymarket.com/trading/fees and kalshi.com/fee-schedule before sizing a strategy around current numbers.

Testing the edge before you run it live

None of this — spread sizing, inventory limits, adverse-selection triggers — should be tuned live with real capital as the test bed. Running the same quoting logic against historical order-book data first, with fees applied and resolution timing respected, is how you find out whether a spread width actually clears its costs before it clears your account. Our guide to backtesting prediction-market strategies covers the specific traps — lookahead bias, overfitting to one market's noise — that make naive backtests overstate a maker's edge. The same fee-adjusted math that governs whether a directional trade clears breakeven, covered in expected value trading, applies to quoting decisions too: a spread that doesn't clear the fee and adverse-selection cost isn't worth posting. Position sizing across markets, meanwhile, is its own discipline; see bankroll management for event trading for how much of a book to risk on any single contract.

Quote both sides without babysitting the book

PolyMarketMaker's automated quoter posts and manages two-sided resting orders across Polymarket and Kalshi, with a kill switch, dead-man switch, and drawdown auto-disarm so inventory risk doesn't turn into an unmonitored loss. PolyMarketMaker pairs the quoting engine with the same order-book ladder and depth view you're pricing off. Simulation $149/mo, Live Trading $299/mo.

FAQ

What is market making in prediction markets?

Posting resting bid and ask orders on both sides of a YES/NO contract so the book has depth, then profiting from the gap between the two prices when both sides fill, rather than betting directionally on the outcome.

How do market makers profit if they don't know the outcome?

They capture the bid-ask spread across many small trades instead of predicting the resolution. Buying at the bid and selling at the ask repeatedly earns the spread regardless of which way the contract eventually settles, as long as inventory stays balanced.

What is inventory risk in prediction-market making?

The risk of holding a one-sided position after only one of your two quotes fills. If your bid gets hit but your ask doesn't, you're carrying YES exposure into a contract that resolves days later, exposed to news and to the resolution process itself.

Do Polymarket market makers pay trading fees?

No. Polymarket's 2026 category taker fees apply only to takers — makers are never charged, and makers also collect a share of a daily rebate pool funded by those taker fees.

What's the difference between market making on Polymarket and Kalshi?

Polymarket runs a hybrid off-chain CLOB with on-chain settlement via the Conditional Token Framework and pays makers rebates. Kalshi's order book displays bids only, so a YES bid at X is shown as a NO ask at $1 minus X, and Kalshi's maker fee is 25% of its taker fee rather than zero.

This article is for educational purposes only and is not financial advice. Trading involves risk of loss.