How to get zkCRO on Ethereum Mainnet

txFusion Team
txFusion
Published in
4 min readSep 5, 2024

As a part of our partnership with Cronos zkEVM, we’re excited to guide you through the process of converting CRO into zkCRO — a crucial step before you can start depositing tokens between the Ethereum Mainnet and Cronos zkEVM using the txSync Bridge.

While ZKsync Era uses ETH as the token for transaction fees on its Layer 2, Cronos zkEVM employs zkCRO as its gas token. This means the gas token for Cronos zkEVM (zkCRO) differs from that used on Layer 1 (Ethereum).

This affects the way we handle deposits from the Ethereum Mainnet (L1) ****to Cronos zkEVM (L2). For end users, this primarily means that any deposit to Cronos zkEVM requires the user to hold at least $0.18 worth of zkCRO on the Ethereum Mainnet.

In this guide, we will walk you through the steps to obtain zkCRO on Ethereum Mainnet and start depositing on the txSync Bridge. Let’s go! 😎

1 — Get CRO on Ethereum:

In order to get CRO token on Ethereum, we should swap tokens in any exchange of preference and get the pretended amount of CRO that will be converted into zkCRO. In this example we are using Uniswap:

2 — Approve zkCRO contract to spend CRO on L1

Now with CRO in the wallet, we need to interact with zkCRO contract and authorize it to spend CRO on L1. For that, call the approve function on this link, with spender as zkCRO L1 token address (0x28ff2e4dd1b58efeb0fc138602a28d5ae81e44e2) and the amount of tokens in wei.

2.1 — Connect to Web3

First click on the “Connect to Web3” button and approve the connection in you wallet:

2.2 — Call the approve function

To call the approve function we should add zkCRO L1 token address (0x28ff2e4dd1b58efeb0fc138602a28d5ae81e44e2) as spender, the amount of tokens in wei (if you want to convert 60 CRO, for example, you can add 6000000000), click on the “Write” button and approve the transaction on your wallet.

3 — Stake CRO and get zkCRO

After successfully approving zkCRO contract to spend CRO, now we can call the stake function on this link, by passing the amount of tokens in wei (ex.: 60CRO = 6000000000) and your address as the receiver address.

3.1 — Connect to Web3

In this new link, first click on the “Connect to Web3” button and approve the connection in you wallet:

3.2 — Call the stake function

Now to call the stake function, we should add the amount of tokens in wei (ex.: 60CRO = 6000000000), your address as the receiver address, click on the “Write” button and approve the transaction on your wallet.

And that’s it! After successfully approved transaction, you will see that now you have zkCRO available. 🎉

If you don’t see the token right away in your wallet, you can add it in your Metamask by clicking on the “+ Import tokens” button and searching for zkCRO.

Now you can freely deposit any tokens from Ethereum Mainnet to Cronos zkEVM on txSync Bridge**.** Just have in mind that each transaction consumes a small part (~$0.10) of your zkCRO balance on L1 and you should have at least $0.18 of zkCRO in your wallet.

Happy bridging txCitizens! ✨

If you wanna learn more about Cronos, zkEVM and Elastic Chains, make sure you listen to second episode of our ‘ZK Chain of Thought’ podcast.

To keep up with the updates on txsync and Elastic Chain Ecosyste, follow us on our X (Twitter) and Discord!

*This article is also published on txFusion blog.

--

--