Ethereum Virtual Machine (EVM) compatibility is officially live on the Zilliqa mainnet, allowing users to send and receive ZIL directly from EVM wallets such as MetaMask and interact with the Zilliqa network and dApps using EVM-compatible tools.
MetaMask is a popular browser-based wallet for Ethereum and EVM-compatible blockchains that makes it easy to store and use tokens across several networks.
With the recent launch of EVM compatibility, the Zilliqa network has taken a major step towards growing its overall network adoption and opening up the Zilliqa ecosystem to developers and users across the blockchain industry - marking a new era for the Zilliqa blockchain.
In our previous tutorials, we covered how to connect your MetaMask wallet to the Zilliqa EVM network and send ZIL from your Zilliqa wallet to MetaMask.
Now, we’ll look at how to transfer ZIL from MetaMask to Zilliqa wallets and to other recipients who are also using MetaMask.
Here’s how to send ZIL from your MetaMask wallet:
Converting addresses for transfer
The implementation of EVM compatibility currently live on the Zilliqa mainnet supports the transfer of native ZILs to EVM-compatible wallets such as MetaMask.
Users are currently unable to send Zilliqa NFTs or fungible tokens to EVM addresses or vice-versa, as they may lose their assets.
This feature will be added in a further mainnet upgrade that expands the functionality of EVM compatibility to include interoperability between Scilla and Solidity token standards.
For more information on the functionality supported by this EVM implementation, read our FAQs.
As Zilliqa and EVM use different address formats, it is also necessary to convert “0x”-prefixed Base16 addresses to Bech32 Zilliqa addresses with the “zil” prefix when transferring ZIL between EVM and Zilliqa wallets.
The steps for sending ZIL from your MetaMask wallet are outlined below.
Sending from MetaMask to Zilliqa wallet
Once you have set up your MetaMask wallet with the Ziliqa EVM network and have a ZIL balance in your account, you can send this ZIL to Zilliqa wallets such as ZilPay or other MetaMask users.
When sending ZIL from MetaMask to ZilPay or another Zilliqa wallet, the first step is to convert the “zil”-formatted recipient address to the “0x”-formatted address format supported by MetaMask.
First, copy your ZilPay wallet address from your ZilPay account and navigate to one of the tools above to convert that address into its corresponding Base16 or “0x”-prefixed address format.
To do this using Devex, enter your “zil”-formatted address into the search field at the top of the page. From here, you can press the small “recycle” button next to the address to change between “zil” and “0x” address formats.
If you are using the Zilliqa IDE, click on Tools -> Address Converter via the top menu bar, enter your “zil”-formatted address into the Bech32 address field and press enter to convert to a “0x”-formatted address that will appear in the Base16 address field.
Once you have the recipient address in the “0x” address format, open your MetaMask wallet and click on “Send”. Enter the “0x” address format for your ZilPay wallet in the address field.
Choose how much ZIL you want to transfer and click on “Next” to complete your transfer as normal. Confirm the transfer, and once the network has processed your transaction, your ZilPay account should reflect the new ZIL balance.
If you simply want to send your ZIL balance to another MetaMask or EVM wallet that is connected to the Zilliqa EVM network, you can simply transfer directly to the recipient’s “0x”-formatted wallet address.
The process of sending ZIL from MetaMask to ZilPay is detailed in the video below:
For more information on using MetaMask with Zilliqa, read the documentation on the Zilliqa developer portal.