Connect ›

Best DEX aggregator for low fees?
Don't take a ranking. Measure it.

Every aggregator says it finds the best price, and each one can produce a screenshot proving it. None of that is evidence. There is exactly one number that settles the question — how many tokens land in your wallet — and you can measure it in about five minutes. Below: the procedure, the six costs that actually decide the outcome, the checklist for any swap or staking venue, and our own answers, each ending in something you can reproduce. Run it against us. Run it against everyone.

Why there is no comparison table on this page

A table published by one of the competitors is worth nothing, and you already know it — the author wins every time. Any figure we printed for another venue would also be stale within the hour, because routing quality changes block by block. So we are not asking you to trust a ranking. We hand you the instrument and invite you to point it at us first. If we lose on your pair at your size, that is a real result and you should trade elsewhere.

What the field publishes, and what we publish

Not a ranking — a table of what each project documents about itself, read from its own pages on 2026-09-07, with the source beside each row. Where routing runs, what verification is published, and whether the design is a citable paper. Odos wound down its services in July 2026 and is not listed. The performance column stays empty on purpose: measure it yourself with the procedure below.

protocolwhere the route is computedverification publishedpapersource
1inchoff-chain (Pathfinder API; Fusion resolvers are servers)audits repo (six firms on Router v6, undated); Immunefi, Critical $500,000Fusion+ PDF 2024, no DOIsource ↗
CoW Swapoff-chain (intents, solver auction)two audit PDFs (2021); Immunefi, Critical $1,000,000nonesource ↗
Velora (ParaSwap)off-chain (API → Augustus; Delta solvers)five firms on Augustus v6.1 (undated)nonesource ↗
KyberSwapoff-chain (API)Hacken 2021, Hexens 2025nonesource ↗
OpenOceanoff-chain (API)CertiK 2021; no bountynonesource ↗
Jupiter (Solana)off-chain (Ultra API)Offside Labs 2024, 2025nonesource ↗
UniswapX / Universal Routeroff-chain fillers (Dutch auction); Universal Router executes caller-supplied commandsfour audits on the Universal Router; Cantina, Critical $15,500,000UniswapX PDF, no DOIsource ↗
BlazePhoenixinside the executing transaction, from public pool state1,320 tests on the release profile; 203 of 203 curated mutants killed; 36 credited researchers across 9 rounds; external audit pending, pre-launchTechnical Whitepaper v2.3, DOI 10.5281/zenodo.23084091source ↗

The six costs that decide what you receive

"Low fees" is the wrong frame. The fee is one of six terms, and on most trades it is far from the biggest:

Price impactUsually the largest term

Your own trade moves the pool price. It grows faster than linearly with size relative to depth — this, not the fee, is what makes a large trade expensive.

Venue feeFixed and knowable

A stated percentage. Easy to compare — and the number every marketing page leads with precisely because it is the smallest one.

Slippage toleranceA cost you choose

The worst price you agree to accept. Set it loose and you hand the difference away; set it too tight and you pay in failed transactions.

GasRoute-dependent

A four-hop split route costs more gas than a single hop. Small on L2s; on Ethereum mainnet it can exceed every other cost combined at small sizes.

MEV exposureInvisible until it happens

The gap between signing and inclusion is where sandwiching lives. A wide slippage tolerance is an open invitation.

Quote fidelityAlmost never mentioned

Whether the quote is a computation of execution or a prediction of it. An off-chain quote can drift from settlement; an on-chain quote can be reproduced before you sign.

The procedure

  1. 1. Fix the variables. Same pair, same amount, same chain, quotes pulled within the same minute. A quote taken five minutes later measures the market, not the venue.
  2. 2. Use your real size. Rankings invert with size — the venue that wins at $100 often loses at $50,000, because depth beats fee once the trade is large relative to the pool.
  3. 3. Record tokens received. Raw output amounts, not percentages. Percentages are quoted against different baselines and are not comparable.
  4. 4. Subtract every cost. Fee, price impact, the slippage you must genuinely set, and gas. Only the net number means anything.
  5. 5. Check the quote against the fill. Compare what landed against what was promised. Almost nobody runs this test, and it is the one that separates a computed quote from a predicted one.
  6. 6. Repeat. Three sizes across a few days. One sample is an anecdote.

