Build Bitcoin DeFi applications on the Internet Computer

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.

:eyes: 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! :rocket:

4 Likes