Canton DAR Inspector

See what a Daml package does before you vet it.

On Canton, smart contracts ship as Daml packages (.dar files). A validator has to approve (“vet”) a package before its contracts can run. Drop one here to check it is genuine and see what it can do.

  1. Drop a .dar or try a sample below.
  2. Check the badge. Green means the file is intact; “official” means it matches a Canton Splice release.
  3. Read the contents, or switch to Compare to see what a new version changes.

New to Canton? What everything on this page means ↓

Drop a .dar or .dalf file here

or click to choose one. The file never leaves your browser.

Try a sample:

Who is this for?

Validator operators

Before you vet a package someone sent you, confirm it is the official file and has not been changed on the way.

Token issuers

Check that your token implements the Canton Token Standard (CIP-56) interfaces that wallets and explorers rely on.

App developers

Compare two versions of your package and catch changes that would break contracts already on the ledger.

What the words mean

.dar file (Daml package)
The bundle that holds a Canton app’s smart-contract code, plus the libraries it needs. Like an app installer for the ledger.
Vetting
A validator’s approval of a package. Until it is vetted on your node, contracts from that package cannot run for your parties.
Package ID
A fingerprint (SHA-256 hash) of the package contents. Change one letter and the ID changes. It is the same ID your node shows when you vet, so the two should match.
Integrity verified
Every package inside the file was re-fingerprinted in your browser and matched the ID written in the file. A red badge means something was altered or corrupted: do not vet it.
Official / unrecognised
“Official” means the ID matches one of 283 packages published in the Canton Splice repository. “Unrecognised” is not automatically bad (most apps are not part of Splice), but a token interface from an unrecognised package can be a look-alike.
Token Standard (CIP-56)
The shared set of interfaces (Holding, Transfer, Allocation…) that makes a Canton token work in any compatible wallet.
Template
A type of contract the package can create, with its data fields. For example a token holding with an owner and an amount.
Choice
An action someone can take on a contract, such as Transfer or Cancel. Consuming choices close the contract when used; non-consuming ones leave it open.
Interface
A common shape that different templates can implement, so other apps can work with them without knowing the details.
Upgrade check
Canton lets a package be upgraded while contracts stay live, but only if nothing is removed and new fields are optional. This page flags changes that usually break that rule. It is a quick structural check; the official tooling has the final say.

This tool shows what a package contains. It does not judge whether the contract logic is safe; that still needs a code review.