ZKsync Wallet Guide: Send and Bridge ETH on ZKsync Era
Updated , 8 minute read
A ZKsync wallet holds ETH and tokens on ZKsync Era, a zero-knowledge rollup built by Matter Labs with account abstraction built into the protocol. Your personal 0x address is the same as on Ethereum and fees are paid in ETH, but smart contract and smart wallet addresses can differ from Ethereum. Keylo lets you receive, send, swap and bridge on ZKsync Era from any browser.
ZKsync Era at a glance
- Network type
- ZK rollup on the ZK Stack
- Built by
- Matter Labs
- Gas token
- ETH, with unused gas refunded
- Governance token
- ZK
- Withdrawal to Ethereum
- Hours, not days, then finalize on Ethereum
- Chain ID
- 324
On this page
- What is ZKsync Era?
- How addresses work on ZKsync, and why contract addresses differ
- Create a ZKsync wallet with Keylo
- How to receive ETH on ZKsync Era
- How to send ETH on ZKsync
- ZKsync fees: pubdata, refunds and paymasters
- Tokens on ZKsync Era
- Bridge or swap on ZKsync, and withdrawals to Ethereum
- Practice on ZKsync Sepolia
- Safety tips for ZKsync users
- Frequently asked questions
What is ZKsync Era?
ZKsync Era is an Ethereum layer 2 created by Matter Labs. It is a ZK rollup: batches of transactions are executed off Ethereum, a prover produces a validity proof, and Ethereum accepts the new state only after that proof checks out. State changes are published to Ethereum as compressed state diffs, so anyone can rebuild balances from Ethereum data alone.
Era is the flagship chain of the ZK Stack, the toolkit Matter Labs uses for a whole family of connected chains called the Elastic Network. Abstract, for example, is built on the same stack. Governance runs through the ZK token, launched in 2024, which holders use to vote on protocol upgrades. Trackers currently rate Era Stage 0 because operators and upgrade keys still hold significant power.
One naming trap: ZKsync Lite, the original 2020 network, is a different chain that Matter Labs is retiring in 2026. When an app, exchange or this guide says ZKsync today, it means ZKsync Era, and that is the network Keylo supports. Funds on Lite need Lite's own withdrawal process.
How addresses work on ZKsync, and why contract addresses differ
Your personal account on ZKsync Era is a normal 0x address, identical to your Ethereum address because it comes from the same private key. Keylo shows it under ZKsync next to the network name. There is no activation or minimum balance. Under the hood, Era has native account abstraction, so every account is treated like a programmable account, but a regular wallet like yours behaves just as it would on Ethereum.
Contracts are different. ZKsync derives contract addresses with its own rules, so a contract, multisig or smart wallet deployed at one address on Ethereum does not automatically exist at that address on Era. If someone gives you a Safe or smart wallet address, confirm it is deployed on ZKsync Era before sending. Sending to an undeployed contract address on the wrong chain can leave funds unreachable.
The same logic applies when you move from another ZKsync wallet. Some wallets built for Era create a smart account whose address is a contract, not the address derived from your phrase. If you import that wallet's recovery phrase into Keylo, you get the plain account derived from the phrase, which may be empty while your funds sit in the smart account. In that case, send the funds from the original wallet to your Keylo address instead.
Create a ZKsync wallet with Keylo
- 1
Go to Keylo sign-up in any modern browser; there is nothing to download.
- 2
Register with name, email, phone and password, then confirm your email address.
- 3
Keylo creates a 12-word recovery phrase in your browser and encrypts it locally with a key derived from your password.
- 4
Write down the phrase after revealing it in Settings. It is the only way to restore the wallet if you forget your password.
- 5
Choose ZKsync in the network list to see your 0x address and ETH balance.
How to receive ETH on ZKsync Era
- 1
Open ZKsync in Keylo and choose ETH or a token.
- 2
Tap Receive to display the address, QR code and the ZKsync network label.
- 3
Send the address to the payer or let them scan the QR code.
- 4
On an exchange, select ZKsync Era as the withdrawal network. Do not pick ZKsync Lite if an old listing still shows it.
- 5
Confirm the arrival in Activity, where each entry links to the ZKsync block explorer.
How to send ETH on ZKsync
If you send to an exchange, check that its deposit page lists ZKsync Era for that asset. Exchanges that support ETH on Era do not always support every Era token, and a deposit on an unlisted network may be credited late or not at all.
- 1
Select ZKsync, pick the asset and tap Send.
- 2
Paste or scan the destination. Keylo validates the checksum and warns when the address is a contract, which is especially useful here because contract addresses differ from Ethereum.
- 3
Enter an amount or choose Max.
- 4
Pick a fee speed. Era confirms transactions within a second or two in normal conditions.
- 5
Review the network fee and exact amount in the summary, then confirm. Your browser signs the transaction.
ZKsync fees: pubdata, refunds and paymasters
Fees on ZKsync Era are paid in ETH and cover two costs: computation and proving on the layer 2, and pubdata, the state changes that must be published to Ethereum. Because Era publishes state diffs rather than full transaction data, what you pay depends on how many storage slots your transaction changes. Updating a value that many transactions touch in the same batch can be cheaper than you would expect.
Era charges up front for the maximum the transaction might need, then refunds unused gas when it finishes. The final fee in the explorer is often lower than the estimate you approved, which is normal. Apps can also use paymasters, contracts that pay gas on your behalf or let you pay in another token. A plain Keylo send always pays in ETH from your own balance, and Keylo adds no fee to it.
Because pubdata is eventually paid for on Ethereum, Era fees still follow Ethereum's blob and gas prices to some degree. When Ethereum is congested, the pubdata price per byte rises and so does your fee, even if ZKsync itself is quiet. For most transfers the total stays small, but it explains why the same transaction can cost a bit more on a busy day.
Tokens on ZKsync Era
ZKsync Era supports ERC-20 tokens, which Keylo can show and send. You will find ETH, the ZK governance token, USDC issued by Circle alongside the older bridged USDC.e, and a range of DeFi tokens. Because contract addresses are chain-specific, a token's Era address never matches its Ethereum address. Look tokens up on the ZKsync explorer or the issuer's site.
The ZK airdrop attracted many phishing campaigns, and they still run under names like ZK claim or ZK rewards. No legitimate claim asks for your recovery phrase or for a blanket approval of your tokens. Ignore unknown tokens that appear in your balance, and never visit links written into token names.
Stablecoin versions deserve the same care as on other networks. USDC from Circle and the bridged USDC.e are separate contracts, and an exchange may credit only one of them on ZKsync Era. If you are unsure which one you hold, compare the contract address in Keylo with the issuer's published list before you send.
Bridge or swap on ZKsync, and withdrawals to Ethereum
Keylo offers swaps and bridges on ZKsync Era. Routes come from LI.FI, which aggregates decentralized exchanges and audited bridges, and THORChain for native cross-chain swaps. The quote shows the route, expected output, minimum received and all fees, including any small service fee, and you can track the bridge until it lands. Failed cross-chain transfers are refunded by the protocol to your sending wallet.
The official ZKsync bridge has no seven-day wait, but withdrawals are not instant either. The batch holding your withdrawal must be proven and then executed on Ethereum after a deliberate security delay, which in practice takes a few hours and can stretch toward a day. After that you finalize the withdrawal with a transaction on Ethereum, paying mainnet gas. Liquidity bridges skip both waits by paying you from their own funds.
Before bridging a large amount, send a small test transfer first. It costs little, confirms the route works with your address, and shows how long the destination takes to credit. On ZKsync this habit is doubly useful, because a test also confirms that the destination address is a personal account rather than a contract that only exists on another chain.
Practice on ZKsync Sepolia
Turn on testnet mode in Keylo to add ZKsync Sepolia. Test ETH is free and worthless, so you can see how estimates and refunds look before you spend real funds. It is also a safe place to check how contract warnings appear when you paste a contract address instead of a personal one.
Safety tips for ZKsync users
- Never assume a multisig or smart wallet exists at the same address on ZKsync as on Ethereum.
- Choose ZKsync Era, not ZKsync Lite, at exchanges and bridges.
- Ignore ZK airdrop links and tokens you did not expect.
- Keep a little ETH on Era for gas; paymasters only help inside apps that offer them.
- Remember to finalize canonical withdrawals on Ethereum, and keep ETH there for that step.
- Learn how Keylo encrypts your wallet on the security page.
Frequently asked questions
Is my ZKsync address the same as my Ethereum address?
Your personal wallet address is the same, because it is derived from the same private key. Contract addresses are not: ZKsync uses its own address derivation for deployed contracts, so a multisig, smart wallet or token contract on Ethereum usually has a different address on ZKsync Era, or does not exist there at all.
Why was my ZKsync fee lower than the estimate?
ZKsync Era charges for the maximum gas a transaction might need, then refunds whatever was not used when execution finishes. The fee you approve is an upper bound, and the final fee in the explorer is often noticeably lower. This is expected behavior and nothing went wrong with your transaction.
How long do ZKsync withdrawals to Ethereum take?
With the canonical bridge, usually a few hours and sometimes up to about a day, because the batch must be proven and pass a security delay before execution on Ethereum. You then finalize the withdrawal on Ethereum. A liquidity bridge from Keylo's quote screen typically arrives in minutes instead.
What is the ZK token used for?
ZK is ZKsync's governance token. Holders vote on protocol upgrades and treasury decisions, directly or through delegates. You cannot use ZK to pay gas on a normal send; fees are paid in ETH. Some apps use paymasters to accept other tokens, but that is an app feature, not a protocol default.
What is the difference between ZKsync Era and ZKsync Lite?
ZKsync Lite is the original 2020 network that only supported simple payments and swaps. ZKsync Era is the newer, EVM-compatible rollup with smart contracts, where nearly all activity happens today. Matter Labs is retiring Lite in 2026. Keylo supports ZKsync Era, so choose Era on exchanges and bridges.