Skip to content
Daml

Allowlist

The Registry App uses credential-based allowlists to control which parties are permitted to perform specific actions for an asset. This enables issuers to enforce KYC, AML, regulatory, or business-specific requirements while keeping the rules fully configurable for each instrument. Common use cases include:
  • Restricting who may hold a regulated security.
  • Restricting who may request minting or redemption of a stablecoin.
  • Limiting participation to onboarded investors.
  • Delegating compliance decisions to an external compliance provider.

How Allowlisting Works

Allowlists are implemented using credential contracts. The Instrument Configuration defines the credential requirements for each workflow. When a user performs an action, the Smart Contract model verifies that the required credentials are present when the transaction is executed. This verification happens atomically. Credential requirements can be configured independently for:
  • Holder requirements – Who may hold, receive, or transfer an asset.
  • Mint/Burn requirements – Who may request minting or redemption.
If a requirement is left empty, no credential verification is performed for that workflow.

Configuring an Allowlist

Each credential requirement specifies:
  • Credential Issuer – The party responsible for maintaining the allowlist.
  • Claim Property – The permission being granted (for example canHold or canMint).
  • Claim Value – The asset or permission scope (for example USDX or BondX).
When an action is requested, the Registry App verifies that a valid credential matching the configured requirements exists for the acting party.

Managing the Allowlist

Adding a party to an allowlist is equivalent to issuing a credential with the required claims. The recommended approach is for the credential issuer to also hold the credential. This allows the allowlist to be maintained unilaterally without requiring the allowlisted party to separately accept or manage credential contracts.
1

Create allowlist-entry credentials

  • UI user
  • API user
  1. In the Registry App, go to the Credential module.
  2. Click Offer new credential.
  3. Set the credential holder to Use same party so that the issuer also holds the credential.
  4. Set the subject to the party being added to the allowlist.
  5. Add the claim property and value required by the Instrument Configuration.
  6. Click Offer Free credential.
Repeat these steps for each party that you want to add to the allowlist.
2

Review active allowlist entries

  • UI user
  • API user
In the Credential module, review the active credentials held by the credential issuer. Confirm that each allowlisted party appears as the subject and that the claim property and value match the Instrument Configuration.
3

Remove parties from the allowlist

  • UI user
  • API user
  1. In the Credential module, find the active credential for the party being removed.
  2. Confirm that its claims match the allowlist entry that you intend to remove.
  3. Revoke or delete the credential.
The party no longer satisfies the corresponding credential requirement after the credential is removed.