Skip to content
CCPEDIAby Unity Nodes

Token Standard APIs (CIP 56 / CIP 112)

The Registry App supports the Canton Network Token Standard, as defined in CIP-56 and CIP-112.

App / Wallet providers integration

App providers and Wallet providers wishing to transact Registry holdings as part of their application’s workflows must make sure that
  • all supported versions of the utility-registry-app-v0 DARs are installed on their node
  • the application is configured to source off-ledger data from the token standard endpoints
The Registry dApp UI supports the AllocationRequest standard to read allocation requests from other applications and create corresponding Allocations. You can download the bundle containing the DAR files from the Releases page.

Instrument admin actions

Instrument admins who wish to enable token-standard transfers for the tokens they manage must ensure the following contracts have been created
ContractPurpose
AllocationFactoryEnables users to create and settle transfer offers and allocations
TransferRuleValidates requirements are met upon transfer execution
Both contracts can be instantiated and archived using the dApp UI.

Support of Token Standard V2 (CIP-0112) for a given instrument admin

While all supported versions of the Registry App implement the CIP-0056 interfaces, support for CIP-0112 has only been introduced starting with version 0.14 of the app. A given Registry instrument admin supports CIP-0112 only if they have installed the 0.14 DARs. As an app or wallet provider, you can use the /registry/metadata/v1/info token metadata endpoint in order to verify whether a given tokenizer supports the CIP-0112 interfaces, or whether a fallback to CIP-0056 is needed.

Example response: CIP-0112 supported

{
  "adminId": "registrar::12205dd5bd685449653161d47d2a7cb01c25d5b0a02dab5c79cafc8dafd811c79895",
  "supportedApis": {
    "splice-api-token-transfer-instruction-v2": 1,
    "splice-api-token-holding-v2": 1,
    "splice-api-token-transfer-instruction-v1": 1,
    "splice-api-token-allocation-instruction-v2": 1,
    "splice-api-token-metadata-v1": 1,
    "splice-api-token-allocation-v2": 1,
    "splice-api-token-allocation-request-v1": 1,
    "splice-api-token-allocation-v1": 1,
    "splice-api-token-holding-v1": 1,
    "splice-api-token-allocation-instruction-v1": 1
  }
}

Example response: CIP-0112 not supported

If the instrument admin has not installed the 0.14 DARs, the response does not include the v2 interfaces:
{
  "adminId": "registrar::12205dd5bd685449653161d47d2a7cb01c25d5b0a02dab5c79cafc8dafd811c79895",
  "supportedApis": {
    "splice-api-token-transfer-instruction-v1": 1,
    "splice-api-token-metadata-v1": 1,
    "splice-api-token-allocation-request-v1": 1,
    "splice-api-token-allocation-v1": 1,
    "splice-api-token-holding-v1": 1,
    "splice-api-token-allocation-instruction-v1": 1
  }
}