Reference architectures, experimental Daml implementations, and interoperability research for building secure applications on Canton.
This repository is the research and incubation workspace for OpenZeppelin's Canton work. Reusable Daml components and versioned DARs are maintained in OpenZeppelin Contracts for Canton.
Warning
This is experimental software and is provided on an "as is" and "as available" basis. We do not give any warranties and will not be liable for any losses incurred through any use of this code base.
The architecture reports describe security boundaries, authority models, privacy assumptions, settlement flows, and open design questions for four Canton application patterns.
| Design | Focus |
|---|---|
| Privacy-preserving DEX | Atomic swaps, liquidity, pricing, and venue authority |
| Institutional lending | Vaults, collateral, liquidation, and oracle trust |
| Cross-chain stablecoin payments | Attested minting, redemption, and messaging boundaries |
| Confidential auction | Bid privacy, clearing trust, and atomic distribution |
See the reference architecture index for their shared assumptions and relationship to the executable research.
Each experiment answers a bounded design, compatibility, or upgrade question.
Its Daml packages provide executable research evidence. Reusable release
packages follow the canton-contracts lifecycle.
| Area | What it explores |
|---|---|
| Settlement | CIP-0112-aligned allocation and settlement flows, compliance attestations, seizure handling, and consumer composition |
| Compliance | Alternative shapes for off-ledger checks and on-ledger attestations |
| Identity | Identity hooks, credential gating, and Smart Contract Upgrade compatibility |
| Interoperability | CIP-0086, CIP-0103, and CIP-0104 behavior on LocalNet and against the Canton Wallet Gateway |
The documentation index collects the reference architectures and durable architecture decisions. The experiment index maps each research question to its code, tests, and evidence.
canton-specsowns reference designs, prototypes, threat models, decisions, and reproducible interoperability evidence.canton-contractsowns reusable packages and their compatibility, security-review, and release lifecycle.- Application repositories own complete reference implementations, including on-ledger and off-ledger code, frontends, deployment tooling, and product releases.
This separation lets experiments change as evidence improves without creating a
public package compatibility promise. A generally reusable component receives
its stable package identity and release lifecycle in canton-contracts.
docs/
decisions/ Durable architecture and dependency decisions
reference-architectures/ Application architecture reports
experiments/
compliance/ Compliance-check alternatives
identity/ Identity, credential, and SCU research
interoperability/ Live-ledger and third-party compatibility evidence
settlement/ Settlement architecture and executable prototypes
dars/
vendor/ Pinned DAR inputs consumed by experiments
scripts/ Repository checks and reproducible integration gates
The experiments document assumptions and failure modes. Every consuming application requires a security assessment of its complete package closure, participant topology, vetting policy, authority model, disclosure, privacy, and off-ledger integrations.
See SECURITY.md to report a vulnerability privately.
See CONTRIBUTING.md for repository boundaries, development setup, native DPM commands, and documentation requirements.