Developer Resources

ZetaChain is the first ever L1 blockchain to enable fully interoperable smart contracts, or omnichain smart contracts, that connect all blockchains and bring the power of programmability to non-smart contract chains like Bitcoin and Dogecoin. We provide an unparalleled combination of security, simplicity, and flexibility for developers.

Built for an unparalleled developer experience

Deploy Once, Access All Chains

Manage a single omnichain contract for all chains, instead of one contract for each supported chain. Experience the simplicity of building on Ethereum with access to assets on any chain, even non-smart contract chains like Bitcoin.

Fewer Transactions, Fewer Fees

Complex contract logic on ZetaChain can orchestrate assets across all connected external chains through simple transfers and single transactions, minimizing total gas expenditure and slippage for users.

Safer, Better User Experience

Transaction logic occurs atomically in our smart contracts, resulting in lower slippage, reduced attack surface, and less susceptibility to race conditions. Experience truly one-step transactions (and fees), even when operating across chains.

The best DevX = The best UX

Omnichain Smart Contracts and Messaging give you a complete toolkit to easily build intuitive, traceable, single-step transactions so your users don’t get stuck or risk their funds.

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol";
import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol";

import "../shared/SwapHelperLib.sol";

contract ZetaSwap is zContract {
    SystemContract public immutable systemContract;

    constructor(address systemContractAddress) {
        systemContract = SystemContract(systemContractAddress);
    }

    modifier onlySystem() {
        require(msg.sender == address(systemContract), "Only system contract can call this function");
        _;
    }

    function onCrossChainCall(
        zContext calldata context,
        address zrc20,
        uint256 amount,
        bytes calldata message
    ) external virtual override onlySystem {
        (address targetZRC20, bytes32 receipient, uint256 minAmountOut) = abi.decode(
            message,
            (address, bytes32, uint256)
        );
        uint256 outputAmount = SwapHelperLib._doSwap(
            systemContract.wZetaContractAddress(),
            systemContract.uniswapv2FactoryAddress(),
            systemContract.uniswapv2Router02Address(),
            zrc20,
            amount,
            targetZRC20,
            minAmountOut
        );
        SwapHelperLib._doWithdrawal(targetZRC20, outputAmount, receipient);
    }
}

The easiest, most versatile cross-chain platform

To interact with the ZetaChain blockchain, implement 3 functions into your dApp to get intuitive, traceable, revertible behavior so your users don't get stuck or risk their funds.

Start using Connector API
/**
/* Sending value and data cross-chain */
function send(ZetaInterfaces.SendInput calldata input) external;

/* onZetaMessage is called when cross-chain message reaches contract */
function onZetaMessage(ZetaInterfaces.ZetaMessage calldata zetaMessage) external;

/* onZetaRevert is called when cross-chain message reverts */
function onZetaRevert(ZetaInterfaces.ZetaRevert calldata zetaRevert) external;

Omnichain Primitives

ZetaChain's omnichain primitives give developers the ability to deploy applications once and orchestrate assets on any connected chain from a single place of logic.

Omnichain toolkit

Omnichain Smart Contracts

Leverage the existing Ethereum smart contract ecosystem and build truly interoperable apps on ZetaChain as if everything were on a single chain.

Learn more

Cross-chain Messaging

Send arbitrary messages and move real value without the need for wrapping or locking assets, from any chain to any chain.

Learn more

Omnichain Accounts

ZetaChain’s novel TSS architecture lets users and contracts custody and manage assets from a single place, in a secure and decentralized manner.

Coming soon

Explorer

Fully explorable transactions: View and monitor ZetaChain internal transactions as well as transactions occurring from any chain to any chain.

Go to Explorer

How does ZetaChain compare?

As a blockchain and smart contract platform, ZetaChain provides a fully public, transparent, decentralized interoperability solution that supports both omnichain messaging and smart contracts. Developers on ZetaChain only need to implement their dApp logic, while ZetaChain handles the transaction of data and value across chains in a trust-minimized way.

Read whitepaper
ZetaChainCosmosPolkadotTHORChainBridges/MessagingGeneral Smart Contracts
Yes
Yes
Yes
No
No
Cross-chain Value Transfer
Yes
Yes
Yes
Yes
Yes
Cross-chain Message Passing
Yes
Yes
Yes
No
Yes
Chain-Agnostic
Yes
Only Cosmos/IBC Chains
No
Yes
Application-specific chain-pairs
Settlement
Immediate native settlement
Wrapped
Wrapped
Immediate native settlement
Wrapped, risk of redeem
Native Bitcoin Vault Management
Yes
No
No
Yes
Application-specific
Omnichain Smart Contracts
Yes
Only Cosmos/IBC Chains
Only Parachains
No
No

Risk Minimized

ZetaChain is a decentralized network built with TSS and PoS Tendermint Consensus with a minimal attack surface.

Unified Liquidity

No wrapped assets, centralized bridges, or increased interdependency risks. More freedom and cheaper transactions.

Infinite Compatibility

ZetaChain can support any existing or new blockchain, even non-smart contract chains like Bitcoin and Dogecoin.

Start Building

Kickstart your development with our growing examples library, with real contracts for real use cases.

Deploy an Omnichain dApp
Omnichain lending
Any-to-any payments
Omnichain NFTs
Cross-chain proof of ownership
Dogecoin smart contracts
Cross-chain DEX
Omnichain DAOs
Cross-chain stableswap
Omnichain lending
Any-to-any payments
Omnichain NFTs
Cross-chain proof of ownership
Dogecoin smart contracts
Cross-chain DEX
Omnichain DAOs
Cross-chain stableswap

Want to collaborate?

Share ideas and find collaborators to build omnichain dApps on ZetaChain in our Discord Development Zone. Our team is always ready to help out.

Latest

Check out the latest ZetaChain updates

Placeholder

Introducing Localnet & Devnet: Build Universal Apps faster with the newest features!

The new ZetaChain networks significantly enhance the Universal App development experience. A small group of active developers may apply here for early Devnet access.

Placeholder

Major brands like Alchemy, Tenderly, and Ledger join over 125 infra providers supporting the first universal blockchain

The new unicorn partnerships substantiate ZetaChain as a premium L1 for developers focused on building dApps that work across any blockchain — even Bitcoin network.

Placeholder

Build for any blockchain with Universal Apps

ZetaChain’s mission is to serve as a platform for universal access, simplicity, and utility across any blockchain. Today we’re excited to introduce Gateway and Localnet, which greatly improve DevX for Universal Apps — single smart contracts on ZetaChain’s EVM that are natively connected to any other blockchain. Gateway plays a significant role in the active ZetaChain 2.0 upgrades.

Placeholder

June: ZetaHub crosses million users!

We head into summer with 1M+ enrolled XP members, and exciting developments to the Universal Loyalty & Rewards Layer program while ramping up ecosystem expansion for the first Universal EVM!

Placeholder

Launching the Universal Loyalty & Rewards Layer

Build XP Status; gain access to Rewards. The new release will support the first XP airdrop distributions and a new approach to Universal Loyalty & Rewards in web3!

Placeholder

Developers can now build Universal Apps with Alchemy!

Build Universal Apps using Alchemy Supernode, Alchemy Subgraphs and Alchemy’s full suite of developer tools! Access our quickstart guide here to get started!

Placeholder

10,000,000 ZETA Rewards: XP Airdrop Round 1

The ZetaChain XP Airdrop Round 1 is coming! Any app can submit a ZETA rewards RFP by July 1st at 00:00 UTC, marking the start of the first reward distributions by apps. Please prepare your questions for our AMA on June 18th!


Have questions?
Check out FAQ or chat with an expert.