Updated ERC-20 Custody Contract on Testnet 🚨
We’ve deployed an updated ERC-20 Custody contract on ZetaChain testnet. The new contract address on all EVM chains is:
⚠️ Please note: This update is testnet-only. No actions required on mainnet.
The migration to the new address will take place early next week, so make sure to update your configurations and integrations accordingly. After the migration is complete, any transactions through the old ERC-20 Custody contract will be reverted, so it's essential to switch to the new address.
We’ve deployed an updated ERC-20 Custody contract on ZetaChain testnet. The new contract address on all EVM chains is:
0xd80be3710f08d280f51115e072e5d2a778946cd7
⚠️ Please note: This update is testnet-only. No actions required on mainnet.
The migration to the new address will take place early next week, so make sure to update your configurations and integrations accordingly. After the migration is complete, any transactions through the old ERC-20 Custody contract will be reverted, so it's essential to switch to the new address.
Special Developer Office Hours This Friday! 🗓️
This Friday, we’re hosting a special edition of Developer Office Hours, and you’re invited to dive deep into some of the latest bleeding-edge features on ZetaChain! 🚀
Here’s what we’ll cover:
🔐 Authenticated Calls with ZetaChain’s Gateway
We’ll introduce Authenticated Calls, an exciting upcoming feature allowing cross-chain calls with embedded sender information. This will open up new possibilities for secure and seamless inter-chain interactions.
🌠 Universal NFT Tutorial Preview
We’ll explore the new NFT tutorial that uses Authenticated Calls to create a Universal NFT—transferable across ZetaChain and any connected chains!
🏗️ Pre-Release Localnet Walkthrough
We’ll use the pre-release version of localnet, which already supports this Gateway functionality, so you can get hands-on experience with these features before they hit testnet.
This is a chance to experience the latest ZetaChain capabilities, experiment with features not yet available on testnet, and be part of building the future of blockchain interoperability. Don’t miss out on this opportunity to get hands-on with the future of ZetaChain! See you there! 🙌
https://discord.com/events/858516330432299008/1301127994575945749
This Friday, we’re hosting a special edition of Developer Office Hours, and you’re invited to dive deep into some of the latest bleeding-edge features on ZetaChain! 🚀
Here’s what we’ll cover:
🔐 Authenticated Calls with ZetaChain’s Gateway
We’ll introduce Authenticated Calls, an exciting upcoming feature allowing cross-chain calls with embedded sender information. This will open up new possibilities for secure and seamless inter-chain interactions.
🌠 Universal NFT Tutorial Preview
We’ll explore the new NFT tutorial that uses Authenticated Calls to create a Universal NFT—transferable across ZetaChain and any connected chains!
🏗️ Pre-Release Localnet Walkthrough
We’ll use the pre-release version of localnet, which already supports this Gateway functionality, so you can get hands-on experience with these features before they hit testnet.
This is a chance to experience the latest ZetaChain capabilities, experiment with features not yet available on testnet, and be part of building the future of blockchain interoperability. Don’t miss out on this opportunity to get hands-on with the future of ZetaChain! See you there! 🙌
https://discord.com/events/858516330432299008/1301127994575945749
Gateway Contracts Deployed on Testnet! 🌏
We’re excited to announce that the Gateway contract has been successfully deployed on the ZetaChain testnet and connected chains! 🎉
The Gateway is a powerful interface serving as a unified entry point for seamless interactions between contracts on connected chains and universal apps on ZetaChain. This deployment marks a significant step forward for developers building omnichain applications.
Gateway Addresses (on testnet):
ZetaChain:
EVM Chains:
Solana:
🔗 Explore Gateway Documentation and Get Started
Find everything you need to start integrating with Gateway:
https://www.zetachain.com/docs/developers/evm/gateway/
🚀 Updated Tutorials Featuring Gateway
Check out our tutorials to see Gateway in action:
https://www.zetachain.com/docs/developers/tutorials/hello/
https://www.zetachain.com/docs/developers/tutorials/swap/
Explore the Gateway on ZetaChain and see how it can simplify building seamless, decentralized universal applications 🙌
We’re excited to announce that the Gateway contract has been successfully deployed on the ZetaChain testnet and connected chains! 🎉
The Gateway is a powerful interface serving as a unified entry point for seamless interactions between contracts on connected chains and universal apps on ZetaChain. This deployment marks a significant step forward for developers building omnichain applications.
Gateway Addresses (on testnet):
ZetaChain:
0x6c533f7fe93fae114d0954697069df33c9b74fd7
EVM Chains:
0x0c487a766110c85d301d96e33579c5b317fa4995
Solana:
ZETAjseVjuFsxdRxo6MmTCvqFwb3ZHUx56Co3vCmGis
🔗 Explore Gateway Documentation and Get Started
Find everything you need to start integrating with Gateway:
https://www.zetachain.com/docs/developers/evm/gateway/
🚀 Updated Tutorials Featuring Gateway
Check out our tutorials to see Gateway in action:
https://www.zetachain.com/docs/developers/tutorials/hello/
https://www.zetachain.com/docs/developers/tutorials/swap/
Explore the Gateway on ZetaChain and see how it can simplify building seamless, decentralized universal applications 🙌
Hello Tutorial: Basics of Using the Gateway Interface
🛠️ Learn how to send messages and make cross-chain calls using ZetaChain's Gateway in a local development environment. This tutorial covers the essentials to get you started.
📡 Watch here: https://www.youtube.com/watch?v=4PLFJ0LnVcQ
🛠️ Learn how to send messages and make cross-chain calls using ZetaChain's Gateway in a local development environment. This tutorial covers the essentials to get you started.
📡 Watch here: https://www.youtube.com/watch?v=4PLFJ0LnVcQ
YouTube
ZetaChain Tutorial: Gateway on Localnet
Hello & Echo tutorial on how to make calls and token transfers between EVM and ZetaChain using the Gateway on Localnet.
Visit the ZetaDocs to learn more and get started: www.zetachain.com/docs/
Visit the ZetaDocs to learn more and get started: www.zetachain.com/docs/
New Screencast: Creating a Universal NFT 🌠
We’ve just published a new screencast on building a Universal NFT that can be seamlessly transferred between blockchains! 🌐
This tutorial leverages the latest Gateway features, currently available exclusively on localnet, giving you an early look at cross-chain NFT transfers powered by ZetaChain.
Check it out to start exploring the future of cross-chain NFTs! 🙌
https://www.youtube.com/watch?v=fRv1iyi1IjQ
We’ve just published a new screencast on building a Universal NFT that can be seamlessly transferred between blockchains! 🌐
This tutorial leverages the latest Gateway features, currently available exclusively on localnet, giving you an early look at cross-chain NFT transfers powered by ZetaChain.
Check it out to start exploring the future of cross-chain NFTs! 🙌
https://www.youtube.com/watch?v=fRv1iyi1IjQ
YouTube
ZetaChain Tutorial: Universal NFTs
In this tutorial you will learn how to create a universal ERC-721 NFT that can be easily transferred between chains connected to ZetaChain.
Visit the ZetaDocs to learn more and get started: www.zetachain.com/docs/developers/tutorials/nft/
Visit the ZetaDocs to learn more and get started: www.zetachain.com/docs/developers/tutorials/nft/
Upcoming change to the ZetaChain ERC-20 Custody Contracts on all connected chains 🚨
Updated ERC-20 Custody contracts will go live for ZetaChain on November 13th and 14th. The new ERC-20 Custody contract address for all EVM chains will be:
How to Upgrade to the new ERC-20 Custody Contract Address:
If you have hardcoded the address anywhere in your dapp you'll need to make the change manually at the correct time for each external chain. See https://status.zetachain.com for the specific maintenance window for each connected chain.
If your dapp queries the address dynamically from the
If you use the Protocol-Contracts NPM Package you will need to update to the latest version during the maintenance window.
The migration to the new address will be staggered across each connected chain. See https://status.zetachain.com for the schedule maintenance windows. When the migration begins, any transactions sent through the old ERC-20 Custody contract will be reverted, so it's essential to switch to the new address.
Updated ERC-20 Custody contracts will go live for ZetaChain on November 13th and 14th. The new ERC-20 Custody contract address for all EVM chains will be:
0x0Bad40D9e9C369f2223c835E108f43a45fd223B5
. The contract interface remains the same so no changes other than the contract address are needed.How to Upgrade to the new ERC-20 Custody Contract Address:
If you have hardcoded the address anywhere in your dapp you'll need to make the change manually at the correct time for each external chain. See https://status.zetachain.com for the specific maintenance window for each connected chain.
If your dapp queries the address dynamically from the
/zeta-chain/observer/get_chain_params
endpoint, then your dapp will pickup the change automatically and no action is needed. If you use the Protocol-Contracts NPM Package you will need to update to the latest version during the maintenance window.
The migration to the new address will be staggered across each connected chain. See https://status.zetachain.com for the schedule maintenance windows. When the migration begins, any transactions sent through the old ERC-20 Custody contract will be reverted, so it's essential to switch to the new address.
Developer Office Hour is starting in 1 hour!
We'll be covering:
- Updates to the Universal NFT/FTs
- Upcoming Localnet functionality: handling aborted transactions using onAbort
- ZetaChain on ThirdWeb: deploy universal contracts from your browser
- Getting started with examples is easier with the new create-universal-contract CLI tool
🗓️ https://lu.ma/uzvpt45u
💬 https://discord.com/events/858516330432299008/1324135625410220113
We'll be covering:
- Updates to the Universal NFT/FTs
- Upcoming Localnet functionality: handling aborted transactions using onAbort
- ZetaChain on ThirdWeb: deploy universal contracts from your browser
- Getting started with examples is easier with the new create-universal-contract CLI tool
🗓️ https://lu.ma/uzvpt45u
💬 https://discord.com/events/858516330432299008/1324135625410220113
lu.ma
Developer Office Hours · Luma
Join us for monthly Developer Office Hours! 🎉
This is great opportunity to dive deep into the world of ZetaChain, ask burning questions, and share your…
This is great opportunity to dive deep into the world of ZetaChain, ask burning questions, and share your…
🚨 Migration from
Starting this Friday (Feb 7th) at 9 AM PST, all ZetaChain mainnet cross-chain transactions from connected chains (EVM, Solana, and Bitcoin) will be routed to the
When a call is made from an EVM chain, a sender address is contained in
This upgrade brings consistency to the way cross-chain calls are handled with
onCrossChainCall
to onCall
Starting this Friday (Feb 7th) at 9 AM PST, all ZetaChain mainnet cross-chain transactions from connected chains (EVM, Solana, and Bitcoin) will be routed to the
onCall
function:
function onCall(
MessageContext calldata context,
address zrc20,
uint256 amount,
bytes calldata message
) external override onlyGateway {
//...
}
onCall
is called by the ZetaChain Gateway contract, so it's important to check that onlyGateway
is permitted to call this function. Context parameter is now of type MessageContext
.When a call is made from an EVM chain, a sender address is contained in
address context.sender
, and for calls from Solana and Bitcoin, the sender address is in bytes context.origin
.This upgrade brings consistency to the way cross-chain calls are handled with
onCall
being the main function that handles calls from all connected chains.🚀 Devs, join us for Developer Office Hours tomorrow!
Feb 25 | 2:30 PM - 3:30 UTC
Live on X → https://x.com/zetablockchain/
Event link → https://lu.ma/326f38i8
We’ll be taking a look at Sui integration on localnet and SPL-20 support.
📢 Starting this month, Dev Office Hours will be broadcasted on X! (not Discord)
Feb 25 | 2:30 PM - 3:30 UTC
Live on X → https://x.com/zetablockchain/
Event link → https://lu.ma/326f38i8
We’ll be taking a look at Sui integration on localnet and SPL-20 support.
📢 Starting this month, Dev Office Hours will be broadcasted on X! (not Discord)
🚨 Attention Developers: Disabling Transfers to TSS
We are deprecating the ability to send funds directly to the TSS address and will require all transactions be routed via the Gateway Contract on each connected chain. If you are already using the Gateway Contract for all your transactions no action is necessary. This change applies to EVM chains only.
This only applies to developers who are sending assets directly to the TSS address (0x70e967acfcc17c3941e87562161406d41676fd83).
Why:
The TSS address will change over time but the Gateway Contract address is static. The Gateway Contract also provides more features and flexibility for the developer in additional to making it easier for the ZetaChain team to iterate and improve.
When:
Existing Chains (BSC, Polygon, Base): Send To TSS will be disabled on March 24th
New Chains: Send to TSS will be disabled immediately at launch for Avalanche, Arbitrum, and all newly connected chains.
Ethereum: Some partners prefer to use Send to TSS on Ethereum for gas optimization purposes so we will leave it enabled there for the foreseeable future
We are deprecating the ability to send funds directly to the TSS address and will require all transactions be routed via the Gateway Contract on each connected chain. If you are already using the Gateway Contract for all your transactions no action is necessary. This change applies to EVM chains only.
This only applies to developers who are sending assets directly to the TSS address (0x70e967acfcc17c3941e87562161406d41676fd83).
Why:
The TSS address will change over time but the Gateway Contract address is static. The Gateway Contract also provides more features and flexibility for the developer in additional to making it easier for the ZetaChain team to iterate and improve.
When:
Existing Chains (BSC, Polygon, Base): Send To TSS will be disabled on March 24th
New Chains: Send to TSS will be disabled immediately at launch for Avalanche, Arbitrum, and all newly connected chains.
Ethereum: Some partners prefer to use Send to TSS on Ethereum for gas optimization purposes so we will leave it enabled there for the foreseeable future
Round two of the validator delegation program is live!
We are accepting 6 new validators this time.
We also made changes to streamline the review and decision making process. It'll be first come first serve assuming validators can pass KYB.
We will delegate 250k ZETA and each month we'll increase this by 100k ZETA until a total of 750k is reached.
Additional details can be found in the post.
We are accepting 6 new validators this time.
We also made changes to streamline the review and decision making process. It'll be first come first serve assuming validators can pass KYB.
We will delegate 250k ZETA and each month we'll increase this by 100k ZETA until a total of 750k is reached.
Additional details can be found in the post.
Medium
10,000,000 ZETA Validator Delegation Program: Round 2
Check out this blog post in español, 简体中文, 繁體中文, 日本語, हिंदी, 한국어, tiếng-việt, português, français, русский, українська, türkçe, indonesian…
Protocol planning call is starting: https://x.com/i/broadcasts/1BRKjmaDpMpxw
Universal Contract Interface Update 🚀
Hey devs! Heads up—an update is coming to the universal contract interface in the next protocol upgrade.
🔄 Changes:
The bytes origin field in MessageContext will be replaced with bytes sender, which now supports both EVM and non-EVM addresses (Bitcoin, Solana, Sui, Ton, etc.).
Before:
After:
Key change: bytes sender is now the main source of sender information. senderEVM remains for backward compatibility and is only populated for EVM chains.
This update enhances developer experience and cross-chain compatibility and will take effect in the next major protocol upgrade. Stay tuned! 🚀
Hey devs! Heads up—an update is coming to the universal contract interface in the next protocol upgrade.
🔄 Changes:
The bytes origin field in MessageContext will be replaced with bytes sender, which now supports both EVM and non-EVM addresses (Bitcoin, Solana, Sui, Ton, etc.).
Before:
struct MessageContext {
bytes origin;
address sender;
uint256 chainID;
}
After:
struct MessageContext {
bytes sender; // Now the main sender identifier for all chains
address senderEVM; // Only for EVM chains (same as sender)
uint256 chainID;
}
Key change: bytes sender is now the main source of sender information. senderEVM remains for backward compatibility and is only populated for EVM chains.
This update enhances developer experience and cross-chain compatibility and will take effect in the next major protocol upgrade. Stay tuned! 🚀