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

# Changelog

All notable changes to the CBTC developer documentation are logged here. This includes new pages, content updates, API changes, SDK version bumps, and corrections.

***

## 2026-02-10

### 🚀 Initial publication

* Published first draft of all CBTC developer documentation across 11 pages
* **New pages:** CBTC Overview, Quick Start, Minting and Burning, API Reference, Authentication, Integration Guides, Security Deep Dive, Technical Reference, Instrument ID Management, SDK Setup and Installation, Testnet Guide
* **SDK:** Documentation pinned to `cbtc-lib` v0.0.1 (post-December 2025 restructure)
* **Instrument IDs:** Published devnet, testnet, and mainnet IDs with metadata endpoint URLs
* **Known gaps:** Vaults documentation (Not Started), Home landing page (in progress), Error Codes Reference (deferred to v2)

***

## 2026-03-02

### 🔧 PR #22: Code and API corrections across all CBTC docs

Applied all corrections from [GitHub PR #22](https://github.com/DLC-link/cbtc-lib/pull/22) ("Fix CBTC docs to match actual cbtc-lib and canton-lib APIs"). Every Rust code example, curl command, module path, and function signature has been verified against the actual `cbtc` v0.3.0 and `canton-lib` v0.3.0 source code.

**Affected pages:** Quick Start, Minting and Burning, API Reference, Authentication, SDK Setup, Technical Reference

**Version and crate updates**

* SDK version updated from v0.0.1 to **v0.3.0** across all pages
* Crate name corrected from `cbtc-lib` / `cbtc_lib` to **`cbtc`**
* `canton-lib` documented as a **workspace** with 4 crates: `keycloak`, `ledger`, `registry`, `common` (all v0.3.0) **Authentication code**
* All auth examples updated from `keycloak::login(url, id, secret, user, pass)` to struct-based `keycloak::login::password(PasswordParams {... })` and `keycloak::login::client_credentials(ClientCredentialsParams {... })`
* Auth0 callout updated to reference correct function names (`keycloak::login::password`, `keycloak::login::client_credentials`) **Module paths and function names**
* `cbtc_lib::deposit` → `cbtc::mint_redeem::mint`
* `cbtc_lib::balance` → `cbtc::active_contracts`
* `cbtc_lib::withdraw` → `cbtc::mint_redeem::redeem`
* `cbtc_lib::utxo` → `cbtc::consolidate`
* `get_deposit_address` → `get_bitcoin_address`
* `get_active_contracts` → `active_contracts::get`
* `transfer::send` → `transfer::submit`
* `accept::accept_transfer` → `accept::submit`
* `redeem::burn_and_withdraw` → `redeem::create_withdraw_account` + `redeem::submit_withdraw` (two-step)
* `consolidate::check_consolidate` → `consolidate::check_and_consolidate`
* All function signatures updated from positional args to struct params **Environment variables**
* `KEYCLOAK_URL` replaced with `KEYCLOAK_HOST` + `KEYCLOAK_REALM`
* `KEYCLOAK_CLIENT_SECRET` removed from password flow examples
* `LEDGER_PORT` removed; all curl examples now use `${LEDGER_HOST}` only **Infrastructure URLs**
* Attester URLs corrected: `attestor.bitsafe.dev` → `devnet.dlc.link/attestor-1`, `attestor.bitsafe.testnet` → `testnet.dlc.link/attestor-1`, `attestor.bitsafe.com` → `mainnet.dlc.link/attestor-1` **Daml templates**
* `CBTC.Issuance:DepositAccount` → `CBTC.DepositAccount:CBTCDepositAccount`
* Added `CBTC.WithdrawAccount:CBTCWithdrawAccount` to API Reference **SDK Setup additions**
* Added `cbtc::accept` and `cbtc::cancel_offers` to key modules table
* Added client credentials authentication example
* Added verification script, migration guide, and example.env file

### ✏️ Spelling correction: Attestor → Attester

Per reviewer feedback, corrected "Attestor" to "Attester" across all pages where it appeared in prose.

**Affected pages:** Quick Start, Minting and Burning, Security Deep Dive

### 🔒 Security Deep Dive: Attester network composition

Corrected the Attester network composition per reviewer input:

* **Before:** 9 pre-screened external node operators (including P2P and Everstake) + 1 BitSafe
* **After:** 3 external node operators (Finoa, Nethermind, DSRV) + 1 BitSafe-operated node (4 total)

### 📋 Integration Guides: Partner and feature updates

* Silvana listed as *(coming soon)* pending verification
* Hosted UI option updated from "coming soon" to *(coming soon)* per product team input

### 💰 Technical Reference: Fee confirmation

* Mint and burn fees confirmed at **0%** (changed from yellow warning callout to green confirmed callout)

***

## 2026-07-27

### 🔢 SDK and DAR version corrections

Version references had drifted out of sync with the released libraries, and three pages each stated a different `cbtc-lib` version. All version references now match the released tags.

**Corrected to actual released versions**

* `cbtc-lib` → **v0.6.4** (previously stated as v0.3.1 on API Reference, v0.4.2 on SDK Setup and Technical Reference, v0.3.0 on Quick Start)
* `canton-lib` crates `keycloak`, `ledger`, `registry`, `common` → **v0.6.1** (previously v0.3.1 / v0.5.0)
* Latest CBTC DAR → **`cbtc-1.2.1`**, shipped in `cbtc-lib` v0.6.4

**Affected pages:** SDK Setup and Installation, API Reference, Technical Reference

**Other fixes in this pass**

* API Reference install snippet corrected from `https://` to `ssh://` transport, matching SDK Setup — the HTTPS form does not work for this private repository
* DAR download links repointed from the `v0.3.1` and `v0.4.2` tags to `v0.6.4`
* Technical Reference repository table had `cbtc-lib` listed twice; the second row now correctly describes the CBTC DAR
* Clarified that the DAR version (`cbtc-1.2.1`) and the crate version (`v0.6.4`) are numbered independently, which was the likely source of the confusion
* Added a note that canton-lib crates must be pinned to the same tag `cbtc-lib` depends on, to avoid Cargo resolving two incompatible copies of the same types

**Removed the December 2025 restructure migration content**

## The "Migration Guide: December 2025 Restructure" section on SDK Setup, and the matching restructure note on the API Reference, described how the library used to be laid out. Both pages document how to use the current release, so the guidance now lives here in the changelog and in the [cleanup PR](https://github.com/DLC-link/cbtc-lib/pull/11) instead. The restructure moved module paths and function signatures only, with no runtime behaviour changes; code written before it needs its `use` statements updated to the module paths listed on SDK 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/changelog.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.
