ETH Not Showing on zkSync Era? Fix for 2026 (Bridge Recovery Guide)
Published on 2026-06-28
:::warning[Anti-Loss Protocol]
**Do NOT send additional transactions to the same address hoping to "push" the stuck one through.** This can cause nonce conflicts and lock your wallet. Check the L1 transaction status first, then follow the recovery steps below in order.
:::
If your ETH is not showing on zkSync Era after bridging, you are not alone. The zkSync Era bridge processes L1-to-L2 transactions in batches, and during high congestion, deposits can take 2 to 8 hours to finalize. In rare cases, the L2 transaction fails silently and your funds are stuck in the bridge contract.
This guide walks you through every recovery step -- from checking the transaction status to force-importing your funds manually.
## Quick Diagnosis: Why ETH Is Not Showing on zkSync Era
| Symptom | Likely Cause | Fix |
|---------|-------------|-----|
| L1 tx confirmed, no L2 credit after 2+ hours | Batch processing delay | Wait up to 8 hours, then check L2 status |
| L1 tx confirmed, L2 tx failed | Gas too low on L2 side | Force-import via zkSync portal |
| L1 tx still pending | L1 congestion | Speed up or cancel on L1 |
| Wrong address used | User error | Funds may be unrecoverable (see below) |
| Sent via wrong bridge contract | Used old zkSync Lite bridge | Contact zkSync support with tx hash |
> Compare bridge costs across all major L2s at our [Compare Network Fees](/ "Compare Network Fees") tool before next transfer.
## Step 1: Check Your L1 Transaction Status
Go to Etherscan and search for your transaction hash.
**If status is "Pending":** Your transaction is still in the mempool. You can speed it up by submitting a replacement transaction with higher gas from the same nonce.
**If status is "Success":** Your funds have reached the zkSync Era bridge contract on Ethereum. Proceed to Step 2.
**If status is "Failed":** The transaction reverted. Your ETH is still in your wallet (minus gas). You can retry the bridge with higher gas.
## Step 2: Check L2 Transaction Status
Visit the zkSync Era block explorer at explorer.zksync.io and search for your wallet address.
**If you see the deposit transaction but it shows "Failed":** The L2 execution ran out of gas. You need to force-import the transaction (Step 3).
**If you see no deposit transaction at all:** The batch has not been processed yet. Wait up to 8 hours.
**If you see the deposit and it shows "Success":** Your ETH is in your zkSync Era wallet. If your UI is not showing it, add the token manually using the contract address.
## Step 3: Force-Import Stuck Funds
If your L1 transaction is confirmed but the L2 transaction failed, you can force-import your funds using the zkSync Era portal.
Step 1: Go to portal.zksync.io and connect your wallet.
Step 2: Click "Bridge" and select "Deposit."
Step 3: Enter the same amount and token you originally bridged.
Step 4: If the portal detects a stuck transaction, it will offer a "Force Import" option. Click it.
Step 5: Confirm the gas fee (paid in ETH on L1). The force-import typically costs $2 to $8 depending on L1 gas.
Step 6: Wait 10 to 30 minutes for the force-import to process.
## Step 4: Add ETH Manually to Your Wallet
If the funds are confirmed on zkSync Era but not showing in MetaMask or Rabby:
Step 1: Open MetaMask and switch to the zkSync Era network.
Step 2: Click "Import tokens."
Step 3: Enter the zkSync Era WETH contract address: 0x5AEa5775959fBC2557B87888c1f7999F56aE29C1
Step 4: Token symbol should auto-fill as WETH. Click "Add."
Step 5: Your balance should now appear.
## What If I Sent ETH to the Wrong Address?
If you sent ETH to a valid Ethereum address that you do not control, recovery is nearly impossible. Blockchain transactions are irreversible by design.
**Exceptions:**
- If you sent to an exchange address: Contact the exchange support with your tx hash. They may be able to credit your account.
- If you sent to a contract address: Check if the contract has a withdraw or rescue function. Use Etherscan "Write Contract" to check.
- If you sent to your own address on a different network: Import the private key into a wallet on the destination network.
## How to Prevent This in the Future
1. **Always test with a small amount first.** Bridge $5 before moving $5,000.
2. **Use the official bridge only.** portal.zksync.io is the canonical URL. Bookmark it.
3. **Check L2 status before assuming loss.** Most "missing" funds are just delayed batch processing.
4. **Save your transaction hash.** You will need it for any support request or force-import.
5. **Compare bridge costs first.** Use our [Compare Network Fees](/ "Compare Network Fees") tool to find the cheapest route before bridging.
## Bottom Line
In most cases, ETH not showing on zkSync Era is a batch processing delay, not a lost transaction. Check L1 status first, wait up to 8 hours, then force-import if needed. Never send a second transaction to "fix" a stuck one -- this causes nonce conflicts that make recovery harder.
For future bridges, compare costs and speeds across all L2s at [Compare Network Fees](/ "Compare Network Fees") before committing funds.