Which Fees Remain After You Cancel a Bridge Route?
Canceling a bridge route does not undo transactions already included on-chain: you may still pay for approval, source-chain gas and any completed bridge work.
The Finality Desk5 min read#100d0a

Canceling a bridge route usually leaves you responsible for fees from transactions already included on-chain. Closing a quote before submitting it costs no network gas; canceling a pending transaction may require a replacement transaction; and a mined deposit follows the bridge’s refund rules. The word “cancel” can describe each of these different states, so check the transaction status before estimating what comes back.
A route quote is an instruction for a possible transfer, not a transfer itself. It may show a relay fee, an app fee, an exchange rate or an estimated gas cost. Those quoted amounts are not necessarily charged when you close the page. The charge begins when a transaction is submitted and included on the source chain, or when a later step in the route executes. For token-specific checks, see which Across WBTC destinations support. Token support is route-specific, and a canceled route does not make an unsupported destination usable.
Which fees are charged before a bridge deposit?
Wallet approval and source-chain gas can be spent before the bridge deposit exists. An ERC-20 route may first require an approval transaction that lets a contract transfer tokens from the wallet. If that approval is mined, its gas is spent even if the user then abandons the route. The approval itself does not normally transfer the approved token amount.
The deposit is a separate transaction. Once it is included, its gas cost is spent whether the route later completes, expires or is refunded. If the transaction reverts, it does not create the intended deposit, but the sender still pays for gas consumed executing the failed transaction. Gas already consumed is not restored by a bridge refund.
A wallet’s “cancel” control for a pending EVM transaction is also not a bridge-level refund. It usually submits a replacement transaction with the same account nonce and a higher fee. If the replacement is included first, the original transaction cannot also be included with that nonce. The replacement’s gas is spent; if the original is included first, the deposit may still proceed. This works only while the original remains pending, before inclusion.
What happens to fees when a deposited route expires?
After the source-chain deposit is included, the bridge contract or protocol controls the next step. The user cannot generally erase that deposit by closing the interface. The transfer may complete, wait for a fill, or become eligible for the bridge’s refund process. Which fees are returned depends on the protocol and on how far execution progressed.
Across provides a concrete example. A deposit can become eligible for a refund when its fillDeadline passes without a relayer fill and no partial fills were executed. The deposit remains escrowed in the origin SpokePool while the Across Dataworker includes it in a settlement bundle. After the bundle passes the challenge period, the refund root is sent to the relevant chain and the refund is executed to the configured refundAddress. Expiry therefore starts a settlement path; it does not instantly reverse the source transaction.
Keep the possible charges separate:
- Approval gas: already spent if the approval transaction was included.
- Source-chain gas: spent for an included deposit, including one that later expires.
- Bridge or route fees: governed by the protocol’s refund rules and whether any part of the transfer was filled or executed.
- Replacement or recovery gas: spent if canceling a pending transaction or claiming a refund requires another on-chain transaction.
Do not treat a quoted relay fee as equivalent to gas already paid. In Across, the user-facing transfer fee is reflected in the difference between the deposited input amount and the destination output amount when a transfer is filled. A deposit that expires follows the protocol’s refund process; the status and refund amount should be checked against the deposit record rather than inferred from the original quote. An app fee may also be configured separately by an integrator, so its treatment depends on the route implementation.
How can you tell what you will still pay?
Start with the source-chain transaction. If no deposit transaction was submitted, there is no source deposit to refund; check whether a separate approval was mined. If a transaction is pending, confirm whether it is still replaceable before using the wallet’s cancel action. If the deposit is included, find its bridge status and refund conditions. A pending, expired, partially filled and refunded deposit are different states, and the interface label alone may not show which on-chain action has occurred.
For Across, the documented status flow distinguishes pending, filled, expired and refunded. An expired status means a refund is being processed, not that tokens have returned to the wallet. Refund settlement can take hours because it depends on bundle processing, the challenge period and delivery of the refund root. Track the deposit and verify the destination address before treating the refund as complete.
The practical rule is simple: route cancellation can stop future work, but it cannot recover gas already consumed or undo a transaction already finalized. Before signing, separate the route quote from the wallet’s network-fee prompt. After signing, use the transaction receipt and bridge status to identify whether you canceled a pending transaction, stopped before deposit, or entered the bridge’s refund path.