Back

How to Build dApps on Bitcoin Using ZetaChain

Nov 18, 2025

ZetaChain Team

At ZetaChain, our mission is to build the Universal Blockchain that makes using Web3 as simple and unified as the Internet for both humans and AI.

The next wave of Web3 isn’t being built on one chain — it’s being built across all of them.

For years, Bitcoin has powered trillions in value but remained isolated from the programmable economy of Ethereum and other smart contract networks. ZetaChain changes that.

As the first EVM-compatible Layer 1 that natively connects to Bitcoin and every major blockchain, ZetaChain brings smart contracts, DeFi, and dApps directly to BTC — no bridges, no wrappers, no custodians.

ZetaChain: Bitcoin’s Smart Contract Layer

ZetaChain’s validator network acts as decentralized observers and signers across multiple blockchains — including Bitcoin. Validators collectively monitor the Bitcoin network for deposits and transactions, reach consensus on those observations, and then execute logic on ZetaChain’s EVM.

Because validators share a Threshold Signature Scheme (TSS) key, they can also send transactions back to Bitcoin, allowing dApps to fully manage native BTC within secure smart contracts.

This setup effectively turns ZetaChain into a smart contract layer for Bitcoin, enabling use cases that were previously impossible directly on the Bitcoin network.

Learn more in the ZetaChain overview.

Building with ZRC-20 Bitcoin

To make Bitcoin programmable within the ZetaChain ecosystem, the protocol introduces ZRC-20 tokens — tokenized, protocol-native representations of assets managed by ZetaChain’s Layer 1 itself (not by external bridges or custodians).

When a user sends BTC to ZetaChain’s TSS-managed address on the Bitcoin network, ZetaChain observes the transaction and automatically mints ZRC-20 BTC on its EVM.

This process functions like “wrapped BTC,” but it’s natively secured by the blockchain and validator consensus, not a third party.

Once on ZetaChain, developers and users can:

  • Make transactions on Bitcoin to call universal contracts on ZetaChain to trigger on-chain logic such as minting new tokens, issuing NFTs, or executing cross-chain swaps when BTC is deposited

  • Make transactions on Bitcoin to call contracts on other blockchains like Base, Solana or Sui. This makes it possible, for example, to mint an NFT on Solana, or trade on Sui directly from Bitcoin, through ZetaChain.

  • Swap ZRC-20 BTC

    for any other token in the ZetaChain ecosystem via DEX smart contracts

All logic — from minting to execution and outbound transactions — happens atomically within ZetaChain’s EVM, preserving Bitcoin’s value integrity while enabling full smart contract programmability.

See the ZRC-20 developer guide for more details on how cross-chain assets work.

Universal Contracts Triggered by Bitcoin

ZetaChain supports Universal (Omnichain) Smart Contracts, which can be invoked directly from external chains — including Bitcoin.

Here’s how it works:

  1. A user sends a BTC transaction to ZetaChain’s TSS address with a memo field or an inscription specifying a destination contract and message.

  2. ZetaChain observes this event, mints corresponding ZRC-20 BTC, and executes the

    onCall()

    function of the specified contract on ZetaChain.

  3. The contract can mint tokens, perform swaps, or execute any custom logic.

  4. If needed, ZetaChain can send BTC back to Bitcoin or make an outgoing call (with or without assets) to another connected chain.

This means Bitcoin transactions can now trigger arbitrary smart contract logic — from minting NFTs to yield farming or multi-chain swaps — all in a decentralized, non-custodial way.

Learn how to implement these omnichain function calls in the Universal Apps documentation.

Key Advantages for Developers

  • No Wrapped BTC Dependency

    — ZRC-20 BTC is minted and managed natively by ZetaChain’s protocol.

  • One Contract for All Chains

    — Deploy a single smart contract on ZetaChain’s EVM that handles logic across Bitcoin and every other connected chain.

  • Native BTC Interactions

    — Users can call contracts or participate in DeFi protocols using real BTC from their wallets — without swapping to another chain first.

  • Secure and Decentralized

    — ZetaChain validators use TSS and PoS consensus, providing fault-tolerant, on-chain verified interaction with Bitcoin and other chains.

Example: Building a Bitcoin-Powered dApp

Imagine building a cross-chain yield vault where users deposit Bitcoin, and the vault automatically allocates yield strategies across Ethereum, Polygon, and Avalanche.

  1. The user sends BTC to the dApp’s ZetaChain address.

  2. ZetaChain mints ZRC-20 BTC and triggers your contract’s

    onCall()

    logic.

  3. The contract swaps BTC for ETH or USDC (using any DEX available on ZetaChain ), deploys yield strategies, and monitors returns.

  4. When it’s time to withdraw, the contract converts assets back into BTC and sends them to the user’s Bitcoin address — all autonomously, no bridges required.

Follow the Hello Tutorial to test and deploy your first universal dApp on ZetaChain’s testnet.

Why This Matters

For developers, this is more than just a convenience layer — it’s a paradigm shift.

With ZetaChain, Bitcoin becomes an active participant in the multi-chain economy, not a passive store of value.

By combining ZetaChain’s EVM programmability, cross-chain messaging, and protocol-managed ZRC-20 assets, developers can finally build apps that leverage Bitcoin’s security and liquidity directly — without compromising decentralization.

To get started, explore the Bitcoin integration docs and visit the ZetaChain Developer Portal.

About ZetaChain

ZetaChain is the first Universal Blockchain with native access to Bitcoin, Ethereum, Solana, and more, offering seamless user experience and unified liquidity to the next billions of users. With its Universal EVM, ZetaChain empowers developers to build Universal Apps that operate natively across any blockchain, creating a fluid crypto ecosystem from a single platform.

Follow ZetaChain on Twitter @zetablockchain and join the conversation on Discord and Telegram. Reach out to [email protected] if you’re building on top of ZetaChain.