# 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)                                                                   |
| **Minimum mint**        | 0.001 BTC                                                                                                  |
| **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.3.0/cbtc-dars](https://github.com/DLC-link/cbtc-lib/tree/v0.3.0/cbtc-dars)

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     | Description                                         | Link                                              |
| -------------- | --------------------------------------------------- | ------------------------------------------------- |
| **cbtc-lib**   | Rust SDK for CBTC operations (mint, burn, transfer) | [GitHub](https://github.com/DLC-link/cbtc-lib)    |
| **canton-lib** | Lower-level Canton interaction library              | [GitHub](https://github.com/DLC-link/canton-lib/) |
| **cbtc-lib**   | DAR files, upload scripts, connect config           | [GitHub](https://github.com/DLC-link/cbtc-lib)    |

**Note:** cbtc-lib (crate name: `cbtc`) is at v0.3.0. It depends on canton-lib v0.3.0. Update your dependencies if using an earlier version. See the [cleanup PR](https://github.com/DLC-link/cbtc-lib/pull/11).

***

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

***
