Someone hands you half a million dollars in USDC and asks you to turn it into ETH.
You've got three paths and 500 milliseconds to decide.
Uniswap direct. You query the pool, simulate the execution. 2.4% impact. That's $12,000 gone. Twelve seconds to settlement.
Curve, routing through USDT intermediary. 0.8% impact. $4,000. Twelve seconds.
Genesis OTC desk. Call them, get a quote. 0.25% spread. $1,250 lost. But they can't settle for 30 minutes because they need to actually manage their own position.
Do you take the guaranteed fast execution or the cheap slow path? This is routing. Not a single number. It's a constraint satisfaction problem disguised as a comparison.
The math on slippage gets weird
You're converting 500k USDC to ETH. Mid-market ETH is $3,800. Simple math says you get 131.58 ETH. Except you don't, because you're not buying one share on a stock exchange. You're a whale hitting the order book.
First chunk of ETH sells at $3,800. Second chunk at $3,801. Third at $3,802. By the time you've bought all 131.58, your average entry is $3,850. You paid $12,000 extra because you moved the market.
That's slippage. But it's not a rounding error or market friction. It's real cash.
Uniswap pools are shallow relative to institutional flows. Move $500k through there and you're eating massive impact.
Curve built their algorithms specifically for low-impact conversions on stablecoins and similar assets. Converting USDC to USDT on Curve? The bonding curve is designed for that exact pair. Slippage stays small.
But Curve won't help you convert USDC to ETH directly (wrong pair). You have to hop through intermediaries. USDC to USDT (Curve), USDT to ETH (maybe through Uniswap). Now you've got routing risk across multiple pools. What if the second hop has a different slippage profile than you modeled?
OTC desks don't have pool impact. They have bid-ask spread. Genesis quotes you 0.25%. They're taking the other side, they're managing the position themselves. Tighter than what you'd get on a DEX at this size. But settlement is slow because humans are involved. They need to source the actual ETH. They need time.
What the routing system actually does
Build a system that queries everything simultaneously, models execution for your specific order size, compares true cost including settlement time and operational risk.
Three liquidity categories exist.
DEXs. Uniswap V4, Curve, Balancer, Dodo. Orca and Raydium on Solana. Each one has different liquidity curves, fee structures, slippage profiles. They vary wildly based on the token pair and order size. USDC to ETH on Uniswap is different than USDC to DAI on Curve.
Aggregators. 1inch, 0x, Matcha. They don't hold liquidity. They split your order across multiple DEXs simultaneously to minimize impact. They're automated path-finding. You query their API, they give you the best split they can construct in real-time.
OTC. Genesis, Jump Trading, Paradigm, others. Market makers with balance sheet. You call (or hit their API), they quote a spread. Pricing depends on their inventory, market conditions, whether they're actively hedging.
Your system queries all three in parallel. Hundred milliseconds, you've got answers from everywhere.
The actual execution flow
Customer sends $500k USDC, wants ETH, needs it in 30 seconds.
System hits Uniswap USDC/ETH pool. Current liquidity $200M. System runs simulation. Your order would move the price. 2.4% slippage. Total execution cost $512k in ETH equivalent. Settlement 12 seconds.
System hits Curve USDC/USDT pool. Queries the USDT/ETH bridge. Total slippage across both hops 1.1%. Execution cost $505.5k in ETH equivalent. Settlement 12 seconds.
System hits Balancer. Similar to Uniswap but different inventory. 2.1% slippage. $510.5k total cost.
System hits 1inch API. They split 40% through Curve, 40% through Uniswap, 20% through Balancer. They optimize for you. Their aggregated slippage 0.9%. Execution cost $504.5k in ETH equivalent.
System hits Genesis OTC API. Genesis quotes 0.25% spread. That's $1,250 cost. But settlement is 30 minutes minimum.
Jump Trading API says they can only take $300k of your order. Not enough.
System now has the full picture. Genesis is the cheapest but slow. 1inch is fast and nearly as good. SLA says 30 seconds so Genesis is off the table.
Recommendation is 1inch. Executes in 8 seconds. Saves $8,000 vs. Uniswap.
True cost is not just slippage
Most routing systems optimize on a single dimension. What's the tightest execution price? But that's misprioritizing.
Real slippage calculation has five components. Spot slippage (mid-market vs. where you actually execute). Market movement cost (price is shifting while your transaction is in flight). Gas costs (not nothing on Ethereum). Timing risk (if you're waiting for OTC quotes, the market might move against you while you wait). Execution risk (multi-hop routes can partially fail, now you're stuck).
A proper routing system accounts for all five. You're optimizing cost subject to constraints. Maximum allowed timing risk. Acceptable execution probability. Minimum settlement time. Absolute cap on total cost to the customer.
That changes recommendations dramatically. OTC desk might be best mathematically but if settlement violates your SLA, it's off the table. Multi-hop might be cheaper but if it has 2% failure rate, the expected value is worse than the higher-cost alternative.
Atomic execution and fallbacks
Partial fills are a nightmare. You wanted to swap $500k USDC to ETH. Route executes. Now you've got $400k USDC and $100k ETH. You're misaligned. Counterparty is exposed. Operational mess.
DEXs support atomic swaps (smart contracts go all or nothing, reverting on partial fill). OTC doesn't. If Genesis can't source the full ETH, they're not taking your trade.
Good routing systems handle this by either ensuring atomicity across all sources or building explicit fallback chains. "Primary route is 1inch, atomic, settlement 12 seconds. Fallback is Balancer direct, atomic, settlement 14 seconds. If both fail completely, alert ops team." That turns price optimization into operational logic. You're guaranteed to execute, not just finding the cheapest path.
Where the moat actually lives
Customer sends $500k. System queries Uniswap (2.4% impact), Curve (0.8%), 1inch (0.8%), Genesis (0.25%).
You're fast, so you route through 1inch. 0.8% cost to you, 0.8% cost to customer (you break even).
Actually you quote customer 0.5%. You're eating 0.3% loss on the trade.
After 100 trades you're consistently down 0.3% on your margin. You adjust. Maybe raise pricing 0.2%. Maybe route bigger orders through Genesis and accept the delay. Maybe hold more inventory yourself and tighten spreads.
The operators who win are the ones who automate this feedback loop across thousands of trades per day, faster than competitors. They're measuring cost per route per token pair per order size. They're modeling market movement. They're adjusting pricing in real-time based on actual execution outcomes.
That's not a technical moat anymore. That's an operational moat. And it's actually unbreakable because it requires you to have already done thousands of trades, accumulated thousands of data points, trained models on real execution history.
New competitors can't buy their way in. They have to earn it.