> 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/cbtc-overview.md).

# CBTC Overview

> ⚠️ **API Disclaimer:** CBTC APIs are subject to change. There is no formal versioning policy today. Breaking changes are communicated via the site changelog.

***

## What is CBTC? Bitcoin on the Canton Network

CBTC is a **1:1 wrapped Bitcoin token** built on the [Canton Network](https://www.canton.network/), a privacy-first blockchain for institutional finance. Each CBTC is fully backed by native BTC held in decentralized custody using FROST threshold signatures. CBTC is **CIP-56 compliant**, meaning it works with any Canton token-standard-compatible tool out of the box.

CBTC brings Bitcoin's liquidity into Canton's privacy-enabled smart contract environment, where app developers and trading firms can build trading, DeFi, custody, and settlement applications without exposing positions to a public mempool. Unlike wrapped Bitcoin on public chains, CBTC transactions are private by default, eliminating MEV (Maximal Extractable Value) risks like front-running and sandwich attacks.

**Key properties:**

| Property          | Value                                                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Backing**       | 1 CBTC = 1 BTC, always                                                                                                  |
| **Standard**      | CIP-56 (Canton Instrument Protocol)                                                                                     |
| **Custody**       | Decentralized via FROST threshold signatures (no single party can move reserves)                                        |
| **Network**       | Canton Network (permissioned, private transactions)                                                                     |
| **Audit**         | [Quantstamp audit report](https://certificate.quantstamp.com/full/cbtc/5d0d805e-8cf0-4a39-bf1a-0e94899b3c1c/index.html) |
| **Confirmations** | 6 Bitcoin block confirmations (\~60 minutes) for minting                                                                |

***

## CBTC Architecture: How Wrapped Bitcoin Works on Canton

The CBTC system bridges Bitcoin's UTXO model to Canton's Daml-based smart contract network through three layers:

### 1. Bitcoin Layer

Bitcoin transactions are monitored and verified. A user sends BTC to a generated Taproot deposit address. The system waits for 6 block confirmations before proceeding.

### 2. Attestor Network

A decentralised network of institutional-grade node operators independently verify Bitcoin deposits and withdrawals. Each Attestor runs nodes on **both** the Bitcoin and Canton networks. Key details:

* **Operators:** Pre-screened institutional node operators (including providers like Finoa and Nethermind)
* **Threshold:** A configurable M-of-N threshold of Attestors must approve every mint and burn operation
* **Coordination:** A Coordinator executes periodic checks (every 60-120 seconds), monitors deposit accounts, constructs Bitcoin transactions, and submits governance actions
* **No unilateral control:** No single party - including BitSafe or the Coordinator - can mint, burn, or move BTC without threshold approval

### 3. Canton Asset Layer

Daml contracts mint and burn CBTC tokens, but **only** after the required threshold of Attestor signatures is reached on the governance contract. CBTC is then held in the user's Canton party, fully under their control.

```mermaid
flowchart LR
 A["Bitcoin Network<br>(Taproot deposit address)"] -->|"6 confirmations"| B["Attestor Network<br>(FROST threshold signing)"]
 B -->|"M-of-N approval"| C["Canton Network<br>(Daml contracts mint CBTC)"]
 C -->|"Burn request"| B
 B -->|"Signed BTC tx"| A
```

***

## Security Model: FROST Threshold Signatures for Bitcoin Custody

CBTC's security rests on **FROST** (Flexible Round-Optimised Schnorr Threshold Signatures), a cryptographic protocol added to Bitcoin with the Taproot upgrade.

**Why FROST matters for developers:**

* **Taproot-native:** Deposit addresses are standard P2TR addresses. Any wallet that supports Taproot can send BTC to mint CBTC.
* **Indistinguishable on-chain:** FROST signatures look identical to regular single-signature Bitcoin transactions. No one can tell from the blockchain that a threshold scheme is in use.
* **Smaller transactions, lower fees:** Compared to traditional on-chain multisig, FROST produces a single aggregated signature regardless of how many Attestors participated.
* **No single point of failure:** Even if some Attestors go offline, the system continues to operate as long as the threshold is met. For a full technical deep dive, see the [Security Deep Dive](https://docs.bitsafe.finance/developers/security-deep-dive) page. For the original research, see the [FROST whitepaper](https://eprint.iacr.org/2020/852).

***

## What You Can Build with Wrapped Bitcoin on Canton

CBTC is a foundational layer for building institutional-grade financial products on Canton:

* **DeFi Protocols** - DEXs, lending platforms, and liquidity pools using CBTC as collateral
* **Custody and Wallet Solutions** - Institutional-grade wallets supporting CBTC and Canton-native assets
* **Structured Products** - Yield-generating vaults, options strategies, and derivatives
* **Payment and Settlement** - Instant, low-cost cross-border transactions
* **Trading Systems** - Spot and perpetual trading with Canton's privacy (no public mempool, no MEV)

***

## Developer Resources

| Resource              | Description                                           | Link                                                                                                                               |
| --------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **cbtc-lib (Rust)**   | SDK for minting, burning, sending, and receiving CBTC | [GitHub](https://github.com/DLC-link/cbtc-lib) · [Setup guide](https://docs.bitsafe.finance/developers/sdk-setup-and-installation) |
| **canton-lib**        | Lower-level Canton interaction library                | [GitHub](https://github.com/DLC-link/canton-lib/)                                                                                  |
| **CBTC DAR files**    | Daml packages to install on your Canton participant   | [GitHub](https://github.com/DLC-link/cbtc-lib/tree/main/cbtc-dars)                                                                 |
| **FROST Whitepaper**  | Original threshold signature research                 | [ePrint](https://eprint.iacr.org/2020/852)                                                                                         |
| **Canton Whitepaper** | Canton Network technical overview                     | [canton.network](https://canton.network/)                                                                                          |
| **Quantstamp Audit**  | Security audit of CBTC smart contracts                | [View Report](https://certificate.quantstamp.com/full/cbtc/5d0d805e-8cf0-4a39-bf1a-0e94899b3c1c/index.html)                        |
| **Data API**          | Analytics and rewards API for institutional clients   | [API Reference](https://docs.bitsafe.finance/developers/cbtc-api-reference)                                                        |

***

## Next Steps

* **Ready to code?** Start with [SDK Setup and Installation](https://docs.bitsafe.finance/developers/sdk-setup-and-installation) to install `cbtc-lib` and configure your environment, then follow the [Developer Quick Start](https://docs.bitsafe.finance/developers/cbtc-quick-start) to mint your first CBTC in 15 minutes
* **Need API details?** See the [API Reference](https://docs.bitsafe.finance/developers/cbtc-api-reference) for Canton Ledger API endpoints
* **Setting up authentication?** See the [Authentication Guide](https://docs.bitsafe.finance/developers/cbtc-authentication) for Keycloak setup (and an Auth0 community example)
* **Want to test first?** See the [Testnet Guide](https://docs.bitsafe.finance/developers/cbtc-testnet-guide) for sandbox environment setup

***


---

# 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/cbtc-overview.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.
