Foundations · Lesson 2 of 8 · 16 min read
Limit vs market orders
Every order type on every exchange is a variation on one trade-off. This lesson works both sides of it through the same 2.00 BTC order, against the same book you costed in lesson one.
- Assumes you have read
- How an order book works
- After this you can
- Choose between price certainty and execution certainty for a given size, and know which one you just chose.
The short version
- A market order names a quantity and accepts any price. A limit order names a price and accepts any fill, including none.
- A limit order is a market order with a ceiling. Price it through the book and it produces the identical fills at the identical prices — the ceiling only costs you when the book was never going to fill under it.
- A resting limit buy locks your limit price times your whole quantity the moment you place it, not when it fills. That money leaves your available balance and sits in locked until the order fills or is cancelled.
- Neither type is "safer". A market order risks the price; a limit order risks not being in the trade at all, which is the same exposure you were trying to change.
One trade-off, two names
You can fix the price or you can fix the fill. You cannot fix both, and no venue anywhere offers an order type that does — because the thing you are asking for does not exist. A price you insist on is a price the market may never reach. A fill you insist on is a fill at whatever prices happen to be there.
Everything else — stops, brackets, iceberg orders, the whole taxonomy — is one of these two with a condition bolted on the front. Learn the pair properly and the rest is vocabulary.
A market order is a promise about quantity. A limit order is a promise about price. Whichever one you did not name is the one the market gets to decide.
Lesson one left you with a book: four ask levels holding 0.40, 0.60, 1.20 and 2.10 BTC at 64,301.2, 64,310.0, 64,320.0 and 64,335.5, against a best bid of 64,295.1. Every number below comes out of that same book, so you can check the arithmetic rather than trust it. If any of that is unfamiliar, read how an order book works first — this lesson assumes the ladder.
Market: the fill is the promise
A market order names only a side and a quantity: buy 2.00 BTC now. It crosses the spread and takes resting orders from the best price outward until the quantity is done or the book runs out. There is no price in the instruction, so there is no price it can refuse.
The gap between the 64,301.2 you saw quoted and the 64,313.24 you paid is slippage, and the word is misleading: nothing slipped. The order was simply larger than the best level, and the arithmetic of walking a book has exactly one answer. The same order into a book with 5 BTC resting at the top would have filled entirely at 64,301.2 and cost nothing extra.
Our engine fills market orders this way — walking the venue’s live book level by level — rather than filling everything at the top of book. An engine that took the shortcut would be teaching you something false about the size you can trade, and the falsehood would be flattering, which is the worst kind.
Two things a market order does not do. It does not rest: whatever the book cannot fill is not held for later, it expires, and the order’s final state says expired with a non-zero filled quantity rather than pretending to be complete. And it is not accepted at all when the book has nothing to fill against — the ticket returns No liquidity available at that price right now instead of creating an order that could never trade.
Limit: the price is the promise
A limit order names a price as well: buy up to 2.00 BTC at 64,301.2 or better. The engine walks the book exactly as before, with one extra rule at every level — if this level’s price is on the wrong side of your limit, stop. Not skip: stop. The book is sorted, so once one level is too expensive every level after it is too expensive as well.
That single break is the whole difference between the two order types. Everything else — resting, partial fills, the money that gets locked — follows from it.
What a limit order gives up is certainty of execution. The market can trade near your price all day and never quite reach it. It can reach it and fill someone else. It can fill part of your quantity and leave the rest resting, which is not a failure and not a bug — the book simply ran out of counterparties on your side of the line.
The same order, sent three ways
One instruction — buy 2.00 BTC — into one book, three ways. The point of putting them next to each other is that rows one and three are the same trade.
What each order locks, the instant you send it
Reservation happens at placement, not at fill, and it has to. If two orders each checked your balance and neither reserved anything, both would pass their own check against the same funds and both would rest — and whichever filled second would overdraw an account that looked solvent to both of them.
Swipe horizontally to compare all columns.
| Order | Locked at placement | Why that amount |
|---|---|---|
| Limit buy that rests | limit × quantity, in USDT | The most it can ever cost. A limit buy never fills above its price, so nothing larger could be needed. |
| Limit sell that rests | quantity, in BTC | You are offering coins, not currency. The price does not change how many. |
| Market order | nothing | It never rests, so there is nothing to reserve. It spends directly out of available in the same transaction that creates it. |
| The fee | not reserved | It is charged in the asset you receive — base on a buy, quote on a sell — so it comes out of what arrives rather than out of what was locked. |
The mirror case is a limit sell. It locks the base quantity one for one, so there is never an excess to release — 1.60 BTC offered is 1.60 BTC consumed, whatever price it goes at.
The rules your order has to satisfy
Before either type reaches the book it has to be a legal order on this market. The venue publishes three constraints per instrument, and our ticket validates against the same three using the same function the engine does — so the ticket cannot accept an order the engine would then reject.
The rounding directions are not symmetric, and the asymmetry is deliberate. Fill quantities round down to the venue’s lot precision, because taking more than a level holds would be inventing liquidity that does not exist. Fees round up, because a fee rounded down is the exchange paying the remainder on every single trade — a real number at volume, and one that never appears in any report because each individual shortfall looks like a rounding error.
A market order has no price of its own, so its minimum-notional check is priced against the last trade. That is why the ticket’s Order value row reads ≈ on the Market tab and an exact figure on the Limit tab. The tilde is not decoration — it is the ticket declining to state a number it does not have yet.
How long an order lives
A resting order needs a rule for when to give up. Three exist across the industry, and this product exposes exactly the ones its engine genuinely implements — which is fewer than you will see on the futures venue, and the difference is worth knowing before you go looking for a control that is not there.
Swipe horizontally to compare all columns.
| Setting | What it does with the unfilled part | On our spot ticket | On our futures ticket |
|---|---|---|---|
| GTC | Rests on the book until it fills or you cancel it. | Every limit order, always | Selectable, and the default |
| IOC | Fills whatever is immediately available; the remainder expires. | Every market order, always | Selectable on limit orders |
| FOK | Fills in full at once or expires having done nothing at all. | Not offered | Selectable on limit orders |
The spot ticket has no time-in-force control, and that is an honest omission rather than a missing feature: on spot every market order is immediate-or-cancel and every limit order is good-till-cancelled, so a dropdown offering a choice that does not exist would be a decoration. The futures ticket shows the control because the futures engine really does support all three on a limit order.
One more state that is neither. A stop-limit order does not reach the book at all until its trigger fires — it is a limit order with a condition in front of it, and it gets a lesson of its own in orders that wait. It is GTC by construction, because “cancel the remainder immediately” is a contradiction for an order whose whole purpose is not to have arrived yet.
Choosing, in practice
The decision is not about which type is better. It is about which of the two uncertainties you would rather carry on this particular order.
- Size against depth is the first question, not the last. Read the Total column down the side you are about to take. If your quantity sits inside the first level or two, a market order costs the spread and nothing else. If it reaches four levels deep, you are paying for immediacy at a rate you should decide on deliberately.
- Use a market order when being in or out matters more than the last few ticks: closing something that has gone wrong, taking a fill before an event, or any small order in a deep book.
- Use a resting limit order when the price is the point — an entry you are willing to miss, an exit at a target, or an order large enough that walking the book would move it against you.
- Use a marketable limit order — a limit priced a level or two through the book — as the default for anything urgent. You get the market order’s fill with a named worst case, and in a calm book you will not notice the ceiling was there.
- Watch what a partial fill leaves you holding. A limit order that fills half has left you with half a position and half an intention. Decide in advance whether the remainder should keep resting or be cancelled and re-sent.
Five ways this goes wrong
Mistaken belief: “Limit orders are the safe ones.”
What actually happens: They move the risk, they do not remove it. A market order risks the price; a limit order risks not being in the trade at all — and if you were placing the order to reduce an exposure, not filling leaves you holding exactly the thing you were trying to put down. The unfilled exit is the expensive one far more often than the slipped fill.
Mistaken belief: “A limit price above the best ask is a typo.”
What actually happens: It is a marketable limit order and it is usually the better instrument. It fills at the book’s prices, never above your ceiling, and any quote you locked and did not spend comes straight back to available. The only thing you gave up is the fills above your ceiling — which is the entire point.
Mistaken belief: “My market order will fill at the price on the screen.”
What actually happens: It fills at whatever prices the book holds when it lands, which is why the ticket says ≈ and why the fills list shows one row per level rather than a single price. On this exchange the book is real, so the difference is real too — how a fill is priced takes that list apart row by row.
Mistaken belief: “The market traded at my limit price, so I must have filled.”
What actually happens: On a real venue, only if the incoming orders were large enough to reach past everyone already queued at that price. Here there is no queue to be behind — a resting order fills when the venue’s book crosses its price, checked by a sweep every five seconds — so treat a fill on this site as the optimistic case, and expect to wait longer somewhere with a real queue.
Mistaken belief: “A partial fill means something went wrong.”
What actually happens: It means the book ran out of counterparties on your side of the limit. The order status reads partially_filled, the filled part has settled and is yours, and the reservation has shrunk to cover only what is still outstanding. It is the normal life of a limit order, not an error state.
Check yourself
Five questions against the book from lesson one — 0.40 at 64,301.2, 0.60 at 64,310.0, 1.20 at 64,320.0, 2.10 at 64,335.5. Answer before you open each one.