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.
- No wallet to connect
- Nothing is uploaded
- No token, no sign-up
- Drop a
.daror try a sample below. - Check the badge. Green means the file is intact; “official” means it matches a Canton Splice release.
- Read the contents, or switch to Compare to see what a new version changes.
Use this when a package gets a new version. A is what runs today, B is the update. You will see what was added, removed or changed, and whether the change could break existing contracts.
A · old version
Drop or choose a .dar
B · new version
Drop or choose a .dar
Drop a .dar or .dalf file here
or click to choose one. The file never leaves your browser.
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.