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-libv0.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 ("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_libtocbtccanton-libdocumented as a workspace with 4 crates:keycloak,ledger,registry,common(all v0.3.0) Authentication codeAll auth examples updated from
keycloak::login(url, id, secret, user, pass)to struct-basedkeycloak::login::password(PasswordParams {... })andkeycloak::login::client_credentials(ClientCredentialsParams {... })Auth0 callout updated to reference correct function names (
keycloak::login::password,keycloak::login::client_credentials) Module paths and function namescbtc_lib::deposit→cbtc::mint_redeem::mintcbtc_lib::balance→cbtc::active_contractscbtc_lib::withdraw→cbtc::mint_redeem::redeemcbtc_lib::utxo→cbtc::consolidateget_deposit_address→get_bitcoin_addressget_active_contracts→active_contracts::gettransfer::send→transfer::submitaccept::accept_transfer→accept::submitredeem::burn_and_withdraw→redeem::create_withdraw_account+redeem::submit_withdraw(two-step)consolidate::check_consolidate→consolidate::check_and_consolidateAll function signatures updated from positional args to struct params Environment variables
KEYCLOAK_URLreplaced withKEYCLOAK_HOST+KEYCLOAK_REALMKEYCLOAK_CLIENT_SECRETremoved from password flow examplesLEDGER_PORTremoved; all curl examples now use${LEDGER_HOST}only Infrastructure URLsAttester 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-1Daml templatesCBTC.Issuance:DepositAccount→CBTC.DepositAccount:CBTCDepositAccountAdded
CBTC.WithdrawAccount:CBTCWithdrawAccountto API Reference SDK Setup additionsAdded
cbtc::acceptandcbtc::cancel_offersto key modules tableAdded 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-libcrateskeycloak,ledger,registry,common→ v0.6.1 (previously v0.3.1 / v0.5.0)Latest CBTC DAR →
cbtc-1.2.1, shipped incbtc-libv0.6.4
Affected pages: SDK Setup and Installation, API Reference, Technical Reference
Other fixes in this pass
API Reference install snippet corrected from
https://tossh://transport, matching SDK Setup — the HTTPS form does not work for this private repositoryDAR download links repointed from the
v0.3.1andv0.4.2tags tov0.6.4Technical Reference repository table had
cbtc-liblisted twice; the second row now correctly describes the CBTC DARClarified 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 confusionAdded a note that canton-lib crates must be pinned to the same tag
cbtc-libdepends 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 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.
Last updated