Smart order routing
∞structuralOne instrument, many venues: a router decides where each child order goes to get the best price net of fees, latency and fill probability. The defensive twin of latency arbitrage.
The idea
Reference figure. This concept is explained in prose and diagram; the interactive widgets live on the flagship pages it links to under Where this fits.
Why does routing exist? Fragmentation
Because one instrument trades on many venues simultaneously, the "market" is a synthesis, not a place. In US equities there are over a dozen lit exchanges plus dozens of dark venues, and the best bid and the best ask can sit on different ones. There is no single place to send an order; the router must find where the liquidity, and the best net price, actually is.
The crucial point is that the NBBO is assembled, not located. The National Best Bid and Offer is the best bid across all venues and the best ask across all venues, frequently on two different exchanges.
The router's first job, per child, is to know where the contra liquidity lives. The mechanics of that synthesis are the subject of market fragmentation, whose IX-FRAGMENT widget lets you build the NBBO across venues by hand. Crypto fragments too: the same name trades on many CEXs and DEXs with no consolidated tape and no NBBO, so routing there is even more the executor's own problem (see market making in crypto). Fragmentation cuts both ways: more venues mean a tighter consolidated touch through competition, but also more places to be slow and more routing complexity. The router exists to harvest the upside and manage the downside.
Lit vs dark: where to source liquidity
Lit venues display their order book: you see the depth, but so does everyone, so resting there leaks your intent. Dark venues (dark pools) hide resting orders and typically execute at the mid, so you can trade size without displaying it, at the cost of uncertain fills and the risk of being detected or adversely selected by whoever else is in the dark.
Lit: displayed depth, price–time priority, fully visible. Good for liquidity you can see; bad for hiding size, which is the signalling cost from why execution algorithms exist. Dark: no pre-trade display, usually a mid-point match. You can rest a large child without showing it, cutting impact and signalling (the dark pool's whole purpose), but you only fill when a contra arrives, and you may be adversely selected by informed flow or pinged by pinging / sniffing probes hunting for hidden size.
The router's job is to spray small slices across lit venues to capture displayed liquidity and rest in selected dark venues to source hidden liquidity, continuously assessing which dark pools actually give clean fills versus toxic ones.
Spray vs sequential routing
When the contra liquidity is spread across venues, the router can spray (fire child slices at several venues simultaneously to grab the displayed size before it moves) or route sequentially, trying one venue, then the next. Spray captures fleeting liquidity but signals widely and may over-fill; sequential is stealthier and fee-aware but slower, risking the liquidity vanishing.
Spray (parallel): simultaneous orders to every venue showing size at the price. This wins the race for displayed liquidity that a competitor's router is also chasing, but you broadcast across the whole market and can fill more than intended if several hit at once. Sequential (serial): try the cheapest or best venue first, then cascade. Stealthier, and it lets you prefer rebate venues, but the liquidity you saw on venue 2 may be gone by the time you have finished with venue 1, the stale-quote problem that underlies latency arbitrage.
In practice routers blend the two: spray the displayed top-of-book to grab what is fleeting, then work the residual sequentially, posting passively where rebates and fill quality justify it.
Venue toxicity and fill quality
Not all fills are equal. A venue is toxic if the fills you get there are systematically followed by the price moving against you, i.e. you are being adversely selected by informed flow on that venue. Smart routers measure realised fill quality per venue (markout, fill rate, reversion) and route away from toxic venues even when their displayed price looks best.
Markout is the standard measure: track the mid a few hundred milliseconds and a few seconds after each fill. If your buys are systematically followed by the price falling, that venue's flow is picking you off: the adverse selection the market maker fears, seen from the executor's seat.
Fee-aware is not the same as price-aware. The cheapest displayed price is not the cheapest net price once maker–taker fees and rebates are in, nor the best outcome once toxicity is in. A good router optimises net-of-fee, toxicity-adjusted expected cost, not the headline quote. Dark-pool fill quality is its own discipline (some venues leak information about resting orders, some are populated by predatory flow), so routers maintain a live, proprietary scorecard. That scorecard is a real, defensible edge in a way "run VWAP" is not.
The constraint: Reg NMS order protection
In US equities, routing is not free choice. The Reg NMS Order Protection Rule (Rule 611) forbids trading through a better-priced protected quote on another venue. So a router cannot simply ignore a venue showing a better price; it must either route to it or trade at or better than it. This both protects investors and forces fragmentation-aware routing.
What it means: if venue B displays a better bid than where you are about to sell, you may not "trade through" it; you must access that better quote. The rule (SEC Regulation NMS, adopted 2005) is why a compliant SOR in US equities must consult every protected venue's top of book before executing. It interacts with everything above: order protection constrains where a child can legally execute, while fees, toxicity and dark availability decide which of the legal options is best.
Different regimes, same idea. The EU's best-execution obligations under MiFID II / MiFIR impose an analogous duty (take all sufficient steps for the best result) without an identical trade-through rule. Crypto has no such rule at all, so routing there is purely the executor's optimisation. Reverify rule citations against current SEC / ESMA text before relying on them.
Worked example
Illustrative synthetic figures as of 2026, not advice. Child order: sell 5,000 shares, mid 50.00. The book is fragmented: Venue A shows 2,000 bid at 50.00 with a 0.30 bps taker fee; Venue B (an inverted venue) shows 1,500 bid at 50.00 but pays a 0.20 bps rebate to take; and a dark pool is believed to hold mid-point liquidity at 50.005.
Naive "hit the displayed best". Sweep A then B for 3,500 at 50.00, pay A's fee, and route the residual 1,500 down to the next lit level at 49.99, a net realised price around 49.997 after fees, and you have displayed your selling across two lit venues (signalling).
If the dark fills cleanly you realise about 50.003 net (roughly 1 bp better than naive) and you leaked less. If instead the dark pool is toxic (your fills there are followed by the bid dropping), the router's markout history would down-weight it and prefer the lit route. The point: the cheapest displayed price (A) is neither the cheapest net price (B, after the rebate) nor the best outcome (the dark mid, if clean). Routing is a net-of-fee, toxicity-adjusted optimisation, re-solved per child. Reverify fee and rebate schedules per venue; they change frequently.