DeFiExitSafe exit
All topics

Cross-chain transfer hasn't arrived? Work out which bridge you used, then check its official page

A cross-chain transfer that hasn't arrived is usually still on its way, or waiting for you to take one more step. Work out which bridge you used, then check that bridge's official status page. Where bridges publish times: most Across transfers take about 2 seconds and most cBridge transfers 5–20 minutes; an official withdrawal from opBNB to BNB Smart Chain needs you to submit a proof by hand and then wait 7 days. Only some cases need another step from you. Don't send again to 'unstick' it, and don't pay anyone who says they're support.

Last checked 2026-11-06

First, work out which bridge you used

Many different services move money between chains. Where to check the status, how long it takes and what to do when it goes wrong all differ from one to the next. So the first step is to work out which one you used.

  • Look at the website where you pressed send. Its address tells you, for example stargate.finance, across.to, relay.link or portalbridge.com.
  • Open the transaction on the source chain's block explorer and look at the contract name under Interacted With (To). It often tells you which bridge it was.
  • If you used a wallet's built-in bridge, or an aggregator that offers several routes on one page, any of the bridges below could be behind it. Go back to the wallet or site you used and check its history for the route. Relay says that if you started inside another app, you search by the address that app sent from; Wormhole says that if a third-party app started a USDC transfer and kept the right to finalize it, only that app can complete it.
  • Withdrew from an exchange to another chain? The exchange sent the money, so ask the exchange about it. Relay says the same: if an exchange or another service sent the funds for you, contact that service, because it controls the sending wallet.
  • If you used an official L2 bridge to withdraw from OP Mainnet, Base, Arbitrum, zkSync Era, Linea or Scroll back to Ethereum, that's a different case with a wait of a few hours to 7 days; see our topic on L2 withdrawals, linked under Related at the bottom of this page.
  • This page only covers transfers between EVM chains. Solana and other non-EVM chains are out of scope.

Where to check the status

Use only each bridge's official pages. The addresses below are plain text: check them in your address bar before you open them. You'll usually need the transaction hash from the source chain.

  • Stargate: check on stargate.finance, or on LayerZero Scan (layerzeroscan.com). If you picked the cheaper Economy (Bus) mode, the transfer only shows up on LayerZero Scan once the bus has been dispatched.
  • Across: the status tracker in its docs, docs.across.to/tools/status-tracker, by transaction hash or deposit ID.
  • Wormhole / Portal: the bridge is portalbridge.com, and the transaction history is on Wormholescan (wormholescan.io).
  • Circle CCTP (USDC): an underlying route that many apps use, including Across, Portal and the Linea bridge for USDC. We found no Circle status page for ordinary users, so check in the app you used.
  • Chainlink CCIP: CCIP Explorer (ccip.chain.link), searchable by message ID.
  • Axelar / Squid: transfers that go through Axelar can be followed on Axelarscan (axelarscan.io).
  • Celer cBridge: Pending and the transfer history at the top right of cbridge.celer.network.
  • deBridge: deExplorer (app.debridge.com/orders), by order ID, wallet address or transaction hash. The statuses are Created, Fulfilled, Canceling and Canceled.
  • Relay: every transfer has its own page, linked when it finishes. If you lost the link, go to relay.link/transactions and filter by wallet address, ENS name or transaction hash.
  • Orbiter: the Search tab at orbiter.finance/history.
  • Synapse: the Activity tab on synapseprotocol.com. The progress dropdown links to the block explorers on both chains.
  • Hop: the explorer its docs mention, explorer.hop.exchange, returned 404 when we tried it on 2026-11-06, and we found no other official status page. Don't go for a manual withdrawal just because time has passed; check the conditions for it in the section on taking another step below.
  • Official opBNB bridge (opBNB back to BNB Smart Chain): opbnb-bridge.bnbchain.org, switched to the 'official bridge' tab. The docs say the page opens on the community bridge by default, so check which tab you used.
  • Polygon PoS bridge: the transaction history in Polygon Portal (portal.polygon.technology).

How long it normally takes

