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.