Skip to content
Documentation/Canton SDK/Splice Daml APIsView on Canton SDK
Canton SDK/Splice Daml APIs

Splice Daml APIs

Deprecated

This Splice documentation site is deprecated. Use the current Canton Network docs.

Open current docs

Splice Daml APIs

The APIs below are published by Splice to aid decoupling different Canton Network applications. Consider using them to decouple your code from the upgrading cycles of your dependencies, when building Daml code that interacts with workflows of other apps in the Canton Network.

These APIs are not mandatory to use. Feel free to build your own Daml APIs, potentially using the APIs below as inspiration.

Canton Network Token Standard APIs (CIP-0056)

Refer to the Token Standard documentation section.

Reward Assignment API (CIP-0104)

As part of implementing CIP-0104 the following Daml API was introduced:

The API is meant for apps whose ultimate beneficiaries of rewards are different from the app provider party (e.g., decentralized apps). The API allows them to assign the rewards they receive for their app to their ultimate beneficiaries.

The API is based on a Daml interface, so that apps can use it from their Daml code without incurring a static dependency on splice-amulet and the corresponding upgrading challenges. The reward assignment choice can also be called directly from the Ledger API for apps that don’t use custom Daml code.

Note that the coupons always specify the original app provider party for whose activity the reward coupon was created. Thereby allowing consistent attribution of rewards collected to the app provider party.

Additional Splice Daml APIs

The app provider of an asset registry is not necessarily the same as the party controlling the minting and burning of tokens. A typical example are tokens that are bridged from another network. The following API targets that use-case; and thus enables to decouple the upgrade cycles of an asset registry from the ones of the bridging app.

The API is built in a similar style as the token standard APIs, but is not part of the token standard. In particular, implementors of the token standard are not required to implement this API.

Nevertheless the API definition is guaranteed to be stable, and can be used by for the purpose explained above. If there were changes to the API, then they would be published as a new version of the API using a fresh package name, so that both the old and the new version can be used in parallel.

Comments