Where a bridge publishes numbers, they're listed with their conditions; where it doesn't, we say so (checked 2026-11-06). These are the bridges' own estimates, not guarantees.

  • Across: most transfers reach the destination chain in about 2 seconds on mainnet, longer when the network is congested. A deposit nobody fills before its deadline is refunded automatically, but not instantly. The FAQ estimates about 120–150 minutes counted from the deposit, and that already includes a fill deadline of about 90 minutes, so it isn't a further wait after expiry; the refunds page says settlement after expiry can take several more hours.
  • Orbiter: transfers between two regular wallet addresses complete in 10 to 20 seconds, its docs say.
  • deBridge: usually done in seconds, it says; in rare cases (market conditions or technical issues) it takes longer. An order nobody takes stays open until conditions suit.
  • Celer cBridge: most transfers take 5–20 minutes. Rate limits are in place for security, so larger amounts take extra time.
  • Hop: it depends on the route, and two official pages disagree. One FAQ says up to 15 minutes for a normal transfer between L1 and L2 and up to 5 minutes between two L2s; the route-by-route page estimates about 25 minutes from Optimism or Base, about 12 from Arbitrum and about 60 from Polygon. So passing 5 or 15 minutes doesn't mean you need a manual withdrawal; the conditions for that are in the next section.
  • Circle CCTP: Circle's developer docs list how long the attestation takes, by source chain. Standard: about 15–19 minutes from Ethereum, Arbitrum, Base or OP Mainnet, about 2 seconds from BNB Smart Chain, about 8 seconds from Polygon PoS. Fast: about 20 seconds from Ethereum, about 8 seconds from Arbitrum, Base, OP Mainnet or Linea. After the attestation, the USDC still has to be delivered on the destination chain; see the next section.
  • Standard USDC transfers out of Linea are slow, and two official sources disagree: Circle's developer docs say about 6–32 hours, while the Linea bridge docs say about 2–12 hours for USDC back to Ethereum. Go by what the bridge you used shows.
  • Chainlink CCIP: the time is affected by how long the source chain takes to reach finality. Its table estimates finality at about 12.8 minutes for Ethereum, 17 minutes for Arbitrum, 18 minutes for Base, 20 minutes for OP Mainnet, 17 minutes for Polygon and 5 seconds for BNB Chain, and says these values can change.
  • Squid: no single time; go by the estimate shown when you made the transfer. It recommends contacting support once 15 minutes or twice the estimated time has passed, whichever is longer.
  • Wormhole: no single time. Its recovery guide for wrapped token transfers (WTT) says that for transfers from Ethereum you wait up to about 20 minutes for Ethereum finality before treating one as stuck.
  • Official opBNB bridge back to BNB Smart Chain: a 7-day challenge period after you submit the proof. The page also offers faster community bridges, which the docs warn may not be as secure as the official one.
  • Stargate: no single time. In Economy (Bus) mode the bus leaves when it's full or when the maximum waiting time is reached, and the page shows the estimated wait; Fast (Taxi) mode doesn't wait for a bus.
  • Relay, Synapse and the Polygon PoS bridge: no single time. Synapse says its estimates are based on destination block times, and a transaction sometimes lands in a later block than expected.

When you need to take another step yourself

