ckBTC: a canister-issued bitcoin twin token on the IC, 1:1-backed by BTC

A few members of the community have expressed some concerns about ckBTC whitelisting for minting. This post is to bring some clarity around DFINITY’s ckBTC rollout strategy.

Summary:

  • ckBTC is a “digital twin” of BTC implemented by two main canisters:
    • The ckBTC ledger canister (fully launched)
    • The ckBTC minter canister (semi-launched)
  • Documentation & code of both ckBTC and minter canister are publically available.
  • ckBTC follows the ICRC-1 fungible token standard. So anyone can receive, hold and send ckBTC (including the NNS FE dapp).
  • ckBTC is freely transferable, so anyone can purchase or sell ckBTC on DEXs such as ICDex.
  • It is possible today via dfx for anyone to redeem their ckBTC for BTC on the Bitcoin network (note redeeming ckBTC for BTC has BTC network fees). A more user-friendly UI in the NNS FE dapp is coming soon.
  • The sole limitation today: only DFINITY is currently whitelisted to convert BTC to ckBTC
    • This is to allow a more gradual and controlled rollout of ckBTC and limit financial risk in this first phase.
    • When the NNS removes whitelisting, the rollout will be complete.
    • Anyone can continue to send testBTC to the ckTESTBTC canister to issue ckTESTBTC for development purposes.

Timeline:

  • Dec 22, 2022: ck-TEST-BTC was made available to the public
  • Jan 27, 2023: voting initiated for ckBTC canister on the NNS
  • Feb 1, 2023: first ckBTC issued in the amount of 0.001
  • Feb 3, 2023: 1.5 BTC converted to ckBTC by DFINITY
  • Feb 8, 2023: ckBTC available on NNS FE
  • In the coming weeks, ckBTC conversion will be made available to the public

Integrating ckBTC into a dapp

The ckBTC ledger is fully launched and ready to be integrated into dapps on the Internet Computer today. As ckBTC uses the ICRC-1 standard, implementation is fairly straightforward.

However, as with any other token with value there are risks involved, so developers should incorporate ckBTC with caution. To enable developers to safely develop and test ckBTC applications, ck-TEST-BTC will remain available for anyone to test in dapps before launching with ckBTC. We encourage developers to take advantage of the ckTESTBTC canister as it is technically equivalent to the real ckBTC canister, except it uses testBTC.

Whitelisting ckBTC minting & initial rollout

ckBTC is not a token created by DFINITY but is a digital twin of BTC with 1:1 equivalent value. This is ensured by anyone being able to redeem ckBTC for BTC on the BTC network and also conversely convert BTC to ckBTC.

However to control risk, the release of ckBTC follows a staggered and controlled rollout. As a first step, a DFINITY principal was whitelisted to issue an initial batch of ckBTC before opening up ckBTC issuance to the public.

To stress test and to prime the wider ecosystem for ckBTC adoption, we wanted to get ckBTC into the hands of as many end users as possible. To this goal we selected a limited number of projects, based on user metrics and the capacity to implement ckBTC into their in-dapp wallets to help distribute ckBTC to their end users via fun and engaging promotional activities (not an airdrop). We selected a diversity of dapps from various categories such as GameFi, SocFi and DeFi to help.

As the ICP community has shown great enthusiasm for the BTC Integration and ckBTC, whitelisting was a way to launch ckBTC in a controlled way in production. Sending ckBTC for the teams to distribute onwards was a way to involve the community and provide initial liquidity. If there are other projects in the ecosystem who are planning to develop ckBTC use cases, and broaden the user base of ckBTC, we are happy to learn more about how we can help your launch.

We are happy to see the hype around BTC Integration and ckBTC, and look forward to more dapps integrating ckBTC. Feel free to reach out to us with your feedback and technical questions.

Happy Hacking!

See documentation: Internet Computer Content Validation Bootstrap

19 Likes