MARKETSJun 12, 2026·5 min read

Reading order-book walls before they move the price

Open any order book and you'll occasionally see it: one price level holding an order of magnitude more size than its neighbours. Traders call it a wall. Whether it means anything depends on how you're looking at it — and most dashboards look at it wrong.

Aggregation changes what you see

CryHub's depth endpoint serves six aggregation levels, agg0 through agg5. At agg0 you get the raw book: every price level as the exchange holds it. Each step up merges neighbouring levels into coarser buckets — agg3 might bucket BTC by ten dollars, agg5 by a hundred.

Walls behave differently at each level:

  • At agg0, a wall is a literal order (or stack of orders) at one price. It can be pulled in milliseconds — the classic spoof pattern is a large resting order that vanishes the moment price approaches it.
  • At agg3–agg5, a "wall" is aggregate interest across a whole price band. That's much harder to fake, because it's the sum of many participants. When a consolidated band holds size for hours, it usually reflects genuine positioning.

So the first practical rule: judge intent at low aggregation, judge structure at high aggregation. A spoofer can paint one price level; painting a fifty-dollar band convincingly is expensive.

Three signals worth computing

Rather than eyeballing, compute these from the depth feed:

Wall dominance. The largest single level's notional divided by the book's total. Above roughly 10% on a liquid pair, that level is the story — track whether it persists or gets pulled.

Imbalance. (sum_bids − sum_asks) / (sum_bids + sum_asks), using notional sums. Persistent imbalance beyond ±20% correlates with drift toward the heavy side — not because the resting size "pushes" price, but because it reveals where patient interest sits.

Wall distance. A wall 0.2% from mid is a participant defending a level. A wall 5% away is decoration; it will be repriced long before it trades.

Watching walls live

Over WebSocket, subscribe to the depth channel and diff consecutive frames per level. The interesting event isn't a wall existing — it's a wall changing state: growing as price approaches (defended), shrinking before contact (pulled), or being eaten through (absorbed). Absorption followed by continuation is one of the older tells in order-flow reading, and it only shows up if you track levels across frames rather than rendering each frame fresh.

None of this is a trading strategy on its own. But if your product surfaces an order book, surfacing wall persistence next to it is one of the cheapest genuinely useful features you can ship.