Unstick a Stuck Bridge Transaction — Check It First
A frozen bridge transaction is usually not a bridge failure at all: it is either an incomplete source-chain transaction, a rejected source-chain call, or a completed transfer whose destination-side action has not happened. The correct recovery tracks the transaction’s state on the source chain; retrying blindly can create a second transfer.
Inspect the source transaction before doing anything else
I start by opening the transaction hash in the explorer for the chain where the funds left. Confirm the wallet address, token, amount, destination network, and final status. A bridge interface is not the record of what happened; the source-chain transaction is.
1. The transaction is still waiting
Symptom: The wallet shows a submitted bridge transfer, but the source-chain explorer says waiting.
Cause: The transaction has not been added in a block, commonly because its fee is too low or an earlier transaction from the same wallet is blocking its nonce.
Fix: Do not submit another bridge transfer. Boost or replace the pending transaction from the same wallet, or cancel it with a same-nonce transaction if the wallet supports that. Nothing can arrive on the destination chain until this one is confirmed.
2. The source transaction was rejected
Symptom: The explorer marks the transaction as unsuccessful or reverted, and the destination wallet has no new balance.
Cause: The bridge contract refused the call: an expired approval, insufficient gas, an unsupported token route, or a contract-level condition prevented execution.
Fix: Treat the transfer as not started. Read the revert reason, confirm the exact token and route, then submit a another transaction only after correcting that condition.
3. The source transaction succeeded, but funds are missing
Symptom: The source explorer shows success, yet the receiving-chain wallet appears not updated.
Cause: The bridge message may still be awaiting finality or a claim, or the app is viewing the wrong network or token contract.
Fix: Switch to the right destination chain, add the correct token only after confirming its contract, and use the bridge that covers the route. For Ethereum-to-Gnosis transfers, Gnosis Bridge identifies Ethereum as chain ID 1 and Gnosis Chain as chain ID 100; use its route/status flow rather than sending the asset again.