Hitting “buy” or “sell” starts more than a single transaction. In modern, fragmented markets the same instrument can trade at slightly different bid/ask prices across exchanges, dark pools, ECNs and decentralized pools. A Smart Order Router (SOR) is the software that scans those venues and decides—often in milliseconds—how to place your order so the execution price is as favourable as possible while managing speed, fees and fill probability. Below I explain, step by step and with concrete examples, how an SOR works to secure the best available bid/ask prices and what it cannot guarantee.
What we mean by “best price” and “best execution”
Getting the “best bid” or “best ask” is a snapshot concept: at any instant there may be a lowest ask and a highest bid across all connected venues (sometimes called the consolidated best). Best execution is broader. It means taking reasonable steps to obtain the most favourable overall outcome for your order, considering price, likelihood of fill, speed, fees and market impact. Our SOR targets both: it looks for the best displayed prices and the best practical execution outcome given the order size and market conditions.
The inputs the SOR uses to choose venues
Before routing a single child order the SOR builds a live picture of the market. It combines many data points so routing decisions are informed, not guesswork. Key inputs include:
- Real‑time top‑of‑book prices and order‑book depth from every connected venue
- Historical and live venue latency and fill behaviour (how fast and reliably a venue fills similar orders)
- Fees, rebates and any net‑price effects (a cheaper displayed price can be worse after fees)
- Order type and constraints you set (limit, market, IOC, FOK, minimum fill, execution window)
- Liquidity pools (including dark or hidden liquidity) and venue-specific matching rules
- External signals for volatility or news that could change routing priorities
That consolidated view lets the router compare not only the headline bid/ask but also the liquidity behind those quotes and the true net cost of execution.
How the SOR makes a routing decision — a step‑by‑step narrative
When you send an order the SOR executes a sequence of steps rather than a single blind send. The typical flow looks like this.
First, the SOR receives the order and applies your constraints and any compliance rules. It immediately snapshots market data across venues to identify the current consolidated best bid/ask and the available size at each price level.
Second, the routing engine evaluates candidate destinations. For a small order where the best ask has sufficient depth, the SOR may send the whole order to the venue with the lowest ask. For larger orders it runs a short optimisation: can the order be split across venues to achieve a better weighted average price while limiting market impact and fees?
Third, the SOR creates child orders and executes them. Child orders can be sent in parallel (to capture multiple best quotes at once) or sequenced to avoid moving a thin book. While executing, the SOR monitors fills in real time. If a quoted price disappears before execution or a partial fill occurs, the router reroutes the remaining quantity to the next best venues and may adjust order sizes on the fly.
Finally, the SOR logs the decision path and fills for post‑trade reporting and, where enabled, attempts price improvement by seeking executions at or better than the consolidated best where possible.
Example: you place a market buy for 10,000 units. Exchange A shows an ask of 1.2000 for 1,000 units, Exchange B shows 1.2005 for 5,000, Exchange C has 1.2010 for 6,000 and a dark pool lists 1.2002 for 3,000. Rather than hitting Exchange C’s 6,000 and moving the price, the SOR may buy 1,000 on A, 3,000 in the dark pool, 5,000 on B and the remaining 1,000 on C—producing a better weighted average than sending the whole size to a single venue.
Routing strategies the SOR can use
Routing is not one‑size‑fits‑all; the SOR applies different strategies depending on objectives and constraints. Common strategies include:
- Cost‑aware routing that optimises net price after fees and rebates
- Liquidity‑seeking routing that prioritises venues with the best fill probability for large sizes
- Time‑priority routing that favours the fastest path when latency matters
- VWAP/TWAP‑style slicing where a large order is spread over time to track a benchmark
- Hybrid or machine‑learning models that weight multiple factors and adapt from execution history
A broker or platform will typically choose defaults (and allow customisation) so retail and institutional orders are routed according to the most suitable objective.
Mechanisms that protect or improve the quoted price
The SOR uses several practical mechanisms to try to secure a better price than a naive market send:
- Pre‑trade checks evaluate whether the best public quote is achievable given queue sizes; if it’s a small quantity deep in a long queue, the SOR may avoid relying on that quote.
- Order slicing reduces market impact by breaking a large order into smaller child orders across venues or over time.
- Midpoint / pegged and limit strategies can capture price improvement against the displayed spread rather than taking the worst quote.
- Dark pool access and midpoint crossing can reduce visible market impact for large trades, potentially improving the average execution price.
- Net‑price calculation means the router compares after‑fee prices, so a slightly worse ask with a maker rebate can be preferable to the apparent best ask.
These techniques increase the chance of a favourable executed price, but they also add complexity and trade‑offs between speed, certainty and cost.
Monitoring, audit trail and transparency
A practical SOR produces logs for every routing decision: which venues were considered, why child orders were split the way they were, fill times and final prices including fees. That audit trail supports regulatory best‑execution obligations and lets the trading desk or platform tune the router over time. Regular monitoring of fill rates, slippage and venue performance also feeds back into routing models so they improve with use.
Concrete examples in different markets
A small retail market order: if the consolidated best ask can fill your size immediately, the SOR will usually send the order to that single venue to reduce latency and cost. The outcome is often identical to manual routing but with guaranteed consideration of all connected venues.
A large institutional buy: suppose the best displayed ask is shallow and one venue shows deep liquidity at a slightly worse price. The SOR will often split the order to capture as much at the best ask as possible, route the rest to deeper books and possibly route some portion to dark pools to avoid moving lit prices. The router aims to minimise the average execution cost and the market impact of the entire order.
A DEX (decentralized exchange) swap: in DeFi the SOR behaves like an aggregator. It simulates the price impact of routing parts of the swap through multiple AMM pools and chooses the mix that gives the best net return after gas fees and slippage. That can mean splitting a swap across several pools or multi‑hop paths to reach an optimal net price.
Risks and caveats — what SOR can’t guarantee
SORs materially improve execution quality, but they do not guarantee the absolute best price in every situation. A few important limitations to be aware of:
Market movement and latency. Prices change in milliseconds. Even a high‑quality SOR can be beaten by fleeting price moves or faster counterparties. If the market moves between the router’s snapshot and execution, the final fill can be worse than the quoted best.
Data quality and venue access. The SOR is only as good as the feeds and venues it can reach. If a venue’s feed is delayed or the platform lacks connectivity to a significant liquidity source, the router’s view will be incomplete.
Hidden rules and “last look”. Some venues and liquidity providers use discretionary matching or last‑look checks that can reject or reprice incoming orders. These behaviours affect effective execution and are beyond the SOR’s direct control.
Fees, rebates and net price. The displayed best ask may not be best after fees. SORs try to account for that, but fee schedules change and some rebates are conditional, so care is needed when comparing net outcomes.
Dark liquidity and information risk. Using dark pools can reduce market impact but may result in different fill dynamics. In crypto, miner-extractable value (MEV) and sandwich attacks can affect on‑chain SORs; DeFi SORs use mitigations but cannot eliminate such risks entirely.
Over‑optimisation and failed fills. Aggressive routing that hunts for tiny improvements can increase cancel/replace activity and raise the chance of a trade failing to fill. Practical SOR settings balance optimisation with fill robustness.
Because of these factors, SORs reduce the probability of poor execution and often improve average outcomes, but they do not eliminate slippage or guarantee the single best microsecond price every time.
Trading carries risk. This article is educational and not personalised advice; always be aware that executions may differ from quotes and consider your own risk tolerance.
Key takeaways
- A Smart Order Router combines real‑time market data, venue behaviour, fees and your order constraints to seek the best practical bid/ask execution, not just the headline quote.
- The router can split orders, route to dark or lit venues, and weigh net price vs speed to improve average execution; it continuously monitors fills and reroutes remaining quantity.
- SOR improves the chances of better execution but cannot guarantee the absolute best microsecond price—latency, data quality, venue rules and market movement still matter.
- Regular monitoring, transparent logs and sensible routing defaults help the SOR perform consistently; always remember trading carries risk and this is not personalised advice.
References
- https://www.fow.com/insights/smart-order-routing-systems
- https://navia.co.in/blog/smart-order-routing/
- https://rupeezy.in/blog/smart-order-routing-explained-for-algo-traders
- https://rocknblock.io/blog/smart-order-routing-in-dex-app-development
- https://www.ultimamarkets.com/academy/what-is-smart-order-routing/
- https://medium.com/@Ashton_/the-complete-guide-smart-order-routing-sor-61984b5700ae
- https://www.chainup.com/blog/smart-order-routing-sor-technology-explained/
- https://b2broker.com/news/smart-order-routing/