What an aggregator actually is
An aggregator is a comparison engine for swaps. On its own it holds no liquidity. Instead, for a given trade it asks many routing engines, exchanges, and bridges what they would give you, collects the answers, and picks the one that leaves you with the most after costs. Then it hands you that route to execute.
The value is breadth. A single venue only knows its own price and its own liquidity. When you check many at once, a poor rate on one never costs you as long as a better one exists somewhere else. The aggregator turns a scattered market into a single ranked list.
The pipeline, stage by stage
The implementations differ across aggregators, but the pipeline is consistent. It's the same four moves every time you ask for a quote.
1. Query the sources
The aggregator sends your intended swap, the input token, output token, amount, and networks, to many sources in parallel. Each source responds with what it can offer for that exact trade. Doing this in parallel is what makes a wide comparison fast enough to be useful.
2. Normalize the quotes
Raw quotes come back in different shapes, with different fee structures and assumptions baked in. The aggregator converts them into one comparable form so they can be judged on equal terms. Without this step you'd be comparing numbers that don't mean the same thing.
3. Rank by net output
Here the aggregator subtracts estimated costs, including the network gas each route would consume, and orders the routes by net output: the amount you'd actually receive, not the headline rate. A route with a great sticker price but heavy gas can rank below a plainer one that nets more. For large orders it may also split the trade across routes to reduce price impact.
4. Execute non-custodially
You approve and sign the chosen route from your own wallet. Funds move directly through the route's contracts, not into the aggregator's custody. The aggregator arranges and compares. It never holds your assets, so you stay in control of them throughout the swap.
Same-chain versus cross-chain routing
A same-chain swap keeps everything on one network, so the aggregator is comparing DEX routes and can pick the best path, sometimes hopping through an intermediate token to get a better rate.
A cross-chain swap is harder. Value has to move between two networks through a bridge or an intent-based engine, and the aggregator still has to compare those options fairly against each other. A broad aggregator does both, and it only asks a source for a route that source can actually serve, so the ranked list reflects real, executable options.
A worked example, conceptually
Say you want to swap a token on one network for USDC on another. The aggregator queries every engine and bridge that could serve that pair. One returns a high nominal rate but routes through a costly path. Another returns a slightly lower rate on a cheaper path. A third bridges through an intent engine with different fees again.
Each of those is normalized, gas and costs are subtracted, and the results are ranked by what actually arrives in your wallet as USDC. The winner might not be the one with the flashiest headline number, because net output is what's ranked. You sign that route, and the funds move without the aggregator ever holding them.
Multiswap works this way. It queries nine routing engines across many networks, ranks by net output, and lets you swap on the best route non-custodially. Comparing across engines is what turns 'hope this venue is fair' into 'this is the best available route right now,' though quotes are live and the best route can change moment to moment.