Where do cross-chain refunds go? Source address, refund address and wallet types

Updated

Short answer

A failed or expired cross-chain transfer is refunded to a refund address on a specific chain, not "back to wherever it came from" by magic. On most bridges the default is the depositing address on the source chain, and many APIs let the app change it. Before you sign, make sure the refund address is one you control on the chain where the refund will be paid — ideally your own wallet, never an exchange deposit address.

Key terms

How refunds work on common services

Across

If no relayer fills a deposit before its fill deadline, the deposit expires and the funds, still escrowed in the source-chain contract, are refunded. Across exposes two settings: refundAddress, which defaults to the depositor, and refundOnOrigin, which defaults to true (refund on the source chain; false means on the destination chain). Refunds go through Across's settlement process and can take several hours (Across docs: refunds). See our Across page for measured quotes.

NEAR Intents 1Click

With 1Click you send funds to a deposit address and the quote request names a refundTo address and a refundType — the origin chain, or an internal NEAR Intents balance. If the swap fails the status becomes REFUNDED, meaning funds were returned to the refund address (NEAR Intents: making a request). Front ends normally fill refundTo with your source address, but check it on the confirmation screen. Read our NEAR Intents 2026 incident page for how a protocol pause affected in-flight funds.

deBridge DLN

deBridge orders can be cancelled if they are not filled, and the protocol fee is refunded in full on cancellation (deBridge docs: fees). See deBridge DLN.

Exchanges

If you withdraw from an exchange and the withdrawal fails, the exchange credits your exchange account. If you deposit to an exchange on the wrong network, see the wrong-network matrix.

Which wallet types are safe refund addresses?

Wallet typeSafe as refund address?Why
Your own EOA (MetaMask, Rabby, hardware wallet account)Yes, on any EVM chainThe same key controls the same address on every EVM chain (ethereum.org: accounts)
Smart-contract wallet such as SafeOnly on chains where it is deployedThe address exists only where the contract is deployed; later deployment works for v1.3.0+ Safes, not on zkSync Era (Safe docs)
Exchange deposit addressNoYou do not hold the key; recovery depends on the exchange's policy
Someone else's addressNoThe refund belongs to whoever controls it

Non-EVM chains follow their own formats: a refund on Solana or Tron must go to an address valid on that chain.

A pre-sign refund checklist

  1. Find the refund address on the confirmation screen; if it is not shown, assume the depositor address on the source chain.
  2. Confirm it is your address and that you can sign on that chain.
  3. If you use a smart-contract wallet, confirm it is deployed on the refund chain.
  4. Keep a little gas on the refund chain so you can move refunded funds.
  5. Save the source transaction hash; it is the key to every tracker (verification guide).

FAQ

My transfer failed. Why did the refund arrive on a different chain?

The service's refund setting may point to the destination chain. On Across, for example, refundOnOrigin set to false refunds on the destination chain.

Can I change the refund address after sending?

Usually not; it is part of the signed deposit or the quote. Contact the service's support with the transaction hash if the address is wrong.

Do refunds include the fees I paid?

It depends on the service. deBridge documents that its protocol fee is refunded in full on cancellation; source-chain gas is never refunded because it was paid to the network.

Sources