> 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/developers/technical-reference.md).

# Technical Reference

> ⚠️

***

## Token Details

| Property                | Value                                                                                                      |
| ----------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Name**                | CBTC (Canton Bitcoin)                                                                                      |
| **Standard**            | CIP-56 (Canton Instrument Protocol)                                                                        |
| **Backing**             | 1:1 with native BTC                                                                                        |
| **Network**             | Canton Network                                                                                             |
| **Deposit requirement** | Taproot-compatible Bitcoin wallet (P2TR)                                                                   |
| **Transaction limits**  | 0.0001 BTC minimum, 5 BTC maximum by default. Set per account and adjustable on request                    |
| **Confirmations**       | 6 Bitcoin blocks (\~60 minutes)                                                                            |
| **Audit**               | [Quantstamp](https://certificate.quantstamp.com/full/cbtc/5d0d805e-8cf0-4a39-bf1a-0e94899b3c1c/index.html) |

***

## Network Environments

| Environment | Registry URL                                                                                        | Coordinator URL                                                              | Bitcoin Network |
| ----------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- |
| **Devnet**  | [`https://api.utilities.digitalasset-dev.com`](https://api.utilities.digitalasset-dev.com/)         | [`https://devnet.dlc.link/attestor-2`](https://devnet.dlc.link/attestor-2)   | Bitcoin Testnet |
| **Testnet** | [`https://api.utilities.digitalasset-staging.com`](https://api.utilities.digitalasset-staging.com/) | [`https://testnet.dlc.link/attestor-1`](https://testnet.dlc.link/attestor-1) | Bitcoin Testnet |
| **Mainnet** | [`https://api.utilities.digitalasset.com`](https://api.utilities.digitalasset.com/)                 | [`https://mainnet.dlc.link/attestor-1`](https://mainnet.dlc.link/attestor-1) | Bitcoin Mainnet |

For full Instrument IDs per network, see [Instrument ID Management](https://docs.bitsafe.finance/developers/instrument-id-management).

***

## Canton Network Requirements

To interact with CBTC you need:

1. **Canton participant node** - connected to the target network (devnet/testnet/mainnet)
2. **CBTC DAR files** - installed on your participant. All versions must be installed to access all live contract versions.

* Download: [github.com/DLC-link/cbtc-lib/tree/v0.6.4/cbtc-dars](https://github.com/DLC-link/cbtc-lib/tree/v0.6.4/cbtc-dars) (latest DAR: `cbtc-1.2.1`)

1. **OIDC provider** - Keycloak (officially supported) or Auth0 (community example)
2. **Canton CLI** - version 3.3.0+ for DAR upload scripts
3. **Prerequisites for CLI:** `jq`, `curl`, `java` (11+)

### DAR Upload

```bash
git clone https://github.com/DLC-link/cbtc-lib
cd cbtc-lib
# Edit misc/connect.conf to point to your participant
canton run 00_UploadDars.sc -c./misc/connect.conf
```

The upload script is **idempotent** - safe to re-run.

***

## Fee Structure

> ✅ **Confirmed: Mint and burn fees are 0%.** There are no BitSafe fees on CBTC mint or burn operations.

### Canton Transfer Costs

* CBTC transfers on Canton cost approximately **$3-5 per transaction** (network gas, not BitSafe fees)
* Cost varies based on payload size and UTXO count
* Sending CBTC is generally more expensive than sending Canton Coin (CC) due to larger payload

***

## GitHub Repositories

| Repository     | Version      | Description                                         | Link                                                                 |
| -------------- | ------------ | --------------------------------------------------- | -------------------------------------------------------------------- |
| **cbtc-lib**   | `v0.6.4`     | Rust SDK for CBTC operations (mint, burn, transfer) | [GitHub](https://github.com/DLC-link/cbtc-lib)                       |
| **canton-lib** | `v0.6.1`     | Lower-level Canton interaction library              | [GitHub](https://github.com/DLC-link/canton-lib/)                    |
| **CBTC DAR**   | `cbtc-1.2.1` | Daml packages, upload scripts, connect config       | [GitHub](https://github.com/DLC-link/cbtc-lib/tree/v0.6.4/cbtc-dars) |

**Note:** The crate name is `cbtc`. DAR versions and crate versions are numbered independently: `cbtc-lib` v0.6.4 ships DAR `cbtc-1.2.1`.

***

## Transfer Speed

* Canton transfers take **a few seconds each**
* Practical throughput: \~**500 transfers per 10-minute period**
* UTXO limit: **10 UTXOs per party** (Canton recommendation). Exceeding this increases load and fees.

***

## External Links

* [CBTC Technical Documentation (live site)](https://docs.bitsafe.finance/bitsafe-documentation/product-suite/cbtc)
* [Canton Network](https://www.canton.network/)
* [Canton Developer Docs](https://docs.digitalasset.com/)
* [FROST Whitepaper](https://eprint.iacr.org/2020/852)
* [Quantstamp Audit Report](https://certificate.quantstamp.com/full/cbtc/5d0d805e-8cf0-4a39-bf1a-0e94899b3c1c/index.html)
* [Canton Whitepaper](https://www.canton.network/whitepapers)
* [Chainlink Proof of Reserve (CBTC)](https://data.chain.link/)

***


---

# 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/developers/technical-reference.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.
