# Intents vs on-chain routing: two philosophies of the perfect swap

> Canonical: https://blazephoenix.xyz/learn/intents-vs-onchain-routing
> License: CC BY 4.0 (attribution + link) · © 2026 BlazePhoenix
> Updated: 2026-07-20

Intent systems auction your order to off-chain solvers you must trust collectively; BlazePhoenix computes routing on-chain, reproducible with one eth_call — verifiability versus auction, honestly compared.

The intent model is genuinely elegant: instead of choosing a route, you sign a desired OUTCOME — "I want at least 1,800 USDC for 1 ETH" — and specialized off-chain solvers compete in an auction to fill it. Done well it can deliver gasless UX, MEV internalisation and sometimes better prices, because solvers can use private inventory and cross-order matching no public pool offers. UniswapX and CoW-style batch auctions made this the industry's favourite frontier.

But read what the design ASKS of you: the auction is an off-chain institution. Who may solve, how winners are picked, what the solver saw before filling you, whether the auction was competitive this block — none of that is a property you can re-derive from public state. The intent model replaces the trusted PRICE SERVER of Web 2.5 aggregators with a trusted MARKET of fillers. Better — often much better — but the trust did not disappear; it moved.

## The other philosophy: compute the route where it settles

BlazePhoenix makes the opposite bet: keep the intelligence ON the chain. Discovery is a permissionless registry that learns liquidity by executing it; quoting is previewPlan — an eth_call anyone can run, computed by the same bytecode that settles; the minimum output is re-derived by the contract itself (the Iron Law Φ); and unprovable liquidity is refused, fail-closed. There is no auction to audit because there is no auction: the "solver" is a public pure function, identical for whales and shrimps, reproducible on any node, any block.

The honest trade-offs, both ways. Intents can beat us when private inventory or coincidence-of-wants genuinely exists, and their gasless UX is real. We win on verifiability (every step reproducible), on determinism (the quote IS the execution logic), on censorship-surface (no permissioned filler set to be pressured), and on composability (a contract can call our whole pipeline atomically — an intent cannot be awaited mid-transaction). If your priority is the last basis point on a giant order, test both and measure. If your priority is knowing — not hoping — what happened to your order, computing beats auctioning. Compute, don't trust is not a slogan against intents; it is the discipline of keeping every promise checkable.

**Verify it yourself:** reproduce our whole "solver" with one free eth_call (previewPlan on the Quoter) — then try to reproduce any off-chain auction's winner selection for the same block

Related: https://blazephoenix.xyz/learn/on-chain-quoting · https://blazephoenix.xyz/learn/why-aggregator-quotes-differ · https://blazephoenix.xyz/learn/invariant-driven-ai
