Order Books
Polymarket and Kalshi order books show how available offers affect the price you pay and whether your order fills.
Buying or selling a prediction market contract means finding another participant who will accept the price. On Polymarket, the displayed price can sit between the available buying and selling offers. An immediate purchase then starts above that displayed price, at the lowest offer to sell.
The quantity attached to each offer matters too. If the cheapest sellers have fewer contracts than you want, completing the purchase requires accepting higher prices or waiting for new offers. A limit order sets the most you will pay, and any amount that cannot trade within that limit remains unfilled. Reading the order book helps you estimate a trade's cost from the offers available and understand why an order is still waiting.
How does an order book work?
An order book lists unfilled offers to buy and sell, showing the quantity available at each price. Polymarket and Kalshi use these offers to match traders buying and selling event contracts. An incoming purchase starts with the lowest available selling price, while an incoming sale starts with the highest buying price.
An immediate purchase in this hypothetical rate-cut market starts with the 120 Yes contracts offered at 49¢, while an immediate sale starts with buyers bidding 47¢ for 200 contracts.
In prediction markets, each contract concerns an outcome, such as a team winning a match or a central bank cutting interest rates. A standard binary contract settles at $1 if its outcome occurs and $0 if it does not. Before settlement, holders can trade their claims on that settlement value at the prices available in the book.
The trade history, sometimes called a trade book, records completed transactions. When part of an offer trades, that quantity leaves the book and the unfilled remainder can stay available. Canceling an offer removes the unfilled quantity without creating a trade.

