The Betfair matching engine pairs a back order with an opposing lay order whenever their prices are compatible, and it fills them on a strict price-then-time priority basis. The best price gets matched first; among bets at the same price, the one that arrived earliest is filled first. You don't bet against Betfair — you bet against other customers, and the engine is just the referee that pairs you up.
This page contains affiliate links — if you open an account through them we may earn a commission at no cost to you. It never changes our verdict.
- What the matching engine is
- Two sides of every bet
- Price-time priority — the core rule
- The queue and how your turn comes
- Partial matches and why they happen
- Cross-matching across selections
- From the desk: watching an order fill
- What price you actually get
- In-play: the bet delay and the engine
- Mistakes traders make about matching
- The verdict
- FAQ
This is a sub of our deep dive into how the Betfair Exchange really works, and it zooms in on the single component that confuses new traders most: the matching engine. If you've ever placed a bet at 3.0, watched the price tick to 2.98, and wondered why you didn't get matched even though money was clearly trading — this page is the answer. The short version is that the Exchange is not a bookmaker quoting you a price. It's a marketplace, and the matching engine is the mechanism that decides who trades with whom, and in what order.
What the matching engine is
The matching engine is Betfair's central piece of software that takes every back and lay order submitted across a market and pairs them up. Think of it as an order book for each selection, identical in principle to the order book on a stock exchange: a column of people wanting to back (the equivalent of buyers) and a column of people wanting to lay (sellers), each at a stated price and stake. The engine's only job is to find compatible pairs and execute the trade. It holds no opinion about whether a horse will win — it simply matches a back request against a lay request whenever the numbers line up. This is why the Exchange can offer better prices than a traditional sportsbook: there's no margin baked in by a bookmaker, just two customers agreeing on odds.
What's available to match at any instant is the order book, and you see a slice of it in the price ladder: the amounts queued to back and to lay at each price. The numbers on the ladder are unmatched orders — money sitting in the queue, waiting. The moment your order meets one of them on compatible terms, the engine executes and both orders shrink or disappear.
Two sides of every bet
A matched bet on Betfair always has two customers: one backing and one laying. If you back Constitution Hill at 1.80 for £50, somewhere on the other side a customer (or several) has laid it at 1.80, accepting your £50 stake against their £40 liability. Neither of you is trading against Betfair; the company takes commission on net winnings and otherwise stays out of it. This matters because it explains the central truth of the Exchange: you can only get matched if someone wants the other side at your price. If you ask to back at 1.85 but the best anyone will lay is 1.83, no trade happens. Your order sits unmatched in the queue until either someone lays at 1.85, or you cancel.
Price-time priority — the core rule
The engine matches on two criteria, in this order: price first, then time. Price priority means the best available price is always matched first. A back request will take the highest lay price on offer; a lay request will take the lowest back price on offer. The engine never matches you at a worse price when a better one is sitting there — it always gives you the best price currently available, which is often better than the price you asked for (more on that below).
Time priority is the tie-breaker. When multiple orders sit at the same price, they're filled in the order they arrived — first in, first matched. If £2,000 is queued to back at 3.0 and you join the back queue at 3.0 with £50, you're at the back of that £2,000 line. Every pound of incoming lay money at 3.0 fills the orders ahead of you first; you only get matched once those £2,000 are cleared and the incoming money reaches your place in the queue. This is the single most important mechanical fact for a scalper, and it's why queue position matters so much.
The queue and how your turn comes
When you place an order that can't be matched immediately — because you've asked for a price better than what's currently on offer — it joins the queue at that price as unmatched money, and it's displayed on the ladder. Your order then waits. Two things can get you matched: either the market moves to your price (someone becomes willing to take the other side at the level you asked for), or fresh money arrives at your price while you're already queued and works through to your position. If the market moves away from your price instead, you simply sit there unmatched indefinitely, which is the frustrating experience every new trader has.
Crucially, joining a queue does not guarantee a fill. You can have £100 queued to back a favourite at 2.50 all afternoon and never get a penny matched if the price drifts to 2.60 and never comes back. The engine isn't ignoring you — there's simply no one on the other side at your price. Understanding this stops you blaming the platform when really the market just didn't come to you.
How much can you actually get matched?
The honest answer is: as much as the other side is willing to trade, plus whatever cross-matching can manufacture. In a deep market like a Premier League match-odds or a Cheltenham Festival race, there might be tens of thousands of pounds available within a tick or two of the current price, so a £50 or £500 order fills instantly. In a thin market — an obscure greyhound race, a niche tennis match at 2am, a minor selection in a big field — there may be only a few hundred pounds queued, and a large order will only partially fill or move the price as it eats through the available money. This is why liquidity is the first thing a serious trader checks before committing size: the matching engine can only pair you with money that's actually there. Always size your order to the market in front of you, not to the market you wish were there.
Partial matches and why they happen
Orders are matched in whatever size is available, which means partial fills are completely normal. Say you want to lay £200 at 4.0 but only £120 of backing money is sitting at 4.0. The engine matches £120 of your order instantly and leaves the remaining £80 queued at 4.0, waiting for more backers. You'll see £80 still showing as your unmatched order. This trips people up when they assume an order is all-or-nothing; on the Exchange it's not. Your £200 lay can end up as £120 matched and £80 unmatched, and if the price moves before the rest fills, you're left holding a partial position you have to manage. For traders, partial fills are a constant reality — you green up the part that matched and decide whether to chase or cancel the remainder.
Cross-matching across selections
Betfair runs a feature called cross-matching that makes markets more efficient and gives you more money to trade against than the raw back-and-lay queues suggest. In a market like a two-runner tennis match or a horse race, the prices on different selections are mathematically linked — laying one runner is economically similar to backing the field. The cross-matching engine spots when your order can be satisfied by combining bets on other selections, and it generates the implied liquidity to match you. The practical upshot: the amount you can actually get matched is frequently larger than the visible queue at your price, because the engine can manufacture a match from related selections. This is closely tied to how liquidity works on the Exchange, but the headline for now is that the order book you see understates how much you can really trade.
The setup: 8:00 Kempton, the 7f handicap, about four minutes before the off on an evening AW card. The favourite was trading around 3.45 and I wanted to back it, expecting the price to shorten into the off as it usually does on a well-fancied AW runner.
What I did: rather than take the available 3.45, I queued a back order of £80 at 3.50 — a tick better — betting the price would tick out briefly before coming in. The ladder showed roughly £430 already queued to back at 3.50 ahead of me.
The fill: about ninety seconds later a chunk of lay money hit 3.50. It cleared the £430 ahead of me first — pure time priority — then reached my order and matched £55 of my £80. The price then started shortening and the remaining £25 sat unmatched at 3.50 because backers stopped wanting that price.
Greening up: with the price now 3.35, I laid £55-equivalent to lock the position. I'd backed £55 at 3.50 and layed at 3.35, which greened to roughly £2.46 profit across the book before commission — small, but the point is mechanical: I was only matched after the queue ahead of me cleared, and only partially, exactly as price-time priority dictates. The unmatched £25 I simply cancelled.
The lesson: asking for a better price got me a better entry, but it cost me queue position — I was behind £430 and only got part of my stake away. If I'd needed the full £80 matched, taking the available 3.45 immediately would have been the safer choice. That trade-off — better price versus certainty of fill — is the matching engine in a nutshell.
What price you actually get
A reassuring detail: the engine always matches you at the best price available, which can be better than you requested, never worse. If you submit a back order at 3.0 but there's lay money sitting at 3.05, you get matched at 3.05 — the better price — not your requested 3.0. This is called price improvement and it's automatic. You'll never be matched at a worse price than you asked for; the worst case is that you don't get matched at all. New traders sometimes panic that they'll be filled at a bad number, but the engine's logic protects you here. What you should watch instead is the opposite risk: asking for a price so good that nobody takes the other side and you go unmatched.
In-play: the bet delay and the engine
Once an event goes in-play, every bet is held for a few seconds by the in-play bet delay before the matching engine even sees it. The delay (commonly around 1–8 seconds depending on the sport) exists so the market can react to events, and it sits in front of the engine, not inside it. Your order enters the delay, waits out the timer, and only then is released to the queue to be matched on the same price-time rules. This is why an in-play order can be matched at a price quite different from the one showing when you clicked — the market moved during your delay. The matching logic is identical; there's just a holding pen in front of it. If the market suspends while your bet is in the delay, the order is typically cancelled rather than matched.
Mistakes traders make about matching
The first mistake is assuming the visible ladder is the whole story — cross-matching means there's usually more to trade against than the raw queue shows. The second is ignoring queue position: joining a huge queue at a popular price and then wondering why you didn't fill, when hundreds of pounds sat ahead of you. The third is treating partial fills as a glitch rather than the norm, and failing to plan for being left with an unmatched remainder mid-trade. The fourth is confusing the in-play delay with the matching engine and blaming the engine for a price you got during the delay. And the fifth, the most expensive, is thinking the Exchange is quoting you a price like a bookmaker — it isn't, and if no one wants your side at your price, no amount of waiting will conjure a match. Get these five straight and the Exchange stops feeling random.
The verdict
The matching engine is simpler than it feels once you hold two ideas in your head: price first, then time, and you're always trading against another customer, never Betfair. Best price gets filled first; among equal prices, earliest order wins; partial fills are normal; cross-matching gives you more to trade against than the ladder shows; and you can never be matched at a worse price than you asked for. Everything else — the in-play delay, suspensions, queue frustration — sits around that core. If you want to put this knowledge to work, the natural next steps are understanding why queue position matters, how liquidity quietly determines what you can actually trade, and what happens when the market suspends mid-trade. For the bigger picture, the exchange mechanics pillar ties it all together, and if you want to read the ladder confidently, start with how to read a Betfair market.
FAQ
Does the matching engine match the best price or my requested price?
It always matches you at the best price available, which can be better than you asked for but never worse. If you back at 3.0 and there's lay money at 3.05, you get matched at 3.05. The only downside risk is not being matched at all if no one takes your side.
Why did money trade at my price but I still didn't get matched?
Time priority. Other orders were queued at that price before yours, so the incoming money filled them first. You only get matched once the queue ahead of you clears and money reaches your position — or the market moves further onto your price.
What is a partial match on Betfair?
It's when only part of your stake is matched because there wasn't enough money on the other side at your price. The matched portion is a live bet; the remainder stays queued as an unmatched order until it fills, the price moves, or you cancel it.
Am I betting against Betfair or other people?
Other people. The Exchange is a marketplace where one customer backs and another lays. Betfair runs the matching engine and takes commission on net winnings, but it isn't the counterparty to your bet.
Does the in-play bet delay change how matching works?
No — it sits in front of the engine. Your in-play order waits out the delay (a few seconds), then enters the queue and is matched on the same price-time rules. The delay just means the market may have moved by the time your order is released.
Related reading
Build out your understanding with why queue position matters, liquidity explained, and what happens when a market suspends. Anchor it all in the exchange mechanics pillar, learn the display in how to read a Betfair market and the odds ladder, and see why this engine produces better prices than a sportsbook. To trade off it, scalping lives or dies on this mechanic.
Understanding the matching engine doesn't make trading profitable — it just stops you misreading the platform. Most Betfair traders lose money overall, and past results don't guarantee future returns. Trade with stakes you can afford to lose. 18+ only; help at BeGambleAware.org.
Want to see the matching engine in action? Open the ladder on a live market and watch the queue clear in real time.
How to Read a Market Open Betfair Account →