BTC:
ETH:
SOL:
BNB:
XRP:
Execution choice

Choosing a route mid-trade

The best route is the one that can deliver the strongest protected result from the wallet now—not the path with the prettiest headline quote or fewest hops.

10 min readReviewed July 14, 2026Trading mechanics

The short answer

Compare routes with identical chain, input asset, output asset, trade direction, amount, wallet, and quote time. Then rank the amount protected to reach the wallet after route fees, gas or priority cost, approval and account setup, plus the chance that the transaction will still be valid when it executes.

“Mid-trade” means before authorizing the next execution attempt. A signed Solana transaction or EVM calldata payload names a specific plan. If the route needs to change, request a new quote, rebuild, inspect, and sign again. A previously signed payload does not dynamically follow whichever pool becomes best.

The route scorecard

QuestionProtected outputRead fromMinimum output or maximum inputWhy it mattersDefines the worst fill the transaction accepts, not merely the expected quote.
QuestionAll-in costRead fromRoute fee, gas, tips, setupWhy it mattersA higher gross output can lose after approval, account, wrap, or execution costs.
QuestionFreshnessRead fromQuote time, expiry, blockhashWhy it mattersThin markets can invalidate the route faster than the signing flow completes.
QuestionFailure surfaceRead fromHops, pools, accounts, simulationWhy it mattersEvery dependency is another state condition that can change or reject execution.
QuestionAuthorityRead fromSpender, permit, delegateWhy it mattersA route may require new or broader permissions that survive the intended trade.
QuestionSettlementRead fromAMM, RFQ, intent, chained planWhy it mattersThe party providing the fill, expiry behavior, and recovery path can differ.

Expected output is only the first comparison

For an exact-input trade, start with the same raw input units and compare expected output plus the protected minimum. Deduct costs paid outside that output: EVM gas, separate approval gas, Solana priority fees or tips, and token-account deposits. Also identify platform or integrator fees already embedded in the quoted amount so they are not subtracted twice.

A route that wins by a tiny quoted amount can be inferior if it needs an extra approval, is close to expiry, uses a fragile intermediate pool, or carries a much weaker protected output. The comparison is expected net result under current conditions—not certainty.

Different route types fail differently

Direct AMM

Fewer pool dependencies can make the path easier to inspect, but one shallow pool may create worse impact at size.

Multi-hop or split AMM

Several pools can improve price and capacity while adding accounts, fees, state dependencies, and a larger transaction plan.

RFQ or intent fill

A market maker or solver competes to provide the result. Quote expiry, signature flow, fill rules, and fallback behavior differ from a direct pool swap.

Chained or cross-chain route

Several ordered actions may settle independently. Compare the intermediate asset and recovery path, not only final output.

On Solana, rebuild around the current order

Jupiter's current order flow lets several routing engines compete, returns an assembled transaction for the selected order, and then accepts that signed transaction with its request ID for execution. The response exposes expected output, the winning router, fee fields, and—after execution—the actual input and output results.

Optional settings can restrict which routers remain eligible. A custom receiver, payer, referral, slippage override, or exclusion can therefore change the set of alternatives, not merely the presentation. When the trade amount or settings change, request a new order rather than editing assumptions around an old signed transaction.

On EVM, include gas and authorization in the route

Uniswap's quote response can expose the proposed routing type, estimated gas, whether an ERC-20 approval is applicable, permit data, and simulation failure context. Those fields belong in the comparison because two routes to the same output can impose different transaction and permission sequences.

Its routing preferences also distinguish best price from fastest quote return. “Fastest” in that API describes quote generation speed, not guaranteed transaction settlement. Read the route object and execution plan instead of inferring latency from the label.

Know when to refresh instead of forcing the path

Refresh the same route

The quote aged, the deadline or blockhash nears expiry, pool state moved, or the transaction was never signed.

Rebuild with a different route

The old path fails simulation, migration changed the venue, approval scope changed, an account is unavailable, or another route now wins after all costs.

Reduce or split size

Impact and failure risk rise nonlinearly at the intended amount. Requote each child order; do not divide one large quote by arithmetic.

Stop the attempt

Asset identity, spender, destination, minimum output, bridge state, or pool provenance cannot be verified.

For inventory already partly sold, return to partial exits and remaining inventory. The best path for the remaining size can differ from the route that handled the first exit.

What the journal should preserve

  1. Every candidate quote's time, exact input, expected output, and protected limit.
  2. Route type, pools or providers, hops, splits, fees, gas, tips, and setup costs.
  3. Approval, permit, payer, receiver, account, and wrapped-asset dependencies.
  4. Why the selected route won—and why a rejected route lost.
  5. The signed plan and actual onchain input/output, including a failed attempt.

Primary sources

Compare plan with result

Preserve the route you chose and the fill it produced.

Reconstruct pools, providers, approvals, fees, failures, and wallet deltas instead of recording only the terminal's headline output.

Open the journal