Skip to main content
binXbase

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.

A 2.00 BTC market buy walking the ask side: three levels consumed in price order, the fourth untouched because the order finished before it. The average is what you actually paid.

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.

Two limit prices across the same four ask levels. A limit is a ceiling on the walk, and where you put the ceiling decides how much of the order can fill at all.

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.

Buy 2.00 BTC, three instructions. Each bar is the full 2.00; the coloured segments are quantity filled at each level and the recessed segment is quantity still resting. Rows one and three are identical fills at identical prices.

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.

What each order type takes out of your available balance at placement
OrderLocked at placementWhy that amount
Limit buy that restslimit × quantity, in USDTThe most it can ever cost. A limit buy never fills above its price, so nothing larger could be needed.
Limit sell that restsquantity, in BTCYou are offering coins, not currency. The price does not change how many.
Market ordernothingIt never rests, so there is nothing to reserve. It spends directly out of available in the same transaction that creates it.
The feenot reservedIt 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.

Time in force: what each setting means and where this product offers it
SettingWhat it does with the unfilled partOn our spot ticketOn our futures ticket
GTCRests on the book until it fills or you cancel it.Every limit order, alwaysSelectable, and the default
IOCFills whatever is immediately available; the remainder expires.Every market order, alwaysSelectable on limit orders
FOKFills in full at once or expires having done nothing at all.Not offeredSelectable 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.

You send a market buy for 2.00 BTC. What is the worst price you could pay?
In principle, unbounded — a market order has no ceiling, and that is precisely what you traded away for the guaranteed fill. In this book it stops at 64,320.0, because 2.00 fits inside the 2.20 cumulative available at that price or better. The book decides the answer, not the order.
You place a limit buy for 2.00 BTC at 64,320.0. How much USDT leaves your available balance?
128,626.48 — the actual cost of the three fills. The order never rests, because it fills in full on placement, so nothing is locked and the ceiling costs nothing. Note that this is less than the 128,640.00 the ceiling would have allowed: you were charged the book’s prices, not your limit.
Same order, but at a limit of 64,301.2. What is locked, and what is spent?
Spent: 25,720.48 USDT for the 0.40 that filled at the best ask. Locked: 102,881.92 USDT, which is the remaining 1.60 at your limit price — the most that remainder can ever cost. Both leave available; only the first is gone.
That order rests, and an hour later the best ask has fallen to 64,288.0. What do you pay for the remaining 1.60?
64,288.0 — the book’s price, not yours. You locked 102,881.92 and spent 102,860.80, and the 21.12 USDT difference is released back to available in the same transaction as the fill. A limit order caps what you pay; it does not commit you to paying it.
You want to sell 4.00 BTC immediately, and the bid side holds 0.58, 1.10, 1.35 and 1.90 going down. Which type, and why?
4.00 reaches into the fourth level, so a market order prints at four prices ending at 64,270.4, for an average near 64,283.2 — about 11.9 USDT per BTC below the best bid, or 47.7 on the whole order. That is a decision worth making on purpose rather than discovering afterwards: either accept it as the cost of being out now, or work the order with limits and accept that you might not finish. There is no third option, and any ticket that implies otherwise is lying to you.