Participants add unfilled offers to a shared order book, with green slips for buying offers and red slips for selling offers.
A central limit order book, or CLOB, brings buyers' and sellers' orders together in one matching system. An alternative is an automated market maker, or AMM, which quotes prices from a formula that adjusts as people buy and sell.
How do you read a Polymarket or Kalshi order book?
Read an order book by identifying the contract, the buy and sell sides, and the quantity beside each price. In a Polymarket order book, bids are offers to buy and asks are offers to sell. An immediate purchase trades against the asks, while an immediate sale trades against the bids. Kalshi also has layouts with Yes and No columns.
An event listing several possible rate decisions has separate contracts for those outcomes. Offers for a quarter-point cut belong to a different contract from offers for no change, each with its own Yes and No prices.
Bid vs ask prices
In a market asking whether a central bank will cut its policy rate at its next meeting, the Yes contract could have this hypothetical book:
| Side | Price per contract | Contracts available |
|---|---|---|
| Ask | 52¢ | 400 |
| Ask | 50¢ | 180 |
| Ask | 49¢ | 120 |
| Bid | 47¢ | 200 |
| Bid | 46¢ | 300 |
| Bid | 44¢ | 500 |
The best bid is 47¢, the highest price a buyer offers. The best ask is 49¢, the lowest price a seller accepts. These two prices are called the top of the book. Before fees, buying 100 Yes contracts at these unchanged quotes would cost $49, while selling 100 would bring in $47.
Bid and ask size means the number of contracts available at a price. The 120 contracts offered at 49¢ might belong to one seller or several. Once those 120 contracts are bought, the next available sellers in this book ask 50¢. Each completed portion of an order is called a fill, so a larger purchase can have fills at several prices.
Reading a Kalshi order book
Kalshi also has order-book views with separate Yes and No columns. Those columns identify outcomes, and both can contain bids. A bid to buy No at 51¢ corresponds to an offer to sell Yes at 49¢, so the column label and the buying or selling direction both matter. The Yes/No price relationship explains how to read these complementary quotes.
Reading these hypothetical Kalshi offers from the Yes side reverses their price order while keeping the quantities unchanged. The highest No bid, 51¢ for 120 contracts, corresponds to the lowest Yes ask at 49¢ because $1 minus 51¢ is 49¢.
How are Polymarket odds calculated?
Polymarket calculates its displayed odds halfway between the highest buying offer and the lowest selling offer, switching to the last traded price when the gap exceeds 10¢. Traders choose those offers and decide which prices to accept. On Kalshi, participants also post offers that other members accept. That differs from sportsbook pricing, where the operator quotes the odds.
A best bid of 47¢ and best ask of 49¢ have a midpoint of 48¢. For a standard contract that settles at $1 or $0, that price corresponds to an implied probability of 48%, which is what Polymarket would display. The interpretation of prices as probabilities depends on the contract's settlement terms and trading costs.
Polymarket would display 48% for the narrower hypothetical book, using the 48¢ midpoint of its 2¢ spread. The wider book has the same midpoint, but its 14¢ spread exceeds 10¢, so Polymarket would use the last trade at 46¢ and display 46%.
Why does the displayed price differ from the price I pay?
Polymarket shows the midpoint or last traded price, while an immediate purchase starts at the lowest ask. A larger purchase can reach higher asks, and any trading fees add to the amount paid. A hypothetical snapshot could show all four of these prices:
| Price measure | What it means in this example |
|---|---|
| Best bid, 47¢ | The highest standing offer to buy Yes, for up to 200 contracts. |
| Best ask, 49¢ | The lowest standing offer to sell Yes, for up to 120 contracts. |
| Midpoint, 48¢ | Halfway between the best bid and best ask. No order has to exist here. |
| Last trade, 46¢ | The price of the most recent completed transaction, which could precede the current quotes. |
Buying 100 contracts at the 49¢ ask costs $49 for the contracts, compared with the $48 estimate obtained from the displayed 48% probability.
How trades and cancellations change prices
Trades change the best quote when they use up all the quantity offered there. If the best ask has 120 contracts at 49¢, buying 100 leaves 20 available at that price. Buying all 120 instead exposes the next ask at 50¢. With the bid unchanged at 47¢, the midpoint rises from 48¢ to 48.5¢ even though that purchase filled entirely at 49¢.
Quotes can also move without a transaction. Starting again with a 47¢ bid and 49¢ ask, a new 48¢ bid raises the midpoint to 48.5¢. Alternatively, canceling all 47¢ bids and exposing the next bid at 46¢ lowers the midpoint to 47.5¢. Neither change alters the last-traded price.
From the same 47¢ bid and 49¢ ask, either buying all 120 contracts at 49¢ or posting a new 48¢ bid raises the midpoint from 48¢ to 48.5¢. Canceling the 47¢ bids instead lowers it to 47.5¢, so the midpoint can move in either direction without a trade.
What does the Kalshi bid-ask spread mean?
The bid-ask spread is the lowest offer to sell minus the highest offer to buy. It measures the gap between buying immediately and selling immediately at the current quotes.
When Kalshi shows bids in both its Yes and No columns, the best Yes ask is $1 minus the best No bid. A 51¢ No bid implies a 49¢ Yes ask. With a 47¢ Yes bid, the Yes spread is 2¢.
Buying 100 contracts at 49¢ and immediately selling at an unchanged 47¢ bid means spending $49 and receiving $47. That $2 difference is the cost of crossing the spread, with any exchange fees charged separately. A wider gap makes the same round trip more expensive. With a 44¢ bid and 50¢ ask, the difference would be $6 for 100 contracts. A limit order lets you offer a price between those quotes and wait for someone to accept it.
For 100 contracts bought at the ask and sold immediately at an unchanged bid, a 2¢ spread costs $2 and a 6¢ spread costs $6 before fees.
Spreads can be wide when few participants are quoting, or when those posting offers want more compensation for holding positions and trading against better-informed participants. These are risks market makers take. Robinhood's event-contract explainer also notes that spreads can widen as an event approaches resolution.
A 2¢ spread takes a larger share of a low-priced purchase. Buying at 6¢ and selling at 4¢ loses one-third of the purchase price, compared with about 4.1% for buying at 49¢ and selling at 47¢.
Each bar represents the full purchase price, so the red portion measures the share lost to the spread. The 2¢ loss is 33.3% of the 6¢ purchase sold at 4¢, compared with about 4.1% of the 49¢ purchase sold at 47¢.
A narrow spread can coexist with very little quantity. With a 1¢ gap but only five contracts at the best ask, a 500-contract purchase needs another 495 contracts at higher prices to fill completely.
In a sports market, a point spread is a handicap used to define the outcome. The bid-ask spread measures the gap between trading prices, even when the contract itself concerns a point spread.
Market order vs limit order: what's the difference?
A market order prioritizes immediate execution at the best available prices. A limit order sets the highest price you will pay to buy, or the lowest price you will accept to sell. As the SEC's Trading Basics bulletin explains for stock orders, a market order's execution price can change before it fills, while a limit order can remain partly or entirely unfilled.
| Question | Market order | Limit order |
|---|---|---|
| What price can it get? | The best available prices when it executes. The quoted price is not guaranteed. | The limit price or better, for every fill. |
| Can it fill immediately? | It generally fills immediately if matching offers are available. | Yes, if compatible offers are available. |
| Can one order fill at several prices? | Yes. | Yes, provided every fill respects the limit. |
| What happens to an unfilled amount? | On Polymarket, the unfilled amount is canceled. | A good-till-canceled order leaves it waiting. A fill-and-kill order cancels it. |
A market buy order starts with the lowest ask, then reaches higher asks if the order needs more contracts. On Kalshi, a Quick Order is a market order and can span several prices. Polymarket implements all orders as limit orders, including those called market orders. Its market order attempts an immediate trade within a price bound and cancels any amount that cannot fill.
A buyer who caps a 100-contract order at 50¢ can still pay 49¢ for all 100 if that quantity is available there. Polymarket gives the incoming order price improvement when the standing offer is better than its limit. A larger limit buy can fill at several prices, up to its ceiling.
That 50¢ buy limit is a marketable limit order because it can accept the existing 49¢ ask immediately. A buy limit at 48¢ would instead wait for a seller willing to accept less, if its instructions allow it to rest. A sell limit works in reverse, matching bids at or above the minimum acceptable price.
A hypothetical 100-contract buy capped at 50¢ fills at 49¢, using 100 of the 120 contracts offered there. Setting the limit at 48¢ instead leaves all 100 unfilled, waiting as the book's highest buying offer.
Does a limit order become a market order?
A limit order keeps its price restriction for as long as it is active. A buy order capped at 50¢ can fill when sellers accept 50¢ or less.
What is a Kalshi resting order?
A resting order is an unfilled offer waiting in the order book for someone to match it. A Kalshi limit order can rest in full or leave a resting remainder after a partial fill.
The limit sets the price restriction, while resting describes the order's current state. With a best bid of 47¢ and best ask of 49¢, a new 48¢ bid gives sellers a better price. The buyer acquires contracts only when someone sells into that bid.
An order's time in force specifies how long it stays active and what happens to any amount that cannot fill immediately. Polymarket documents these four instructions in its order lifecycle:
| Instruction | Meaning |
|---|---|
| Good till canceled, GTC | Leave the unfilled amount available until it fills or is canceled. |
| Good till date, GTD | Give the order an expiration time. |
| Fill and kill, FAK | Fill the amount available immediately and cancel the remainder. |
| Fill or kill, FOK | Fill the entire amount immediately or cancel the whole order. |
Consider a 150-contract buy capped at 49¢ when only 120 contracts are offered at that price and the remaining asks are higher. A GTC order buys the 120 and leaves a bid for 30 waiting at 49¢. FAK buys the same 120 and cancels the remaining 30. FOK cancels the whole order because all 150 cannot fill immediately within the limit.
For a hypothetical 150-contract buy capped at 49¢, good till canceled buys the 120 available and leaves a bid for 30, while fill and kill buys the same 120 and cancels the rest. Fill or kill requires all 150 to fill immediately, so it cancels the entire order.
An order submitted as “resting order only” on Kalshi can join the book for a later fill but cannot accept an existing offer immediately. This post-only restriction differs from an ordinary limit order, which can trade on arrival and leave an unfilled remainder waiting.
Polymarket rejects a post-only order that would match immediately. Against a 49¢ ask, a post-only buy at 50¢ would be rejected, while an ordinary limit buy at that price could trade.
Why is my limit order not filling?
A limit order fills when an opposing order accepts its price and enough quantity reaches it. A price reaching your limit on a chart can still leave the order unfilled because the chart may show a midpoint or a trade that filled someone else's order.
Several different situations can leave an order without a fill:
- The displayed price has no matching offer. With a 47¢ bid and 49¢ ask, the midpoint is 48¢. A buy limit at 48¢ still needs a seller willing to accept that price.
- Other orders have priority. A trade at your price may fill offers ahead of yours and leave your order waiting.
- The order was canceled or expired. An order removed after an immediate attempt or at its expiration is no longer waiting. Its timing instructions determine how long it stays active.
- The order was rejected. A rejected Polymarket limit order never enters the book, so it cannot receive a fill.
- Matching is delayed. Some Polymarket markets hold accepted orders before matching. During that delay, an order can be pending with no fills.
Polymarket's cancellation rules remove the unfilled remainder of a partly filled order and preserve completed fills. If 50 of your requested 100 contracts have filled, canceling the rest leaves you holding those 50. Selling those contracts to close the position is a separate transaction at the prices then available.
How queue priority affects partial fills
Under Kalshi's price-time priority, better prices trade first, followed by earlier orders at the same price. If 200 contracts are already bid at 47¢ when you add a new bid for 100 at the same price, an incoming sale of 250 contracts fills the earlier 200, then 50 of yours. The trade history shows transactions at 47¢, while half your order is still waiting. A new 48¢ bid from another trader would take priority over your remaining 47¢ bid despite arriving later.
At 47¢, bids for 200 contracts are ahead of your later bid for 100. A sale of 250 reaches only half your order, leaving 50 contracts unfilled even though a trade has occurred at your price.
What is slippage on Polymarket and Kalshi?
Slippage is the difference between the price used to estimate a trade and the price you actually trade at. A purchase can cost more because the order uses up the cheapest offers, because other orders trade first, or because quotes change before it matches. For a sale, the same mechanisms can reduce the amount received.
Why do large market orders cause slippage?
Filling a large market buy uses higher-priced offers once the cheapest offers are exhausted. In a hypothetical rate-cut market, sellers offer 120 contracts at 49¢, another 180 at 50¢, and 400 at 52¢. The calculations below exclude fees and measure slippage against the initial 49¢ ask. Each row starts with those same available quantities.
| Contracts bought | Total cost | Average fill | Slippage per contract |
|---|---|---|---|
| 100 | $49.00 | 49¢ | 0¢ |
| 200 | $98.80 | 49.4¢ | 0.4¢ |
| 300 | $148.80 | 49.6¢ | 0.6¢ |
| 500 | $252.80 | 50.56¢ | 1.56¢ |
To calculate the average fill, multiply the quantity bought at each price by that price, add the costs, and divide by the number of contracts filled. The 500-contract purchase takes 120 at 49¢, 180 at 50¢, and 200 at 52¢. Those portions cost $58.80, $90, and $104. Dividing their $252.80 total by 500 gives 50.56¢, or 1.56¢ above the initial ask.
Filling this hypothetical order for 500 contracts uses all 120 offered at 49¢, all 180 at 50¢, and another 200 at 52¢. The resulting $252.80 cost before fees averages 50.56¢ per contract, putting the average fill 1.56¢ above the starting 49¢ ask.
The reference price matters. The 300-contract purchase costs $1.80 more than an estimate using the 49¢ ask. If the best bid is 47¢, the midpoint between it and the 49¢ ask is 48¢. Measured against that midpoint, the difference is $4.80, which includes the cent between the midpoint and the initial buying price as well as the extra cost of reaching higher asks.
For an order sized in dollars, higher prices reduce the quantity acquired. A $100 budget would buy 204 whole contracts if all were available at 49¢. With the offers in this example, it covers 202 whole contracts for $99.80. Buying exactly 200 contracts costs $98.80.
Your own order moving the available price is called price impact. Quotes moving before your order arrives are another source of slippage. On Polymarket, an estimate uses a snapshot of the book, so the available price can change before submission.
Slippage tolerance and price limits
Slippage tolerance sets how much price movement an order will accept. Polymarket's order documentation expresses that protection as a maximum buy price or minimum sell price. A 50¢ buy ceiling applies to every fill. With partial fills allowed, the order can buy at 49¢ and 50¢, leaving any quantity that needs the 52¢ offers unfilled.
A percentage tolerance expresses the bound relative to a reference price. A 5% allowance above 49¢ gives a 51.45¢ ceiling. If the best ask moves to 50¢ before the order arrives, it can still fill there. If the lowest seller instead asks 52¢, the price bound prevents the purchase.
How can you tell if a prediction market has enough liquidity?
Prediction market liquidity is the ability to buy or sell contracts without moving the trading price much. A book has enough visible liquidity for a particular trade when the offers on the relevant side cover the full intended quantity within the prices you will accept.
How to read market depth
Market depth is the quantity offered across price levels. For a purchase, add the selling offers, or asks, up to your maximum acceptable price. For a sale, add the buying offers, or bids, down to your minimum.
If buyers bid for 200 contracts at 47¢ and another 300 at 46¢, selling 300 fills the first 200 at 47¢ and the next 100 at 46¢. The seller receives $140 before fees, averaging about 46.67¢.
A depth chart plots price against cumulative quantity. An ask-side chart might show 120 contracts available through 49¢, 300 through 50¢, and 700 through 52¢. A buyer needing 500 contracts must reach the 52¢ offers to fill the whole order. A large step marks a concentration of offers at one price, while a flat interval means there are no additional offers between those prices. Depth changes as orders fill or are withdrawn.
There are 120 contracts for sale at 49¢ or less and 300 at 50¢ or less in this hypothetical book. No further offers appear until 52¢, where the total reaches 700, so filling a 500-contract purchase requires paying 52¢ for part of it.
Trading volume, shown when comparing market activity in the screener, counts past transactions over a period. Even a heavily traded market can have too few contracts offered within your price limit to fill your order.
What does maker vs taker mean on Kalshi and Polymarket?
On Kalshi and Polymarket, a maker posts an order that waits in the book and is later matched. A taker accepts an offer already waiting there.
If you leave a bid at 47¢ and someone sells into it, you receive a maker fill. If you buy the standing 49¢ ask, you receive a taker fill. The same trader can do both.
One order can also have both roles over its lifetime. With buyers bidding for 200 contracts at 47¢ and no higher bids, a 300-contract sell limit at 47¢ trades the first 200 immediately as a taker. If its instructions allow it to rest, the remaining 100 wait as an ask at 47¢. A later purchase against that ask gives the seller a maker fill.
A hypothetical 300-contract sell order at a 47¢ limit trades 200 immediately against waiting bids, making the seller a taker for that fill. The other 100 remain as an ask until a buyer accepts it, giving the same seller a maker fill.
Trading fees and maker rebates
Kalshi fees apply to orders that immediately accept available offers and, in some markets, to orders that rest before filling. A resting order incurs a maker fee only when it executes, and canceling it carries no fee.
Polymarket fees apply to takers in fee-enabled markets, while makers pay no trading fee. Those fees help fund maker rebates. For a purchase held to settlement, trading fees raise the probability needed to break even.
Who is on the other side of a prediction market trade?
Your order matches another participant's offer. On Kalshi, the other party is another member of the platform. Polymarket describes its trades as peer-to-peer and says it is “not the house.”
Participants in this exchange model have different reasons for accepting a price. Kalshi's categories include directional traders acting on forecasts, hedgers using contracts to offset risks elsewhere, and market makers maintaining buying and selling offers. Someone selling a rate-cut contract might still expect the cut but want to reduce a large holding. A buyer might be protecting another investment from a rate change.
Once Kalshi Klear accepts a trade for clearing, it becomes the buyer to the selling member and the seller to the buying member. Each member's contract is then with the clearinghouse. Polymarket settles matched trades on the blockchain, transferring funds and the tokens representing each outcome between trading accounts.
For a trade accepted by Kalshi Klear, both Kalshi members hold their contracts with the clearinghouse. A Polymarket purchase of existing Yes tokens transfers those tokens to the buyer and funds to the seller on the blockchain.
Who are Kalshi market makers?
Kalshi's participant guide includes individuals and institutions among its market makers. In April 2024, Kalshi announced that Susquehanna International Group had joined as a major institutional market maker with a dedicated prediction-market trading division.
How do market makers make money?
Market makers repeatedly offer to buy and sell, seeking to earn the difference between their purchase and sale prices. Polymarket market makers can also earn rebates when eligible orders fill and liquidity rewards while qualifying offers rest in the book.
Those offers can improve another trader's price or increase the quantity available. With a 47¢ best bid and 49¢ best ask, a maker adding a 48¢ ask gives buyers a cheaper offer. Adding quantity at the existing 49¢ ask instead lets a larger purchase fill there before reaching higher prices.
A maker who buys 100 Yes contracts at 47¢ and later sells them at 49¢ earns $2 on the completed pair of trades, before costs. If only the bid fills, the maker holds contracts whose value can fall while the selling offer waits.
Why quotes change or disappear
Market makers change or withdraw quotes to limit losses on the contracts they hold and avoid trading at outdated prices against better-informed participants. Polymarket's market-making guidance describes adjusting offers as holdings and price estimates change.
Inventory risk is the chance that contracts lose value while a maker holds them. If 100 contracts bought for $47 are later sold at 35¢, the maker receives $35 and loses $12 on the price change. That loss would offset the spread earned on six successful 100-contract round trips at 47¢ and 49¢.
Six hypothetical round trips earn $2 each, or $12 before costs, by buying 100 contracts at 47¢ and selling them at 49¢. Selling another 100 contracts at 35¢ after buying them at 47¢ loses the same $12, leaving the combined result at $0.
A maker managing a growing Yes position might bid for fewer contracts or lower their bid, while making their selling offer more attractive. Those changes can reduce the position even if their estimate of the outcome's probability stays the same. Canceling a quote removes that quantity from the offers available to other traders.
Trading against someone with better or more recent information creates adverse selection. In a football market where a team's starting goalkeeper is unexpectedly ruled out, a maker may still be bidding at the old price for the team to win. Someone who has already read the announcement can sell into that bid before the maker adjusts it.
An ordinary resting buy order carries the same news risk. After a team announcement or economic release changes the outlook, the bid remains available at its original price until it fills, expires, or is successfully withdrawn.

