Resolved Markets logoResolved Markets logo
Abstract blue gradient background with a soft light streakAbstract blue gradient background with a soft light streak
Analytics

Depth-at-price liquidity profiles

A liquidity profile shows how much size rests at each price level, where the walls are and how far you can trade before slippage. Here is how to build one from the bid and ask arrays.

8 min read · Updated Jun 22, 2026

  • Size by price levelShape
  • bids[] · asks[]Input
  • depth totalsFast summary
  • BTC / ETH / SOL / XRPMarkets

Best bid and best ask tell you where the touch is. A liquidity profile tells you what stands behind it, how much size rests at each price level, where the walls sit, and how deep you can trade before the book starts moving against you. Because each snapshot carries the full ladder, you can build that profile for any market and any past moment.

A liquidity profile is the order book turned sideways: price on one axis, resting size on the other. Tall bars are walls, price levels where makers have stacked size. Gaps are air pockets the price can fall through. It is the single most useful picture for answering one question: how much can I trade here before I move the market.

What the profile shows you

Where the walls are

Tall bars mark price levels holding outsized resting size, the book’s own support and resistance, declared in orders rather than guessed from a chart.

  • Resting-size clusters
  • Self-declared levels
  • Price tends to pause there

How deep you can go

Sum the size from the touch outward and you learn how much you can trade before walking into a worse price.

  • Cumulative depth
  • Slippage budget
  • Size that fits cleanly

Which side is heavier

Comparing the bid profile to the ask profile shows lopsided books before any price has moved.

  • Bid vs ask weight
  • Lopsided support
  • Pressure, pre-move

Building it from the arrays

  1. 1Request the snapshot with the book included so the row carries its full bids and asks arrays rather than just the touch.
  2. 2Treat each array entry as a (price, size) pair and bin the prices onto a fixed grid, these are 0-1 probability units, so a uniform tick grid is natural.
  3. 3Sum resting size into each price bin to get the per-level profile, the raw shape of where liquidity sits.
  4. 4Form the cumulative profile by summing outward from the touch, so each point answers “how much size is available within this distance of the best price”.
  5. 5Compare the bid and ask profiles side by side to read imbalance, and overlay several snapshots to see which walls persist.

Fast summaries vs the full shape

If you only need a one-number-per-side health check, the snapshots already carry it. bid_depth_total and ask_depth_total sum the resting size on each side, so you can scan thousands of snapshots for thin or lopsided books without ever expanding the arrays. When you need to know exactly where the size sits, you pull the arrays and build the full profile.

  • bids[] · asks[]Per-level price and size, the full profile
  • bid_depth_totalResting size on the bid side, pre-summed
  • ask_depth_totalResting size on the ask side, pre-summed
  • limit ≤ 5000Snapshots per request, paginate long windows

The two depth totals are the cheapest way to filter: pull them across a window, find the snapshots where one side has thinned or a wall has appeared, then request the full book only for those moments. Most profile pipelines triage on the totals and expand the arrays selectively.

Reading it without fooling yourself

  • Resting size is not executed volume, a wall shows intent to trade at a price, which is very different from trades having happened there.
  • Walls can be pulled the instant price approaches; persistence across many snapshots is what separates a real level from a placed-and-yanked one.
  • Cumulative depth answers “how much fits” but not “at what average price”, for the cost of walking the book, pair the profile with an effective-spread walk.
  • Slower-sampling categories give you a coarser profile per snapshot, so lean on overlaying several frames there rather than trusting a single one.
Only with full depth

Top-of-book can’t draw this

A liquidity profile needs the whole ladder, not just the best bid and ask. Polymarket exposes the live book but not its history; the full-depth snapshots are what let you rebuild the profile for any past window, to study how walls formed before a move, not just where they sit right now.

The touch tells you where you can trade one unit. The profile tells you where you can trade your whole size, and where the book quietly runs out of room.

See the depth for yourself

The dashboard renders the live ladder; the historical guide shows how to pull the full book per snapshot to build profiles for any past window.

Frequently asked questions