e471b3
Why Cross-Chain Swap Quotes Move Before Confirmation
A cross-chain quote is a time-bound estimate: pool state, gas, route liquidity and bridge fees can change before the source transaction lands and the destination leg fills.
The Hashbeam Desk··5 min read

A cross-chain swap quote can change before confirmation because it estimates a route across markets and chains using state that continues to move while the transaction is prepared and submitted. The quoted output is a snapshot, not a reservation: pool prices, available liquidity, gas costs and bridge fees may differ by the time a source-chain transaction is included, and the destination leg may execute later still.
A route can include a swap on the source chain, a bridge or relayer transfer, and another swap on the destination chain. Each leg has its own state and execution conditions. For a worked explanation of QuickSwap Ethereum-to-Solana routing, see the linked routing article; the same distinction between estimating a path and executing its separate legs matters when reading any cross-chain quote.
What does a cross-chain quote estimate?
A quote estimates the output of a proposed route from the information available when the route is calculated. A router or aggregator can compare candidate paths, including different pools, bridges and destination swaps, then return an expected amount and transaction parameters. The estimate depends on the route’s assumptions: token pair, input size, pool reserves or order-book liquidity, fee schedules, and the chains involved.
For an automated market maker, a trade changes the pool’s token balances and therefore its exchange rate. A larger trade against shallow liquidity generally moves the price more than a smaller trade against a deep pool. If another trade reaches the same pool before yours, the route is priced against a different balance. An aggregator may also choose a different path if a pool’s price, liquidity or availability changes.
Cross-chain routes add fees and execution steps that do not reduce to one pool price. A bridge may quote a relayer fee, destination gas cost, or liquidity-dependent charge. In Across’s V3 flow, for example, a deposit is recorded through a SpokePool contract using depositV3 and emits V3FundsDeposited. A relayer can then call fillV3Relay on the destination chain, supplying destination tokens from its own capital. The quote’s output therefore reflects both the deposit terms and costs associated with filling the transfer; it is not simply a forecast of a single swap.
Why can the amount change while a transaction is pending?
The source-chain transaction does not execute at the instant the wallet displays a quote. It must be signed, broadcast and included in a block. Until execution, other transactions can change relevant pool state, and the gas price needed to get included can rise or fall. A quote that was competitive when requested may no longer be the best available route by the time the transaction lands.
Most swap transactions include a limit that makes the trade revert if execution would deliver less than an allowed minimum. In route APIs this may appear as a minimum output amount or as slippage tolerance applied to the estimate. That limit protects the user from receiving an arbitrarily poor amount, but it does not freeze the quoted price. If the route moves past the limit, execution fails; the user may still pay gas for the failed transaction, depending on the chain and transaction outcome.
Cross-chain completion has another time boundary. Source-chain inclusion means the deposit or swap leg was accepted on that chain; it does not necessarily mean the destination leg has completed. A relayer may fill the destination transfer after observing the deposit, subject to the bridge’s rules and availability. Some systems may wait for source-chain finality before treating a deposit as safe to fill. A source-chain reorganization can therefore affect a transfer that appeared included, which is one reason route status and final settlement are distinct from the initial confirmation shown in a wallet.
How should you read a quote before signing?
Read the quote as a conditional execution plan. Check which assets and chains it names, the expected output, any minimum output, the route’s fees, and how long the quote remains usable. Then compare the transaction details the wallet asks you to sign with that plan. If the amount, recipient, chain or contract call differs, stop and inspect the route rather than assuming the displayed quote still describes the transaction.
- Expected output is the route’s estimate under the state it observed; it is not a guaranteed receipt.
- Minimum output is the execution boundary. A tighter minimum limits price movement but increases the chance of a revert.
- Fees can include pool fees, bridge or relayer charges, and gas on one or both chains. Check whether the displayed output is before or after them.
- Status should distinguish source-chain inclusion from destination-chain fill and final settlement.
Refreshing a quote shortly before signing can reduce the gap between the estimate and the state used to build the transaction. It cannot eliminate movement between signing and inclusion, nor guarantee that a destination fill happens at the displayed time. For most users, the better choice is a route with a clear minimum-output condition and legible fee breakdown over one that shows a slightly higher estimate but hides how that estimate is protected.
The practical takeaway is simple: a cross-chain quote is a time-sensitive estimate across multiple execution environments. Confirmation starts or advances the route; it does not retroactively lock every market price, fee or destination action shown in the quote.