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

ZetaChain commits 5% of total ZETA supply to developer and dApp ecosystem growth program including 1% for Bitcoin projects

The new ecosystem program will accelerate growth of projects building on ZetaChain through developer grants, with a major carve out for Bitcoin-focused projects following the halving.

Placeholder

ZetaChain Enters Top 5 Blockchains by Total Weekly Active Users!

ZetaChain’s mission is to serve as a platform for universal access, simplicity, and utility across any blockchain. From entering the top five chains by users and top five Naming Service in one week on SPACE ID to the full day ZetaChain Bitcoin Builder Zone at ETH Seoul and everything in-between, March was a resounding success!

Placeholder

Coinbase launches Learning Rewards and ZetaChain support on Coinbase Wallet to bring omnichain to users

ZetaChain’s mission is to serve as a platform for universal access, simplicity, and utility across any blockchain. Today marks a significant milestone as leading wallet Coinbase Wallet adds support for ZetaChain to launch Learning Rewards quests campaign in Coinbase Wallet. The integration enables Coinbase Wallet users to experience omnichain interoperability across all chains in a simple, fast, and secure way.

Placeholder

Introducing universal web3 ID with the launch of .zeta Name Service with SPACE ID

.zeta universal identities span all of web3, from EVM to Cosmos, BNB and eventually even Bitcoin. Mint your ID and join the BTC Halving Claim Campaign hosted by Galxe!

Placeholder

ZetaChain and Galxe announce BTC drop for next generation Bitcoin Smart Contracts

In the lead-up to Bitcoin Halving, ZetaChain announces the first BTC drop to fuel a new generation of Bitcoin Smart Contracts. Eligible phase 1 users can claim ZETA now first-come, first served! Everyone can join the phase 2 BTC Halving claim through April!

Placeholder

What’s Next For Validators on ZetaChain Mainnet Beta

ZetaChain’s mission is to serve as a platform for universal access, simplicity, and utility across any blockchain. The successful launch of ZetaChain Mainnet Beta marks the conclusion of the incentivized testnet and the next evolution of distributed infrastructure to support ecosystem growth for many years to come.

Placeholder

February: Launching into a very social month with ETHDenver and Omnichain Day!

In the first month, ZetaChain Mainnet Beta saw 1M+ users join and the first-ever Omnichain Day at ETHDenver! Catch us live on ZetaRadio today at 3PM UTC for more!


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