> For the complete documentation index, see [llms.txt](https://docs.bitsafe.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bitsafe.finance/product-suite/cbtc/operational-guides/minting-cbtc.md).

# 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

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](https://github.com/DLC-link/cbtc-lib)

For full installation instructions, environment configuration, and code examples, see the [cbtc-lib README on GitHub](https://github.com/DLC-link/cbtc-lib).

## 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

1. **Step 1: Create a Deposit Account** — Use the BitSafe app or `cbtc-lib`'s `mint_redeem::mint::create_deposit_account()` to create a deposit account. You will receive a unique BTC deposit address (Taproot/P2TR).
2. **Step 2: Send Bitcoin** — Send BTC to the provided deposit address from your Bitcoin wallet.
3. **Step 3: Wait for Confirmations** — The BitSafe Attestor Network monitors your deposit address and waits for 6+ Bitcoin block confirmations.
4. **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.
5. **Step 5: Verify Balance** — Check your CBTC balance on your Canton participant node.

## 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

* [cbtc-lib GitHub Repository](https://github.com/DLC-link/cbtc-lib)
* [CBTC Quick Start Guide](/developers/cbtc-quick-start.md)
* [CBTC Minting and Burning (Developer Reference)](/developers/cbtc-minting-and-burning.md)

## 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](/developers/cbtc-minting-and-burning.md) for details


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bitsafe.finance/product-suite/cbtc/operational-guides/minting-cbtc.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
