LEARN · DOCUMENTATION
Documentation
Pages from 29 sources, kept in sync: the official Canton Network and Digital Asset docs, documentation from teams building on Canton, and readmes from their code. Search all of it, or start from a path below.
3,253pages
synced 3h ago29 sources
Official
splice
Modules • Splice.Api.FeaturedAppRightV1
May 17, 2026
Official
splice
Modules • Splice.Api.FeaturedAppRightV2
May 17, 2026
Official
splice
Modules • Splice.Api.Token.AllocationRequestV1
May 17, 2026
Official
Development Issues
This page addresses problems you are likely to hit while writing Daml code, connecting to APIs, and submitting transactions during local development. Daml Compilation Errors Common type mismatches The Daml compiler enforces strict typing. A frequent mistake is passing a ContractId where the
May 16, 2026
Official
Package Management
Daml packages (DARs) are the deployment units for on-ledger logic. Managing them across environments and organizations requires more oversight than typical software artifacts because every validator that participates in a workflow needs the same packages. DAR Lifecycle A DAR file goes through se
May 16, 2026
Official
Upgrade Limitations
Smart contract upgrades (SCU) in Daml are powerful but have firm boundaries. Understanding these limitations upfront prevents surprises during development and production rollouts. Packages Cannot Be Removed Once you upload a DAR (Daml Archive) package to a validator, it stays there permanently.
May 16, 2026
Official
Testing Upgrades
Upgrading Daml packages across a distributed network leaves no room for guesswork. You need to verify both that the compiler accepts the upgrade and that workflows continue to function with mixed package versions. Type-Level Compatibility Tests A type-level compatibility test checks whether the
May 16, 2026
Official
Testing Strategies
Testing Canton applications follows the same principle as any distributed system: automate as much as possible and test at the lowest level that catches the bug. What differs is the tooling at each layer and the specific challenges that come with multi-party, privacy-preserving ledgers. The Testin
May 16, 2026
Official
LocalNet Development
LocalNet is a Docker Compose-based local network that mirrors the Canton Network topology on your development machine. It gives you multiple validators, wallet services, PQS, and the full Splice applications — everything you need to build and test multi-party applications without connecting to a sha
May 16, 2026
Official
CI/CD Integration
A CI/CD pipeline for Canton applications follows the same structure as any other software project: build, package, test, deploy. The Canton-specific parts are the dpm commands for compiling Daml, running Script tests, and managing DAR artifacts. Pipeline Structure A typical pipeline has four s
May 16, 2026
Official
Multi
Multi-hosting lets a single party be hosted on multiple validators simultaneously. If one validator goes down, the party’s operations continue on the others — without changing any Daml logic. This deep dive covers how multi-hosting works, when to use it, and how to set it up. Why Multi-Host? A p
May 16, 2026
Official
Contracts and Transactions in Java
How to work with contracts and transactions in Java When writing Canton Network applications in Java, it is convenient to work with a representation of Daml templates and data types in Java that closely resemble the original Daml code while still being as close to the native types of Java as possi
May 16, 2026
Official
Support Checklist
Support Checklist So that we can successfully provide support, and to ensure that you can troubleshoot the system efficiently on your own, we recommend that you follow the checklist below to ensure that you have access to all the necessary information and tools to resolve an issue and that you hav
May 16, 2026
Official
Java LAPI Bindings
Java client libraries The Java client libraries simplify using the gRPC Ledger API. Read How to work with contracts and transactions in Java for guidance on how to use them. Read below to learn about their code architecture, installation, and reference materials. Overview The Java client libra
May 16, 2026
Official
Decentralization
Decentralization In the context of Canton, decentralization is primarily a distribution of power or ownership over a particular entity to various owners or trustees. This means that no trustee can unilaterally effect changes on behalf of that entity. In Canton, such decentralized entities can be
May 16, 2026
Official
Synchronizer
Synchronizer A Synchronizer is a foundational part of the Canton architecture that provides two main functionalities: • Sequencing: Ordered and confidential communication between independent participant nodes (validators). • Mediating: Transaction coordination as part of the two-phase commit pro
May 16, 2026
Official
Development Fund
Overview The Development Fund is a protocol-level mechanism introduced by CIP-0082 . From its activation onward, a configurable percentage of all future mint emissions in each issuance round are allocated to the Development Fund, as defined by IssuanceConfig.optDevelopmentFundPercentage (default
May 16, 2026
Official
SV Upgrades
There are two types of upgrades: Version upgrades (this corresponds to an upgrade from 0.A.X to 0.B.Y) and protocol upgrades (the actual version can remain the same, only the protocol is upgraded). Version upgrades can be done by each node independently and only require a helm upgrade. Make
May 16, 2026
Official
Validator Upgrades
There are two types of upgrades: Version upgrades (this corresponds to an upgrade from 0.A.X to 0.B.Y) and protocol upgrades (the actual version can remain the same, only the protocol is upgraded and it requires no action). Version upgrades can be done by each node independently and only requi
May 16, 2026
Official
BFT Orderer Architecture
BFT Orderer The BFT Orderer provides a Byzantine-fault tolerant (BFT) total-order broadcast service. It ensures safety (consistency) and liveness (eventual progress) in the presence of Byzantine failures. It also guarantees that all clients read an identical stream of messages. The BFT Orderer ru
May 16, 2026
Official
Prerequisites
This section describes hardware requirements for running a validator. Note that these are reference values. Actual requirements can vary based on usage of your validator. We recommend monitoring your production validator nodes with respect to CPU and memory usage of all components and disk usage of
May 16, 2026
Official
Package Selection
When multiple versions of a package are uploaded to a validator, the validator needs rules for deciding which version to execute. Package selection determines this — it governs how the Daml runtime resolves templates and choices when both v1 and v2 packages are available. How Version Resolution Wo
May 16, 2026
Official
Package Naming
Good package naming prevents confusion as your application evolves through multiple versions. A clear naming scheme communicates ownership, purpose, and version at a glance. Reverse DNS Convention Avoid package name conflicts, particularly between packages published by different app providers. F
May 16, 2026
Official
Upgrade Deployment
Deploying an upgrade means getting newer version packages onto all relevant validators and transitioning workflows from the current version to the new version. The distributed nature of Canton means you can’t just flip a switch — you need to coordinate across organizations while keeping existing wor
May 16, 2026
Official
Smart Contract Upgrades Overview
Canton applications evolve. Templates gain new fields, choices change behavior, and entirely new workflows get introduced. Smart Contract Upgrade (SCU) is the mechanism that makes this possible without breaking existing contracts or requiring coordinated downtime across organizations. NOTE: SCU has
May 16, 2026
Official
Values in the Ledger API
Commands and queries have relaxed validation rules for ingested values. Returned values are subject to normalization. Value Validation in Commands In the following examples, the target template of a command is the template or interface identified by the template_id field of the command after d
May 16, 2026
Official
Canton Network Application Architecture Design
Canton Network application architecture design considerations Building and operating a production-level Canton Network application requires careful design considerations for each component. This document introduces the fundamental components of a Canton Network application, focusing on the core re
May 16, 2026
Official
Module 1: Understanding Canton
This module provides the conceptual foundation you need before writing Canton code. Even if you’re eager to start coding, taking time to understand these concepts will make you more effective. Module Overview Section | Purpose | Mental Models | Build intuition for how Canton works | Developmen
May 16, 2026
Official
Admin API
The Canton Admin API is a gRPC API exposed by every Canton node (participant, sequencer, mediator). It provides administrative operations that go beyond the Ledger API — managing keys, topology state, synchronizer connections, packages, users, pruning, and node health. Unlike the Ledger API, which h
May 15, 2026
Official
IDE Setup
A properly configured IDE makes Canton development significantly faster. This page covers setup for writing Daml contracts, building backend services, and working with the full application stack. Daml Studio (VS Code) Daml Studio is the primary IDE for writing Daml smart contracts. It is a VS Co
May 15, 2026
Showing 1,411 to 1,440 of 1,473Search all sources →