Market by order (MBO)

Market by order (MBO) is an order book feed in which every resting order is published individually, with an anonymous identifier, its price, its size and its position in the queue, along with each event that adds, modifies, executes or cancels it. It is more granular than market by price, which publishes only the total size per level.

Senzoukria · Glossary · Updated September 2026


What an MBO feed publishes

In an MBO feed the unit is the order, not the price level. Each message describes one order: it was added at this price with this size, it was modified, it was partially or fully executed, or it was cancelled. Order identifiers are anonymous, so the feed reveals no participant, but it does reveal the life of each order and the order of arrival at a level, which is what determines queue priority.

CME publishes both families and documents the difference: MBO carries order-level detail, MBP carries aggregated size per price. An MBP book can always be rebuilt from an MBO feed by summing; the reverse is impossible.

What becomes observable

  • Whether the size that left a level was executed or withdrawn: with MBO each order's end is known.
  • Queue position: where a new order would sit relative to the orders already resting.
  • Order refills at the same price, which is one signature associated with iceberg behaviour.
  • Requoting by market makers: cancel and repost a tick away, which is normal and not a sign of deception.

In Senzoukria

The heatmap screen has a Liquidity tracker panel, titled "Liquidity — what it did", which for each price level reports what the resting liquidity did: withdrawn without trading, or executed. Its empty state says that it needs the order-by-order feed (MBO), because it reads each order's life rather than the visible totals. Its note states that "withdrawn" includes normal market-maker requoting and that the panel distinguishes withdrawal from execution without calling withdrawal deceptive.

When only an aggregated book is available, a related reading is marked with the hint "Inferred from the aggregated book — never presented as an MBO observation". Whether MBO reaches the application depends on the entitlement attached to your Rithmic or Databento login; the Binance and Bybit public streams are aggregated by price.

Common mistakes

  • Assuming every Level 2 feed is MBO: most retail depth is aggregated by price.
  • Reading a cancellation as spoofing: a cancellation is observable, intent is not.
  • Expecting MBO history to be available because live MBO is: historical order-level data is licensed separately, when it exists at all.

This page in other languages

Frequently asked questions

Does market by order identify who placed an order?
No. Order identifiers in an MBO feed are anonymous. They let a consumer follow one order from arrival to exit and compute its queue position, but they do not link it to a firm or an account. Anything a display says about who is behind an order is inference.
Can queue position be estimated without MBO?
Only approximately. From an aggregated book you know the total size ahead of you at the time you joined and can decrement it as executions and cancellations reduce the level, but you cannot tell whether a cancellation came from ahead of you or behind you. MBO removes that ambiguity.

Keep reading