A participant responds to news by withdrawing an unfilled offer to buy, leaving fewer offers for sellers to accept.
Do makers or takers earn more on Kalshi?
Jonathan Becker's analysis of 72.1 million Kalshi trades from June 2021 through November 2025 reported an average return per trade before fees of +1.12% for makers and −1.12% for takers. The measure compares each purchase price with the contract's eventual settlement value and expresses the gain or loss relative to that purchase price. The public records group trades by execution role and contain no trader identities, so the figures describe maker and taker trades rather than individual accounts or firms.
Why don't Yes and No prices add up to $1?
Buying Yes and No immediately can cost more than $1 because each purchase uses an ask, the price offered by a seller. In Kalshi's order book, a bid to buy Yes at a given price is equivalent to an ask to sell No at $1 minus that price.
With a Yes bid of 47¢ and a Yes ask of 49¢, the corresponding No quotes are:
| Quote | Yes | No |
|---|---|---|
| Best bid | 47¢ | 51¢ |
| Best ask | 49¢ | 53¢ |
| Midpoint | 48¢ | 52¢ |
The midpoints sum to $1. Before fees, buying one contract of each at the asks costs $1.02, while selling one of each at the bids brings in 98¢. For a binary contract that resolves to Yes or No, the pair's settlement value is $1.
The quantities mirror each other too. An offer to sell 120 Yes at 49¢ and a bid for 120 No at 51¢ are two views of the same available quantity.
Matching can also create new contracts. Polymarket's price documentation describes matching a Yes buyer and a No buyer whose prices total $1, using their combined collateral to create the pair. A later transaction can transfer an existing event-contract position between traders.
How do spreads affect prediction market arbitrage?
An immediate arbitrage purchase uses each market's asks, with fees added to the total. If the best offer cannot fill the required quantity, part of the purchase reaches higher asks. The combined cost shown in the scanner uses displayed prices that exclude bid/ask spreads and venue fees.
Suppose two complementary positions have displayed prices totaling 97¢, while the actual asks total $1.01. Buying at those asks would cost more than their combined $1 settlement value before fees.
The hypothetical pair's displayed cost is $0.97 for Kalshi Yes and Polymarket No. At their 47¢ and 54¢ asks, buying the pair costs $1.01 before fees, above its $1 settlement value when both markets resolve alike.
If only one purchase fills, that contract can gain or lose value while the trader completes the pair or sells it again. Contracts on different venues also retain their own resolution rules. Similar titles can settle on different conditions, which changes whether the combined position pays $1 across all outcomes.