zkSync to Ethereum Bridge
A withdrawal from ZKsync Era through the official bridge waits at least 3 hours, often a little longer, and then needs a claim on Ethereum. Fast bridges like Across and Relay pay you on Ethereum in seconds or minutes for a small fee.
Reviewed October 14, 2026 ยท 4 solutions checked
On this page
Short answer
Withdrawing from ZKsync Era takes longer than depositing. The official ZKsync bridge shows about 15 minutes for a deposit. A withdrawal has to wait for a built-in security delay of at least 3 hours. The ZKsync docs add that grouping and executing batches can take another 1 to 2 hours.
On the official bridge, the last step happens on Ethereum. The withdraw page lists withdrawals that are ready to claim, and you send a transaction on Ethereum to receive the funds. That costs a normal Ethereum fee, so keep some ETH there.
Many people skip the wait. Fast bridges such as Across and Relay pay you on Ethereum from their own funds within seconds or minutes. Aggregators like Bungee compare several of them. The official bridge is still the most direct route for large sums when a few hours do not matter.
| Network name | ZKsync Era |
|---|---|
| Official route | ZKsync bridge (bridge.zksync.io) |
| Security delay | 3 hours minimum (ZIP-4) |
| Typical total | About 3-5 hours, then a claim |
| Fees on ZKsync Era paid in | ETH |
| Fastest option | Intent bridges, seconds |
Why this route is difficult
ZKsync Era is a zk rollup. Transactions are grouped into batches, a proof for each batch is posted to Ethereum, and a contract checks it. There is no 7-day challenge window as on optimistic rollups like Arbitrum or OP Mainnet.
Withdrawals are still held back on purpose. ZKsync puts a time lock on each batch before it is executed on Ethereum. This gives the team time to spot an attack, such as a sudden outflow, and stop it. The ZKsync docs say the lock was cut from 21 hours to a 3-hour minimum through the governance proposal ZIP-4. Changing it again needs another approved proposal.
The 3 hours are a minimum, not a promise. The docs say the real time depends on network activity and proof generation. Batches can also take another 1 to 2 hours to be grouped and executed together to save costs. So a withdrawal usually takes about 3 to 5 hours.
After the batch is executed, the withdrawal must be finalized on Ethereum. Technically anyone can send this final transaction. On the official bridge, you do it yourself with the claim button and pay the Ethereum fee.
Possible approaches
1Native rollup withdrawal
Withdraw through the official ZKsync bridge and claim on Ethereum after the batch is executed.
Trade-offNo third party involved, but a few hours of waiting and a second transaction.
2Intent-based bridge
A relayer or solver pays you on Ethereum right away and is paid back later.
Trade-offSeconds instead of hours, for a fee and some risk in the bridge's own contracts.
3Aggregator
A service compares bridges and picks a route for you.
Trade-offConvenient, but the safety depends on the route it picks.
Options compared
| Option | You get | Typical time | Cost | Best for |
|---|---|---|---|---|
| Official ZKsync bridge | ETH or the original token on Ethereum | About 3-5 hours, then a claim | ZKsync fee + Ethereum claim fee | Large sums, no rush |
| Intent-based bridge | ETH and other common tokens | Seconds to a few min | Network fee + small bridge fee | Most everyday withdrawals |
| Aggregator | Depends on the route | Depends on the route | Network fee + fee of the bridge used | Comparing prices |
Working solutions
| Solution | You receive | Custody / verification | Notes |
|---|---|---|---|
| ZKsync bridge (official) | ETH or original tokens on Ethereum | Ethereum (bridge contracts) | At least 3 hours, usually about 3-5, then a claim on Ethereum. |
| Across | ETH and common tokens | Oracle-checked payback | Usually done in seconds. |
| Relay | ETH and common tokens | Solver pays you | Fast for common coins. |
| Bungee | Depends on the route | Same as the bridge used | An aggregator that compares several bridges. |
How to move zkSync to Ethereum
These steps show an ETH withdrawal through the official ZKsync bridge at bridge.zksync.io. If you do not want to wait hours, use a fast bridge instead. The wallet checks are the same.
- 1
Check your ETH on both networks
You need a little ETH on ZKsync Era to start the withdrawal and some ETH on Ethereum for the claim at the end. The claim is a normal Ethereum transaction.
- 2
Open the bridge and pick the right network
Go to bridge.zksync.io from the official ZKsync site, not from an ad. Choose ZKsync Era as the source and Ethereum as the destination. Do not pick another ZK Stack chain by mistake.
- 3
Enter the amount and confirm
Choose ETH or a token and enter the amount. If the bridge warns that a token is not on its list, check the contract address first. Sign the transaction. The funds leave your ZKsync Era balance right away.
- 4
Wait for the batch to be finalized
Your withdrawal waits until its batch is executed on Ethereum. That takes at least 3 hours, and often 1 to 2 hours more. The funds are not lost in the meantime.
- 5
Claim on Ethereum
Come back to the bridge with the same wallet and open the withdraw page. When your withdrawal is listed as ready to claim, confirm the claim transaction on Ethereum. The funds then arrive under the same address.
Fees and timing
The official route has two network fees. Starting the withdrawal on ZKsync Era is usually cheap and paid in ETH. The claim on Ethereum costs a normal Ethereum fee, which depends on how busy Ethereum is. On small withdrawals, the claim can cost more than the withdrawal itself.
Fast bridges charge a fee on top of network fees and show it as the amount you will receive. The fee covers the hours they wait to be paid back. Aggregators like Bungee compare several bridges at once, if they offer a route for your token.
The hidden cost of the official route is time. Your funds are locked for a few hours and you cannot use them. If prices move fast or you need the money soon, a fast bridge is usually worth its fee.
Common mistakes
- Expecting the official withdrawal to arrive in minutes. It takes at least 3 hours.
- Forgetting the claim on Ethereum, so the withdrawal waits in the bridge.
- Having no ETH on Ethereum when it is time to claim.
- Looking only at the normal transaction list on Etherscan. A finished withdrawal often shows under "Internal Transactions".
- Mixing up ZKsync Era with ZKsync Lite or another ZK Stack chain.
- Sending from ZKsync Era straight to an exchange address that only accepts deposits on Ethereum.
- Using a fake bridge site found through an ad.
Before you transfer
- For most withdrawals, a fast bridge saves a few hours for a small fee.
- Use the official bridge if you can do without the money for a few hours.
- Keep ETH on Ethereum for the claim if you use the official bridge.
- Check the network name: ZKsync Era, not ZKsync Lite or another ZK Stack chain.
- If you send to an exchange, check that it accepts deposits from the network you send on.
- Open bridge sites from official links only, and check the address bar before you sign.
Frequently asked questions
At least 3 hours through the official bridge, because of a security delay set by ZIP-4. Batches can take another 1 to 2 hours, so plan for about 3 to 5 hours, then a claim on Ethereum. Fast bridges usually take seconds or minutes.
On the official bridge, yes. Once your withdrawal is ready, the withdraw page lists it for claiming, and you confirm a transaction on Ethereum. You need ETH on Ethereum to pay the fee.
The proofs remove the need for a 7-day challenge period. The extra time lock is a separate safety measure. It gives the ZKsync team time to detect an exploit and freeze the system through governance before funds leave.
Withdrawals are paid out by a bridge contract, so they often show in the "Internal Transactions" tab of your address, not the normal list. The ZKsync docs suggest checking there. If the batch is not finalized yet, nothing will show.
Intent-based bridges such as Across and Relay usually pay you on Ethereum within seconds or minutes. An aggregator like Bungee can compare them for you.
No. It has to wait until its batch is executed on Ethereum. Only a new transfer through a fast bridge avoids the wait.