githubEdit

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)

  • Pending engineering review: All code examples, Daml template names, API endpoint details, and contract addresses require validation by Jesse and Ferenc before external publication


2026-03-02

πŸ”§ PR #22: Code and API corrections across all CBTC docs

Applied all corrections from GitHub PR #22arrow-up-right ("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 (status to be confirmed) pending verification

  • Hosted UI option updated from "coming soon" to (not yet scoped) per product team input

πŸ’° Technical Reference: Fee confirmation

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

  • Transfer cost section flagged for update pending transfer pre-approval changes (per product team)


πŸ“Œ Changelog discipline: Every change to a published page must be reflected here with a date, summary, and affected section. See the Documentation Ownership and Maintenance section of the Dev Docs Structure page for the full policy.

Last updated