In the cases below you may need to act yourself. Check the status first and only act once you're at that step, opening the tool from the official site or docs. A signature isn't the same as a transaction: on Relay, for example, the signature is free and you pay gas only when you submit the transaction later. Whether something costs money, and how much, is shown in the step itself and on your wallet's confirmation screen.

  • Official opBNB bridge (withdrawing from opBNB to BNB Smart Chain): every withdrawal. When the status shows Waiting for Proof, you have to Submit Proof yourself; the 7-day challenge period only starts after that; after 7 days you Claim. The FAQ says one possible reason for nothing arriving after 7 days is a proof that was never signed, so check the transaction history first.
  • Polygon PoS bridge (back to Ethereum): once the funds are ready, you confirm once more on Ethereum from the transaction history in Polygon Portal before they arrive (the official guide's buttons are Initiate Claim and Claim Tokens). The help center says a stuck withdrawal can be finished at portal.polygon.technology/withdraw-tool by pasting the transaction hash and pressing Confirm Exit, and that a transaction dropped because of low gas or similar shows a Try Again button once it has been stuck for more than an hour. There's no time limit to complete it, and the funds stay in the bridge contract.
  • Wormhole / Portal: the automatic, manual and 24-hour points here apply only to Wormhole's wrapped token transfers (WTT). Automatic transfers are completed by a relayer; nothing to do. A manual transfer waits until the transfer's attestation is signed, then needs one submission on the destination chain (called redeem). The developer docs say to complete it within 24 hours; after that the bridge's Guardian signatures may have changed and must be updated before you can submit. That's about the bridge's signatures, not your wallet's approvals. If an automatic transfer didn't finish, check the original app first; Wormhole also documents a recovery script for developers. For a USDC (CCTP) transfer started in a third-party app, if that app kept the right to finalize it, Portal can't complete it for you and you go back to that app; that's one possible reason Portal can't complete a transfer.
  • Hop: only when no Bonder takes your transfer in time, for example because the fee was set too low, or the Bonder is offline or out of liquidity. First the Transfer Root containing your transfer has to reach the destination chain, which Hop says can take a few hours or days, so withdrawing right after sending won't work. Then paste the source-chain transaction hash on Hop's Withdraw page and press withdraw. On an L2 you get hTokens (such as hUSDC), which you convert to the native token on the Convert page; on Ethereum you get the native token directly.
  • Hop and USDC.e: this is its own manual process, and waiting 7 days isn't enough. Since the USDC bridge moved to CCTP and the USDC.e Bonder was retired, transfers involving USDC.e need manual processing. To move hUSDC.e to L1 per the official USDC.e guide: only if you haven't started yet, start it on the Convert page with 'via Hop Bridge'. If you already started and it's stuck, don't send another one: take the original transfer's source-chain transaction hash to Hop's Relay page and finish the steps still outstanding, in order: Commit Transfers first, then Prove Withdrawal. After the proof succeeds, wait 7 days, submit Finalize Withdrawal on the Relay page when it's available, then enter that same original source-chain transaction hash on the Withdraw page and press Withdraw.
  • Celer cBridge: only when the transfer fails, for example because of low liquidity on the destination chain or a slippage setting that's too tight. A popup explains why, and you press Request Refund in the transfer history.
  • deBridge: cancelling only applies to an order nobody has taken and that is still open. Open it in deExplorer, connect the Order Authority address on the destination chain, press Cancel, enter the address on the source chain to receive the refund, press Send Cancel and confirm in your wallet. deBridge says everything locked is refunded, fees included; you only pay gas for the cancel transaction.
  • Relay: when a transfer can't complete, a refund is tried automatically. Only if that also fails does the transaction page show 'Automatic refund failed' and a Withdraw funds button, and only then do you go to relay.link/withdraw: verify the deposit, sign (free), wait a few minutes for it to be prepared, then press Submit within about an hour (a little gas). A transfer that is still processing or has arrived doesn't need it and can't be withdrawn, and only the wallet that sent the funds can withdraw.
  • Axelar / Squid: only when Axelarscan shows Pay Gas, Insufficient Fee or Not Enough Gas, for example because gas rose on the destination chain and the transfer paused. Then open the message on Axelarscan, connect a wallet on the source chain and press Add gas; it works out the amount. The transfer continues, and the unused part is refunded.
  • A Squid swap that didn't go through comes in a few kinds. On Axelar routes, if the source transaction succeeded but the destination swap failed (status PARTIAL_SUCCESS), you receive axlUSDC on the destination chain; confirm it has arrived, then swap it yourself there. If the source transaction never went through, that doesn't apply: Squid says your tokens are still in your wallet, though a little may have been spent on gas. A failed Squid Intents route is refunded automatically on the source chain, typically in about 10 minutes, Squid says.
  • Chainlink CCIP: the default executor tries to execute messages automatically. Only when CCIP Explorer shows 'Ready for manual execution' is there a Trigger Manual Execution button, and pressing it means you send a transaction on the destination chain and pay the gas. The button doesn't mean the problem is solved: if execution failed before, the docs say to retry only after the cause is fixed, so have the original app confirm the fix first and don't keep resubmitting.
  • Circle CCTP: the final step that delivers USDC on the destination chain is done for you by some apps (with Circle's Forwarding, it's submitted automatically) and left to you by others; for example, USDC on the Linea bridge always needs a manual Claim, which you submit on the destination chain once the history shows 'Ready to claim'. Circle's developer docs say the message carries a 24-hour expiry and has to be re-signed after that, and that an expired fast transfer isn't permanently stuck and can be re-attested at any time. The app does that, so go to the app you used.
  • Synapse: if slippage jumps during the swap, Synapse delivers the intermediate asset instead of swapping at a loss, and you can swap it yourself on the destination chain. Transfers that fail to complete are not lost, it says; its support team handles them by hand.

Getting help from the bridge itself

Have the source-chain transaction hash ready. Reach support only through the official site or docs; ignore 'support' links from search results, DMs or replies.

  • Across: if it's been more than 3 hours, the FAQ lists Telegram, the in-app support on across.to, and Slack.
  • Celer cBridge: stuck at Submitting? Check whether the source-chain transaction is confirmed; if not, you can raise the gas price to speed it up, and if it is, contact support. Stuck at 'Waiting for SGN confirmation' or 'Waiting for fund release'? Wait at least two more hours, and contact support after 3 hours. Use the customer support link in the official FAQ and include the source-chain transaction hash. There's also an official Discord and Telegram community.
  • Relay: the chat widget on relay.link, or the email support@relay.link listed in its help center. Sending the full URL of the transaction page is the quickest.
  • Orbiter: find the transfer on the History page first, then use Create Ticket in its official Discord with both chains and the transaction hash.
  • Synapse and Squid: their docs point to their own Discord servers.
  • deBridge: the Contact section of its site lists the help center, debridge.com/support, and Discord.
  • Chainlink CCIP: the docs say to submit a support ticket with the CCIP message ID if you think the Explorer status is wrong, but they don't say where to submit it.
  • Circle CCTP: the Support link in the footer of Circle's developer docs goes to the ticket page of the Circle Help Center (help.circle.com). If the transfer started in another app, go to that app first.
  • Polygon PoS bridge: the help center at support.polygon.technology. Without logging in, we saw only knowledge-base articles there and no way to submit a ticket.
  • Stargate: Support → Help Center on its website opens the official Discord, and the site also lists Telegram. We didn't find a separate web ticket form.
  • Wormhole / Portal, Hop and opBNB: we found no clear support channel in their docs.

What not to do

Waiting for money that hasn't arrived is stressful, and that's when people overpay or get scammed.

  • Don't send again to 'unstick' it. That just sends another amount and doesn't move the first one along. Polygon says a withdrawal can't be cancelled once started, but there's no deadline to complete it, and the funds stay in the bridge contract.
  • Don't press refund, cancel or withdraw before it's time. Relay says a transfer that is still processing doesn't need it and can't be withdrawn, and Across refunds an unfilled deposit automatically after its deadline.
  • Don't pay anyone who offers to 'speed up', 'unfreeze' or 'recover' it. ethereum.org's scam help page says that someone who contacts you claiming they can recover your funds for a fee is almost certainly running a second scam, and that real moderators will never DM you first. (That's general advice from ethereum.org, not any bridge's own policy.)
  • Your seed phrase and private keys never go into a website. ethereum.org says never to enter your seed phrase on any website, because legitimate apps never ask for it. Relay says to withdraw only at relay.link/withdraw and never share your recovery phrase or private key with anyone, including anyone who says they're from Relay.
  • DeFiExit only asks your wallet to share its address — it never asks you to sign, approve or send anything, and we never message first.

Common questions

The transaction succeeded on the source chain. Why hasn't the money arrived?

Success on the source chain only means the money has been sent. On the destination side it may still be queued, waiting for confirmation, or waiting for you to take a step. Work out which bridge it was and check its official status page: look at the status before the time. If it asks for a proof or says the funds are ready to claim (opBNB's Waiting for Proof, Linea's Ready to claim), follow the official steps. If it's still confirming or processing and nothing is asked of you, keep waiting, and compare with 'How long it normally takes' on this page.

The bridge says it's complete, but I can't see the money in my wallet.

First switch your wallet to the destination chain. Celer cBridge says the usual reason is that the token hasn't been added to your wallet, and the MetaMask icon on the history item adds it. Synapse says gas airdrops and rebates arrive automatically, but its page only shows bridgeable assets, so check your wallet on the destination chain. You may also have received a different token; see the next question.

I received a different token from the one I expected.

When a transfer includes a swap and the price moves too much along the way, some bridges hand you the in-between token instead. On Squid's Axelar routes, a successful source transaction followed by a failed destination swap (PARTIAL_SUCCESS) gives you axlUSDC; if the source transaction failed, your tokens are still in your original wallet. Synapse gives the intermediate asset, and Hop occasionally gives hTokens (such as hUSDC), which you convert to the native token on Hop's Convert page. Check that the tokens have arrived in your wallet, then swap them yourself on the destination chain.

Can I cancel and get my money back?

It depends on the bridge and the stage. On deBridge, an order nobody has taken can be cancelled and fully refunded. Across refunds an unfilled deposit automatically after its deadline. On cBridge, a failed transfer has a Request Refund button in the history. On Relay, if the automatic refund fails, you withdraw at relay.link/withdraw. Polygon says a withdrawal from Polygon can't be cancelled once sent, but it has no deadline and can be completed at any time.

I withdrew from an exchange to another chain, and it never arrived.

In that case the exchange sent the money, so go to the exchange's own support, through its app or official site. Relay says the same: if an exchange or another service sent the funds for you, only the sending wallet can act on them, so contact that service.

Someone in the replies says they can unstick my transfer for a small fee.

Ignore them. ethereum.org's scam help page says anyone offering to recover funds for a fee is almost certainly a scammer, and real moderators never DM you first. A stuck transfer can only be handled through the bridge's own official page and steps. Never give anyone your seed phrase or private key.

Related

Sources

Share