Structure
spread
best ask
50,000 − 49,950 = 50mid 49,975
best bid
A market buy for 1.00.2 fills at 50,000
0.3 fills at 50,100
0.5 fills at 50,200Average ≈ 50,130 — not the 50,000
quoted at the touch. That gap is what
a market order does not show you.
0.3 fills at 50,100
0.5 fills at 50,200Average ≈ 50,130 — not the 50,000
quoted at the touch. That gap is what
a market order does not show you.
Asks — sellers
Bids — buyers
Priority
Orders fill by price first, then time. Price is obvious: a buyer offering more is served before one offering less. Time is where this venue differs from most. “Time” is your order’s position in the committed block sequence — not when it arrived at a node. Two orders in the same block have a precedence every validator computes identically, from consensus-committed data. No amount of network proximity changes it. Between blocks, arrival still matters; within a block, the microsecond race does not exist. The sequencing rules compound this: cancellations execute before aggressive orders in the same block, so a stale quote can be pulled and cannot be picked off by an order that arrived alongside the cancel.Reading depth before you submit
The best bid and ask are what you see quoted. They are not what you get if your order is larger than what sits there. Walking the ask side of the book above:
A market buy for 0.2 fills entirely at 50,000. A market buy for 1.0 fills across all three levels — average price around 50,130, not the 50,000 shown at the touch.
This is why market orders carry a bound derived from the depth your size would actually consume, and why splitting a large order across time or price usually costs less than taking it at once.
A useful habit before any order large relative to the book: compute the worst price your size would reach, not just the touch. The difference between those two numbers is the cost a market order hides.
Prices are integers
Book prices are integer multiples of the market’s tick size, and sizes are multiples of its lot size. There is no floating point on the execution path — a rounding difference between two nodes would be a fork. See Precision.What the book does not show
Conditional orders are not on the book. Stops, take-profits, and other conditional orders rest in a separate store watching a price. They occupy no queue position and contribute no depth until they trigger. The practical consequence: depth in a fast-moving market can be thinner than the book suggests is available, because a move through a cluster of triggers converts a set of invisible orders into real ones at once — all on the same side.Where to go next
Order types
What you can place onto the book, and what rests versus takes.
Market orders
How the depth-derived bound protects a market order.
Transaction sequencing
Why cancels beat aggressive orders in the same block.
Matching
How the book is structured and walked inside the kernel.