Skip to content

Repository files navigation

OpenZeppelin Canton Specs

CI Choice coverage License: MIT

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.

Reference architectures

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.

Experiments

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.

Repository boundaries

  • canton-specs owns reference designs, prototypes, threat models, decisions, and reproducible interoperability evidence.
  • canton-contracts owns 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.

Repository layout

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

Security

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.

Contributing

See CONTRIBUTING.md for repository boundaries, development setup, native DPM commands, and documentation requirements.

Related projects and standards

License

MIT

About

OpenZeppelin reference architectures and experiments for secure smart contract development on Canton

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages