OpenZeppelin for Canton
OpenZeppelin builds reusable, security-focused Daml packages for applications on the Canton Network. This section documents the library packages and the Reference Implementations that use them.
No package has a release or an audit yet. Do not use the packages in production. Pausable is a pre-release package. Access Control, Ownable, and Token are experiments: they will be redesigned before their first release, and the redesign will change module names, choice signatures, and package IDs.
Library
The packages live in OpenZeppelin/canton-contracts. Each package is an independent DAR. See the Library overview for the design rules.
- Access Control: role-based authorization. An admin issues role grants, and gated choices check the grant that the caller presents.
- Ownable: single-owner authorization with a two-step ownership transfer.
- Pausable: an emergency stop. Your template holds the flag, and gated choices refuse to run while it is set.
- Token (CIP-0112): a token that implements the Token Standard V2 interfaces, with batch settlement, compliance hooks, and CIP-86 allowances.
Reference Implementations
The Reference Implementations are target architectures for complete applications: a DEX, a lending protocol, a cross-chain stablecoin bridge, and a confidential auction.
Where to Start
Go to Get Started to install the toolchain and add OpenZeppelin packages to a Daml project.
Canton is a registered trademark of Digital Asset (Switzerland) GmbH. Digital Asset is not affiliated with, and has not sponsored or endorsed, this documentation.