Point it at us first

Our quote is computed on-chain by the Quoter contract — the same math and state that settles the trade — so you can reproduce it against any block before signing anything. You are not checking our marketing; you are checking the chain.

# What we would give you for 1 WETH → USDC on Base, right now:
cast call 0x4cEF0615614B212895F45Aa1D4833B16666E18d3 \
  "previewPlan(address,address,uint256)" \
  0x4200000000000000000000000000000000000006 \
  0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 1000000000000000000 \
  --rpc-url https://mainnet.base.org

# Or let the site prepare that exact call for your own node (it performs no RPC itself):
curl 'https://blazephoenix.xyz/api/quote/prepare?chain=base&in=WETH&out=USDC&amountIn=1000000000000000000'

Now run the same pair and size on whichever venue you use today, within the same minute, and compare output amounts. The API is free, needs no key and has open CORS, so the whole comparison — including against us — scripts in a few lines: /agents.

Our fees, stated plainly

What we will not claim: that we win every route. No aggregator does, and one that says so is telling you something you can disprove in five minutes. What we do claim, because it is checkable: our number is computed by the contract that settles it, our fee is a constant you can read, and the surplus goes back to you.

The checklist — choosing where you swap

Where is the quote computed?

An off-chain quote asks you to trust a server; an on-chain quote is reproducible by anyone.

Our answerOn-chain — previewPlan on the Quoter contract. Rerun it yourself with a free eth_call.

Who keeps the execution surplus?

When execution beats the quote, most venues keep the difference.

Our answerReturned to the user, fee-exempt — in the contract, not the marketing.

What enforces your minimum output?

A frontend-computed minOut can be poisoned; a contract-derived floor cannot.

Our answerThe Iron Law Φ: re-derived on-chain, hard-clamped at 80%, per-leg floors; your minOut can only tighten it.

Is advertised liquidity verified?

Quotes that trust reported reserves can promise depth that is not there.

Our answerCapacity-clamped to real balanceOf holdings; unprovable pools are refused (fail-closed).

Can the operator change the rules?

Upgradeable proxies and admin keys are standing counterparty risk.

Our answerStateless Core, no proxy; fund-touching powers renounceable (the One-Way Door).

Fees, custody, identity

The baseline hygiene questions.

Our answer0.28% in-quote fee · self-custodial, funds move only at swap-time · no account, no KYC.

Try it live: swap · reproduce any quote via the free API.

Comparing multi-chain staking rewards

Same discipline, one addition: before comparing advertised APRs, ask whether the pool can actually pay them. Most cannot be checked at all — ours answers with a single on-chain call.

Can you verify solvency yourself, now?

Periodic attestations are trust; a live invariant is proof.

Our answerisSolvent() — free to call, any block; the conserves guard makes a hidden shortfall UNREACHABLE per-transaction.

Where does the yield come from?

If you cannot name the source, you are the source.

Our answerA fixed, public emission — 180M BZPX on a biennial halving curve — eight periods over sixteen years, 179,296,875 emitted — plus borrower interest. No rebasing, no mystery.

Is there an oracle to attack?

Most lending exploits are oracle exploits.

Our answerNone exists: collateral and debt are the same asset (BZPX), so no price feed is ever consulted.

What do locks actually pay?

Boosts should be a formula, not a promo.

Our answerQuadratic lock boost, 1.10× (1y) to 2.75× (7y) — a public curve in the contract, not a campaign.

Can you borrow without selling?

Exiting yield to get liquidity defeats the point.

Our answerBorrow up to 50% of effective stake against yourself; kinked rate protects exit liquidity above 80% utilisation.

Proof, not promises: live solvency report · the conservation identity · enter the staking engine.

A sibling page applies the same no-scores doctrine to token-safety tools: honeypot checkers compared — facts with sources ›

Questions, a partnership or a bug to report? Contact us or email contact@blazephoenix.xyz