Minting CBTC
This guide covers how to mint CBTC (Canton Bitcoin) by depositing native Bitcoin. CBTC is minted via the BitSafe Attestor Network, a decentralized network that monitors Bitcoin deposits and automatically mints CBTC to your Canton party. You do not need to run an attestor yourself.
Integration Options
Section titled “Integration Options”You can mint CBTC either through the BitSafe web application (no code required) or programmatically using the cbtc-lib Rust library.
- Web Application: Use the BitSafe app to initiate deposits and monitor minting status
- cbtc-lib (Rust): A library of helper functions for minting, burning, and transferring CBTC on Canton. See cbtc-lib
For full installation instructions, environment configuration, and code examples, see the cbtc-lib README on GitHub.
Prerequisites
Section titled “Prerequisites”- A Bitcoin wallet that supports Taproot (P2TR) addresses
- A Canton Network participant node
- Sufficient BTC for the deposit plus network fees
- A valid credential issued by your account manager
- For programmatic minting: the CBTC Minting App DAR files installed on your participant node. See the cbtc-lib Installation Guide
Minting Flow
Section titled “Minting Flow”- Step 1: Create a Deposit Account — Use the BitSafe app or
cbtc-lib’smint_redeem::mint::create_deposit_account()to create a deposit account. You will receive a unique BTC deposit address (Taproot/P2TR). - Step 2: Send Bitcoin — Send BTC to the provided deposit address from your Bitcoin wallet.
- Step 3: Wait for Confirmations — The BitSafe Attestor Network monitors your deposit address and waits for 6+ Bitcoin block confirmations.
- Step 4: Automatic Minting — Once confirmations are received, the attestor network verifies the deposit and automatically mints the equivalent CBTC to your Canton party. No action is required from you at this step.
- Step 5: Verify Balance — Check your CBTC balance on your Canton participant node.
Environment Configuration
Section titled “Environment Configuration”Configure your environment to point to the correct BitSafe API:
| Environment | BITSAFE_API_URL |
|---|---|
| Devnet | https://api.devnet.bitsafe.finance |
| Testnet | https://api.testnet.bitsafe.finance |
| Mainnet | https://api.mainnet.bitsafe.finance |
Developer Resources
Section titled “Developer Resources”Important Notes
Section titled “Important Notes”- Each CBTC is backed 1:1 by Bitcoin held in decentralized custody
- The minting process typically completes within minutes after 6 Bitcoin confirmations
- You do not need to run an attestor. The BitSafe Attestor Network handles all verification and minting automatically
- Deposits are subject to per-account limits - 0.0001 BTC minimum and 5 BTC maximum by default, adjustable on request. See CBTC Minting and Burning for details
Ask the docs
Answers come only from this documentation and can be wrong. Check the linked pages.
Ask a question about BitSafe, CBTC or the developer guides. For example: