Daily brief

Guides · Last verified 2026-11-09

Liquidity and spreads: why the price you see isn't your fill

The price shown on a market card is usually not the price you pay. To buy, you pay the ask. To sell, you get the bid. A large order walks up the book and pays several prices. In the example below, a market displayed at 51¢ costs 55.2¢ per contract all-in for an 800-contract order.

Bid, ask and the displayed price

Every market has an order book:

Polymarket's documentation explains its displayed price this way: "The displayed price is the midpoint of the bid-ask spread." If the spread is wider than $0.10, it shows the last traded price instead. Its example: with a 34¢ bid and a 40¢ ask, the card shows 37¢, but you pay 40¢ to buy and get 34¢ to sell. That rule describes Polymarket.com. Check how any app labels its numbers before you rely on them.

Kalshi's book shows only bids

Kalshi's API returns only bids, because a Yes bid at X is the same as a No ask at $1.00 minus X. To find the Yes ask, subtract the highest No bid from $1.00. In Kalshi's own example, the best No bid is 56¢, so the Yes ask is 44¢. With a best Yes bid of 42¢, the spread is 2¢.

Worked example: walking the book

A market shows a best Yes bid of 50¢ and these asks:

Ask priceContracts available
52¢200
53¢300
55¢500
60¢1,000

The midpoint is 51¢. You send a market order for 800 Yes contracts on Kalshi.

FillCostKalshi taker fee (0.07 × C × P × (1 − P))
200 at 52¢$104.00$3.49
300 at 53¢$159.00$5.23
300 at 55¢$165.00$5.20
Total 800$428.00$13.92

Your average price is 53.5¢ before fees and 55.2¢ after fees. The contract only makes sense if you think Yes is more likely than about 55%, not the 51% the card showed.

The 4.2¢ gap between display and fill comes from three places: half the spread (1¢), walking the book (1.5¢) and the taker fee (1.7¢). In this example the fee is the largest part, but in a thinner book the walk can easily be larger.

Selling works the same way in reverse. If you later sell 800 at market, you hit the 50¢ bid first and then whatever bids sit below it.

Slippage

Kalshi's help center warns that in fast markets "the price you receive on a market order may differ from the price you saw when placing it." That is slippage. It shows up most around news, game events and data releases, exactly when people most want to trade.

How to use limit orders

A limit order says "buy up to N contracts at no more than X." Kalshi's help center describes a limit order as one that "rests in the order book at the price you specify" and fills only if the market reaches your price.

Practical habits:

  1. Check depth first. Look at how many contracts sit at the best ask before choosing size.
  2. Set your limit at your real maximum. If your view is worth 53¢, a limit at 53¢ protects you from the 55¢ and 60¢ levels.
  3. Consider resting inside the spread. A bid at 51¢ might be filled by a seller later. On Kalshi, resting orders that fill pay the maker fee, which is zero in most series.
  4. Accept that it may not fill. That is the trade-off. A limit order caps your price, not your outcome.
  5. Cancel before closing. Kalshi says you can't close a position while a resting limit order on it is open.

Why thin markets show misleading prices

In a market with little trading, the number on the card can be stale or meaningless:

Before trusting a price, look at the spread and the size behind it. A wide spread with a few contracts behind it is closer to a guess than a forecast.

This also matters when comparing venues. A 3¢ difference between Kalshi and Polymarket US on the card may vanish once you compare asks and depth. Our live comparison shows prices on markets listed on both, and our price-gap data shows how often the gaps are real. The arbitrage guide shows how quickly fees and spreads eat a gap.

Prediction market contracts can lose their full purchase price. For fee details, see Kalshi fees and Polymarket fees.

FAQ

Why did I pay more than the price shown on a prediction market?

The card often shows a midpoint or last trade, but buyers pay the ask. Large orders also fill at several price levels, and taker fees come on top.

What is the spread on Kalshi?

It is the gap between the best Yes bid and the Yes ask. Kalshi's API shows only bids, so the Yes ask equals $1.00 minus the best No bid.

Should I use a market order or a limit order on Kalshi?

A limit order caps the price you pay and, if it rests and fills, pays the maker fee, which is zero in most Kalshi series. A market order fills immediately but can slip and pays the taker fee.

How does Polymarket calculate the displayed price?

Polymarket's docs say the displayed price is the bid-ask midpoint, or the last traded price if the spread is wider than 10¢. You still pay the ask to buy.

Information only, not investment or legal advice. Event contracts can lose value; trade only where permitted.

Sources

More guides