Swap Into the Fee Token a Cross-Chain Message Requires
A cross-chain message fee is paid in the token required by its source contract path; swap before sending, retain gas, and verify the live quote and accepted fee asset.
The Finality Desk5 min read#f9016a

To pay a cross-chain message fee, swap into the fee asset accepted by the sending contract on the source chain, then keep enough of that chain’s native token to submit the swap and message transactions. The required asset depends on the protocol path: it may be the native gas token, or a supported ERC-20 fee token. A destination-chain token cannot pay a source-chain transaction fee, and a bridge quote does not necessarily include the gas needed to initiate it.
Which token pays a cross-chain message fee?
The sending contract’s fee mechanism determines the accepted token. Some paths charge the source chain’s native gas token through transaction value; others let the caller select a fee token from a supported list. These are separate from the token being transferred. Owning the asset you want to bridge does not guarantee that you hold the asset needed to submit the message.
For example, LayerZero’s `quoteLayerZeroFee()` estimates a message fee in the source chain’s native token for its fee-payment path. Chainlink CCIP exposes `getFee()` to quote a message in the selected fee token, and the caller supplies payment when calling `ccipSend()`. The exact accepted token and payment method depend on the deployed contracts and configured route. A token with the right ticker on another chain is not interchangeable: verify the chain and token address.
Bridge-and-swap flows can obscure this distinction. A route may deliver a different token on the destination chain while still requiring source-chain gas to approve the input token and send the deposit. Across, for instance, quotes relayer and liquidity-provider fees into the transfer’s input and output amounts; its relayer pays the destination fill gas. That does not remove the need for the user’s source transaction gas. For the wallet-to-destination flow, see these AcrossBridge move-or-swap steps.
How do you swap into the required fee token?
First identify the sending chain, the contract or application initiating the message, and the fee asset its current quote accepts. Then swap on that same chain. If the protocol requires its native gas token, swapping into a fee token on the destination chain will not help. If the protocol supports an ERC-20 fee token, confirm that the route accepts the specific contract address and that the wallet has approved it where required.
Before swapping, check that you can pay for the swap itself. A wallet with no native gas token cannot normally submit an ordinary on-chain swap transaction, even if it holds plenty of another token. You may need to fund a small amount of native gas first, or use a wallet or application that explicitly supports sponsored transactions. Sponsorship changes who submits or pays for the transaction; it does not mean every message path accepts any token as its fee.
Estimate the complete amount needed rather than swapping to the displayed fee alone. The sending transaction may use more gas than expected, and the fee quote can change with destination gas prices, message settings, or the route. Keep a reserve of native token for the swap, any token approval, and the final send. If you plan to send several messages, account for separate transaction costs rather than treating the first quote as a reusable balance target.
What should you check before sending?
Compare the live quote with the token and amount in your wallet immediately before submitting. A quote is specific to the message parameters: destination chain, receiver, payload, gas limit, and, where applicable, token transfer details. Changing one of these can change the fee. Some contracts revert when payment is below the quoted requirement; overpayment may be refunded, retained, or handled according to that protocol’s implementation, so check its documented behavior.
- Confirm the source chain and fee-token contract address, not just the ticker.
- Requote after changing the destination, payload, gas limit, or transfer amount.
- Leave enough native gas for approvals and the send transaction, even if the message fee uses an ERC-20.
- Check slippage and minimum received on the swap, then verify the resulting balance before sending.
The swap and the message are distinct transactions unless an application explicitly bundles them. A failed swap leaves the message unsent; a successful swap followed by a failed message can leave the fee asset sitting in the source wallet. Review the wallet’s transaction preview for the contract, chain, token approval, and value being sent. Do not infer a refund from a failed or delayed destination execution without checking the protocol’s status and refund rules.
Is a cross-chain swap enough to cover message fees?
Usually, no. A cross-chain swap describes the asset the user wants to receive across chains; it does not by itself specify how the source transaction’s gas will be paid. Some interfaces abstract relay costs into the quoted output or sponsor transaction submission, while others require a separate fee balance on the source chain. Treat those as different layers: the bridge or messaging quote covers the route’s stated costs, and the wallet still needs a valid way to authorize and submit the source action.
The practical choice is to swap only after identifying the exact fee path. If it requires native gas, keep that token in the source wallet. If it accepts a selected ERC-20, verify the supported address and allowance requirements, then quote the fully configured message again before sending. This avoids the common dead end of holding the right value in the wrong token or on the wrong chain.