A great lay price with no money behind it is a phantom. Here's what lay liquidity is, why a matched feed carries a liquidity figure on every row, and how to gate opportunities by it.
James··5 min read
A lay price is only usable if there is enough money available at it. Lay liquidity is the size you can actually get matched at a given price, and a superb lay price with nothing behind it is a phantom: it renders as an opportunity, then vanishes the moment anyone tries to take it. That is why every lay price in a serious matched or arbitrage feed carries a liquidity figure next to it. This post explains what that figure is, why a feed reports it, and how you gate opportunities by it so your product never shows a row nobody can actually use.
What is lay liquidity?
Lay liquidity is the amount of money available to match against at a specific lay price on an exchange. On an exchange like Betfair, Smarkets or Matchbook, a lay price is not a promise: it is a queue of backers offering the other side. The liquidity figure is the size of that queue at that price. If it is deep, you can place a meaningful lay and get it filled. If it is thin, only a small stake goes through, and the rest of the price is decoration.
This is the part that separates exchange data from bookmaker data. A bookmaker back price stands until the book moves it. An exchange lay price only means something up to the money sitting behind it. For the underlying mechanics of the two sides, see back and lay odds. The short version: the back price tells you the return, and the lay liquidity tells you whether the return is reachable.
Why does a feed include a liquidity figure?
A feed includes a liquidity figure because the lay price alone cannot tell you whether an opportunity is real. Two rows can show the same back price and the same lay price, and one is worth acting on while the other is not, purely because of the money behind the lay. Without the size, you are guessing. With it, you can decide.
OddsRelay reports available-to-lay size on every matched row, alongside the paired back price, the rating, and the qualifying_loss. Here is the shape of a single row, with the liquidity field in place (illustrative, not live data):
A matched lay row · liquidity on the lay side · illustrative
The lay block carries odds and liquidity together on purpose. The price answers "how good is this?" and the liquidity answers "how much of it can I have?" In the row above the lay price is attractive, but liquidity of 42 is thin: a large stake would move the market or go unmatched. A downstream product that ignored the figure would surface that row as a clean opportunity and mislead its users.
How do you gate opportunities by liquidity?
You gate opportunities by setting a minimum liquidity threshold and hiding, or flagging, any row that falls below it. Because the figure rides on every row, this is a single comparison in your own code: keep the row if lay.liquidity clears your floor, and suppress or mark it if it does not. Where you set the floor depends on the stakes your users place, so it stays your decision rather than ours.
Hard gate: drop rows below your minimum before they reach the user, so an oddsmatcher only ever shows actionable pairs.
Soft flag: keep the row but mark it thin, so a scanner user sees the price and understands the size caveat.
Stake-aware filter: gate against the stake in play, so a row that is deep enough for a small qualifier but not a large one is treated correctly for each user.
The point is that the feed hands you the raw material to make that call cleanly. You are not inferring depth from a price or scraping a second source to confirm it: the size is already paired to the lay, refreshed on the same cycle. Liquidity is one of the properties that separates a feed you can build a product on from a stream of numbers; the wider set is covered in what makes an arb feed usable.
Doesn't liquidity change constantly?
Yes, and that is exactly why the feed reports it rather than hiding it. Available-to-lay size varies by market, by selection, and by time. A popular football match near kick-off is deep; an obscure selection days out can be thin. Liquidity on the same selection can also shift within minutes as backers come and go. None of that is a flaw in the data: it is the true state of the exchange, and a feed that pretended otherwise would be lying by omission.
OddsRelay's posture is to report the figure honestly on each poll rather than smooth it or drop it. Our freshness posture is pre-match polling on roughly a few-second cycle, so the liquidity you see reflects a recent read of the exchange, suited to pre-match matched betting and arbitrage. It is a snapshot, not a guarantee, and treating it as a snapshot is the correct model: gate on it, act promptly, and re-check before you commit a large stake.
Because the size is paired to the price on every lay across all three exchanges we match against (Betfair, Smarkets and Matchbook), you can also compare depth between them for the same selection and route to whichever exchange holds the fillable size. More on how the lay side is assembled is in exchange and lay coverage.
The short answer
A lay price without liquidity behind it is a phantom, so a matched feed that omits the size is handing you half a signal. OddsRelay pairs a liquidity figure to every lay price across 60+ UK books with bet365 included, matched against three exchanges, so you can gate thin rows out of your product with one comparison and show your users only opportunities they can actually take. It powers a leading UK matched-betting platform today.
The cleanest way to see how liquidity sits on real rows is to look at what is live: check the coverage dashboard for current books and exchanges, or start a free trial and read the size paired to each lay yourself.
James is the founder of OddsRelay — the odds-data feed behind matched betting, arbitrage and odds-comparison products: 60+ UK bookmakers with bet365 included, matched against exchange lay prices and delivered as one clean, documented API. He writes here about how that data layer actually behaves — coverage, matching, freshness and the trade-offs — from the side that builds and runs it. The same feed powers a leading UK matched-betting platform today.