We are happy to see more and more Bitcoin projects realising the potential of the Internet Computer as a Bitcoin sidechain / L2 scaling solution.
Thanks to ICP features such as threshold ECDSA / Schnorr signatures, HTTPS outcalls, secure randomness and more, projects like Odin.fun, Liquidium, Omnity, Liquity, and more are building cross chain DeFi applications that could not have been built on other platforms.
Updated Bitcoin developer docs and examples
To help more developers realise the potential of building Bitcoin DeFi applications on the Internet Computer, we have updated the Bitcoin developer docs, refactored existing examples and added new ones.
Updated docs: Bitcoin Developer Docs
BTC developer environment
We made sure the instructions on how to setup your Bitcoin/ICP developer environment are up to date and easy to follow.
Setup steps:
- Install required tooling (Rust, dfx, bitcoind)
- Create your ICP project
- Launch a local Bitcoin testnet (regtest) with bitcoind
- Start dfx with Bitcoin support enabled
Using Bitcoin regtest
Examples on how to interact with the local Bitcoin testnet (regtest):
- Generate Bitcoin addresses for testing
- Receive and send BTC in your local environment
- Query block information and raw transaction data
- Debug common issues with troubleshooting guides
- Submit transactions with confidence
Updated basic Bitcoin operations
The basic_bitcoin
example was given a cleanup to make it easier to understand and use. More inline documentation was added to the code.
- Legacy & SegWit address generation
- Threshold ECDSA & Schnorr key management
- UTXO discovery and management
- Dynamic fee calculation
- Transaction building, signing, and broadcasting
Ordinals example
Ordinals is a protocol that allows inscribing arbitrary data (text, images, etc.) onto individual satoshis, creating unique digital artifacts on Bitcoin. Each inscription is permanently stored in the Bitcoin blockchain using a two-transaction commit/reveal process that embeds data in witness scripts.
Runes example
Runes is a fungible token protocol that embeds token metadata directly into Bitcoin transactions using OP_RETURN outputs with OP_13 markers. Unlike Ordinals, Runes are created in a single transaction and support standard fungible token operations like minting and transferring.
BRC-20 tokens example
BRC-20 is a token standard built on top of Ordinals that uses structured JSON payloads to create fungible tokens on Bitcoin. BRC-20 tokens follow the same inscription process as Ordinals but with standardized JSON formats that define token operations like deploy, mint, and transfer.
Get started
These examples show how to build Bitcoin applications on the Internet Computer. Try out the code, and let us know how it goes.
We love to hear your feedback, happy building!