Liquidity Tracker: withdrawn versus executed liquidity per level

The Liquidity Tracker is a column on the right of the heatmap ladder that tells, for each price level, what the resting liquidity did over the last 30 seconds: withdrawn without trading, or executed. It needs the Rithmic order-by-order (MBO) feed.

Senzoukria · Documentation · Updated September 2026


Where to find it

Where
Heatmap → Heatmap settings → Profiles tab → Liquidity tracker toggle; column to the right of the DOM ladder
Default
Off. Rithmic source only; other sources ignore the toggle
Window
30 seconds (6 buckets of 5 s), published by the Rust service once per second and polled every 1,000 ms
Rows
Up to 24 levels, sorted by executed volume

What it does

A level that goes from 500 contracts to 0 tells two opposite stories: 500 contracts hit by aggressors, or 500 contracts pulled before anyone paid. Most displays draw both the same way, as a level that disappears. The Liquidity Tracker separates them. For each price and side it accumulates, from the MBO journal, the contracts added, the contracts pulled without trading, the contracts executed and the number of refills observed (same order, same price, quantity going back up).

The panel is titled "Liquidity — what it did", with the symbol and the window length as a subtitle (SYMBOL · 30 s). The headline is the share of liquidity that left the book without trading, over all levels of the window, above the words "of the liquidity that left the book never traded" — on one MNQ day measured during development it read 90.8 %, which is an observation of that day and not a figure the product promises. Below, a legend distinguishes withdrawn (grey) and executed (green).

Each row shows the price, the side (bid or ask), a bar whose green part is the proportion executed among what left the level, the percentage withdrawn, and the executed count. The bar carries a proportion, not an absolute volume: with absolute widths, 24 rows near the price all looked the same length.

Settings

Controls and fixed parameters of the Liquidity Tracker
ItemValueWhat it changes
Liquidity tracker (Profiles tab)OffShows the column; only effective when the chart data source is Rithmic
Window30 sSix 5-second buckets kept by the Rust service; not adjustable in the UI
Poll interval1,000 msThe panel reads the snapshot once per second, rescheduled after each answer
Maximum rows24Levels with activity, sorted by executed volume, descending
Dropped events0Number of MBO events lost by the backend; displayed as a warning as soon as it is non-zero

How to use it

  • Connect a Rithmic profile whose account has order-by-order depth, open the heatmap on that source and enable Liquidity tracker in the Profiles tab.
  • Read the rows from the top: they are the levels where liquidity was eaten rather than evaporated, which is where absorption happens. A level with a high withdrawn percentage and a large executed count still absorbed a lot.
  • Compare the headline ratio between quiet and active phases; a falling share of withdrawn liquidity means more of what leaves the book is actually traded.
  • Watch the header for the dropped-events line. A partial feed shows a partial picture and the panel says so.

Limits and pitfalls

  • The panel needs the MBO feed. Without it, or when the account lacks the entitlement, the backend returns nothing and the panel shows No order book activity yet.
  • Withdrawn includes normal market-maker requoting: cancelling to repost a tick away. The panel distinguishes withdrawal from execution; it does not call withdrawal deceptive.
  • Thirty seconds is a short memory. The panel is a reading of the immediate book, not a session statistic.
  • The column is not available on bridges, Databento or crypto sources, whose feeds do not carry order identity.

This page in other languages

Frequently asked questions

The toggle is on but no column appears. Why?
The column only mounts when the chart data source is Rithmic. On another source the setting is kept but ignored. On Rithmic, an empty panel means the MBO feed has not delivered any event yet.
Why are rows not sorted by price or total volume?
Sorting by total activity brought up the levels closest to price, all at a similar withdrawn share, which any profile already shows. Sorting by executed volume answers the question this panel exists for.

Keep reading