- Spread +
depthInputs - Comparable scoreOutput
- All categoriesAcross
- Per snapshotUpdates
A signal is only worth as much as your ability to trade it. A liquidity score, built from the spread and the resting depth on the book, turns "is this market tradable right now?" into a number you can rank, filter, and schedule around.
Two ingredients carry most of the information about tradability: how tight the spread is, and how much size is resting near the touch. A market with a penny spread and deep books is easy to move size in; a wide spread on a thin book is not, no matter how good your signal looks.
What goes into the score
Spread
Tighter is better. The spread is the immediate cost of crossing, so it anchors any tradability measure.
- Lower cost to cross
- From best_bid / best_ask
- Compared to baseline
Depth
More resting size near the touch means you can trade larger before moving the price.
- Bid/ask depth totals
- Size you can absorb
- Resilience to your order
Balance
A book that is deep and even on both sides is healthier than one propped up entirely on one side.
- Two-sided depth
- Imbalance penalty
- Stability read
Building the score from snapshot fields
Every snapshot already carries the three numbers you need, so there is nothing to reconstruct. Normalise each input against the market’s own recent history, a raw spread or a raw depth total means nothing until it is scaled to what that book usually looks like, then combine them into a single comparable figure.
- spreadCost to cross, lower scores higher
bid_depth_totalResting size on the bid sideask_depth_totalResting size on the ask sidemid_priceReference for sizing the spread in ticks
- 1Pull snapshots over a rolling window so each market is scored against its own recent baseline, not an absolute threshold.
- 2Invert and normalise the spread, tight is good, and normalise the summed depth so deeper books score higher.
- 3Penalise imbalance: take how far bid and ask depth diverge and dock the score, since a one-sided book is fragile.
- 4Blend the parts with weights you can defend, and re-score per snapshot so the number tracks the book through the day.
What a score unlocks
- Rank markets so you deploy a strategy where it is actually executable, not just where the signal fires.
- Schedule execution for the hours when a market’s score is highest, books are not equally deep all day.
- Filter out thin markets automatically, so a backtest does not assume size that never existed.
- Compare across categories on one scale, crypto, sports, weather, using the same spread-and-depth recipe.
One recipe, every market
Because every snapshot exposes spread and depth the same way across categories, the same scoring recipe ranks a 5-minute BTC book against a daily weather market on equal footing. That comparability is the whole point, it tells you where to put your size.
Where a simple score falls short
A spread-and-depth score is a snapshot of resting liquidity, it does not know how fast that liquidity replenishes after you take it, or how much of the visible size would actually fill. Two books can score the same and behave very differently the moment you push real size through. Treat the score as a fast, comparable first pass that tells you where to look, not a fill simulator.
Resting, not replenishing
The score reads the book at an instant. It can’t see how quickly makers re-post after you sweep a level.
- Point-in-time read
- No refill model
- Pair with a time series
Visible, not guaranteed
Resting size is intent to trade, and intent can be pulled. Persistent depth across snapshots is more trustworthy than one frame.
- Size can be cancelled
- Check persistence
- Don’t assume fills
Weights are a choice
How you trade off spread against depth is a judgement call, back it with results, and keep the recipe transparent.
- Defensible weights
- Reproducible recipe
- Validate on outcomes
A signal is only worth as much as your ability to trade it. The liquidity score is just that worth, written down as a number you can rank.
Rank your markets
The docs cover the depth and spread fields; the dashboard lets you eyeball liquidity before you formalise a score.
Frequently asked questions
What makes a prediction market “liquid”?
Two things: a tight bid-ask spread (cheap to cross) and substantial resting depth near the touch (you can trade size without moving the price much). A simple liquidity score combines both, optionally penalising one-sided books.
Can I compare liquidity across different categories?
Yes. Every snapshot exposes spread and depth the same way for crypto, sports, weather, and the rest, so the same scoring recipe puts markets from different categories on one comparable scale.
Why does liquidity timing matter for execution?
Order books are not equally deep around the clock. Scoring liquidity over time shows when a market is deepest, so you can schedule entries and exits for the windows where your order costs the least to fill.
Does a high liquidity score guarantee my order will fill?
No. The score reads resting size at an instant, it does not model how much of that size would actually fill or how fast makers replenish after you take a level. Use it as a fast, comparable first pass to rank markets and time execution, then validate with a time series of snapshots and an honest fill model before assuming size that the book may not really support.



