A plain-English answer from a San Diego automation builder who trades Kalshi daily.
Kalshi runs a CLOB (central limit order book). A limit order is the core tool on it: you submit a price and a size, and the matching engine checks whether your price can cross the spread. Say YES is bid 52¢ / ask 54¢. If you place a buy limit at 54¢ or higher, it crosses and fills immediately against the 54¢ ask — you're a taker. If you place a buy limit at 52¢, it can't cross (nobody's selling that low), so it rests as the new best bid and waits for a seller to hit it — you're a maker. Place a buy limit at 53¢ and you become the best bid inside the spread, still resting. The single rule: fill at your price or better, or wait. You will never accidentally pay 60¢ on a 54¢ ask with a limit order — that's exactly what limit orders protect against, and exactly what a market order does not.
| Limit order | Market order | |
|---|---|---|
| You control | The price (in cents) | The urgency (fill now) |
| Fill guaranteed? | No — only at your price or better | Yes, if there's liquidity |
| Price guaranteed? | Yes — never worse than your limit | No — takes whatever the book offers |
| Risk on thin markets | Sits unfilled / partial fill | Walks the book, ugly average price |
| Maker or taker | Either — takes if it crosses, else rests | Always a taker |
| Best for | Patient entries at a price you like | Fills you can't afford to miss |
The most common confusion: you place a limit order, and nothing happens. That's the order doing its job. A limit order only fills instantly if your price crosses the spread; if it doesn't, it rests and waits for a counterparty to come to your price. If the market never trades at your level, it sits open indefinitely — and if you only got a partial fill, the remainder is still resting. The fix depends on what you want: need it filled now? Raise your buy limit (or lower your sell limit) toward the other side of the book so it crosses, or switch to a market order. Happy to wait for your price? Leave it resting. For the full diagnostic on stuck orders, see Kalshi order not filled; for the post-only nuance, see what "submit as resting order only" means.
These get conflated, but they're not the same. A normal limit order can take liquidity: if your price crosses the spread it fills immediately. "Submit as resting order only" is an extra checkbox layered on top of a limit order that forbids it from ever taking — it must rest as a passive maker order, and Kalshi rejects it outright if it would fill instantly. So every resting-only order is a limit order, but not every limit order is resting-only. Plain limit = "fill me at this price or better, taking or resting." Resting-only = "only rest, never take, even if you have to reject me." Use plain limit when you'll happily take the fill if it's sitting there; use resting-only when you specifically want maker treatment and will wait for it.
I trade Kalshi daily and build trading automation — limit-order managers, fill monitors, post-only order routers, prediction-market data scrapers. If order types are costing you fills or money, text me. Real human, fast answer, no funnel.
Limit-order managers, fill monitors, webhook alerts, portfolio dashboards, or full trading bots — built in North County San Diego. $100/hr, no retainer.
Text 858-461-8054