• Utilities
  • Overview
    • Credential Utility
      • Introduction
      • Onboarding & Offboarding
      • Free Credentials
      • Paid Credentials
      • Service Monetization via Paid Credentials
    • Registry Utility
      • Introduction
      • Onboarding & Offboarding
      • Workflows
      • Token Standard integration
      • Featured App Activity Markers
    • Commercial Agreement
    • Auto TopUp Application
    • Collateral Utility
      • Create a collateral agreement
      • Settle a margin call
  • Setup
    • Prerequisites
    • Install (Kubernetes)
    • Install (Docker Compose)
    • Ingress
    • Getting Started
  • Tutorials
    • Issuing Tokenized Instruments
      • Introduction
      • 1. Onboarding roles in Registry
      • 2. Credential Preparation for Token Issuance and Transfer
      • 3. Token Issuance
    • Transferring Tokenized Instruments
      • Introduction
      • 1. Onboarding roles in Registry
      • 2. Credential Preparation for Token Transfer
      • 3. Token Transfer
    • Redeeming Tokenized Instruments
      • Introduction
      • 1. Token Redemption
  • How Tos
    • Registry Utility / Retrieve Holdings
    • Registry Utility / Transfer
    • Registry Utility / Mint
    • Registry Utility / Burn
  • Reference
    • DAR Versions
    • API Reference
      • Commercials API
        • Utility.Commercials
          • Utility.Commercials.V0.Model.CommercialAgreement
          • Utility.Commercials.V0.Model.Offer
          • Utility.Commercials.V0.Model.Types
      • Credential API
        • Utility.Credential
          • Utility.Credential.V0.Credential
        • Utility.Credential.App
          • Utility.Credential.App.V0.Model.Billing
          • Utility.Credential.App.V0.Model.Offer
          • Utility.Credential.App.V0.Service.Operator
          • Utility.Credential.App.V0.Service.User
          • Utility.Credential.App.V0.Types
          • Utility.Credential.App.V0.Util
      • Registry API
        • Utility.Registry
          • Utility.Registry.V0.Configuration.AppReward
          • Utility.Registry.V0.Configuration.Instrument
          • Utility.Registry.V0.Holding.Allocation
          • Utility.Registry.V0.Holding.Burn
          • Utility.Registry.V0.Holding.Lock
          • Utility.Registry.V0.Holding.Mint
          • Utility.Registry.V0.Holding.Transfer
          • Utility.Registry.V0.Holding.Unlock
          • Utility.Registry.V0.Rule.Transfer
          • Utility.Registry.V0.Types
          • Utility.Registry.V0.Util
        • Utility.Registry.App
          • Utility.Registry.App.V0.Configuration.Operator
          • Utility.Registry.App.V0.Configuration.Provider
          • Utility.Registry.App.V0.Model.Burn
          • Utility.Registry.App.V0.Model.Mint
          • Utility.Registry.App.V0.Model.Transfer
          • Utility.Registry.App.V0.Service.AllocationFactory
          • Utility.Registry.App.V0.Service.Holder
          • Utility.Registry.App.V0.Service.Provider
          • Utility.Registry.App.V0.Service.Registrar
        • Utility.Holding
          • Utility.Registry.Holding.V0.Holding
          • Utility.Registry.Holding.V0.Types
      • Settlement Utility API
        • Utility.Settlement.App
          • Utility.Settlement.App.V1.Model.Configuration.Operator
          • Utility.Settlement.App.V1.Model.Dvp
          • Utility.Settlement.App.V1.Service.User
          • Utility.Settlement.App.V1.Types
      • Collateral Utility API
        • Utility.Collateral.App
          • Utility.Collateral.App.Model.Collateral
          • Utility.Collateral.App.Model.Configuration.Operator
          • Utility.Collateral.App.Model.State
          • Utility.Collateral.App.Service.User
          • Utility.Collateral.App.Types
    • Operator Backend API
Back to Home
  • Overview
    • Credential Utility
      • Introduction
      • Onboarding & Offboarding
      • Free Credentials
      • Paid Credentials
      • Service Monetization via Paid Credentials
    • Registry Utility
      • Introduction
      • Onboarding & Offboarding
      • Workflows
      • Token Standard integration
      • Featured App Activity Markers
    • Commercial Agreement
    • Auto TopUp Application
    • Collateral Utility
      • Create a collateral agreement
      • Settle a margin call
  • Setup
    • Prerequisites
    • Install (Kubernetes)
    • Install (Docker Compose)
    • Ingress
    • Getting Started
  • Tutorials
    • Issuing Tokenized Instruments
      • Introduction
      • 1. Onboarding roles in Registry
      • 2. Credential Preparation for Token Issuance and Transfer
      • 3. Token Issuance
    • Transferring Tokenized Instruments
      • Introduction
      • 1. Onboarding roles in Registry
      • 2. Credential Preparation for Token Transfer
      • 3. Token Transfer
    • Redeeming Tokenized Instruments
      • Introduction
      • 1. Token Redemption
  • How Tos
    • Registry Utility / Retrieve Holdings
    • Registry Utility / Transfer
    • Registry Utility / Mint
    • Registry Utility / Burn
  • Reference
    • DAR Versions
    • API Reference
      • Commercials API
        • Utility.Commercials
          • Utility.Commercials.V0.Model.CommercialAgreement
          • Utility.Commercials.V0.Model.Offer
          • Utility.Commercials.V0.Model.Types
      • Credential API
        • Utility.Credential
          • Utility.Credential.V0.Credential
        • Utility.Credential.App
          • Utility.Credential.App.V0.Model.Billing
          • Utility.Credential.App.V0.Model.Offer
          • Utility.Credential.App.V0.Service.Operator
          • Utility.Credential.App.V0.Service.User
          • Utility.Credential.App.V0.Types
          • Utility.Credential.App.V0.Util
      • Registry API
        • Utility.Registry
          • Utility.Registry.V0.Configuration.AppReward
          • Utility.Registry.V0.Configuration.Instrument
          • Utility.Registry.V0.Holding.Allocation
          • Utility.Registry.V0.Holding.Burn
          • Utility.Registry.V0.Holding.Lock
          • Utility.Registry.V0.Holding.Mint
          • Utility.Registry.V0.Holding.Transfer
          • Utility.Registry.V0.Holding.Unlock
          • Utility.Registry.V0.Rule.Transfer
          • Utility.Registry.V0.Types
          • Utility.Registry.V0.Util
        • Utility.Registry.App
          • Utility.Registry.App.V0.Configuration.Operator
          • Utility.Registry.App.V0.Configuration.Provider
          • Utility.Registry.App.V0.Model.Burn
          • Utility.Registry.App.V0.Model.Mint
          • Utility.Registry.App.V0.Model.Transfer
          • Utility.Registry.App.V0.Service.AllocationFactory
          • Utility.Registry.App.V0.Service.Holder
          • Utility.Registry.App.V0.Service.Provider
          • Utility.Registry.App.V0.Service.Registrar
        • Utility.Holding
          • Utility.Registry.Holding.V0.Holding
          • Utility.Registry.Holding.V0.Types
      • Settlement Utility API
        • Utility.Settlement.App
          • Utility.Settlement.App.V1.Model.Configuration.Operator
          • Utility.Settlement.App.V1.Model.Dvp
          • Utility.Settlement.App.V1.Service.User
          • Utility.Settlement.App.V1.Types
      • Collateral Utility API
        • Utility.Collateral.App
          • Utility.Collateral.App.Model.Collateral
          • Utility.Collateral.App.Model.Configuration.Operator
          • Utility.Collateral.App.Model.State
          • Utility.Collateral.App.Service.User
          • Utility.Collateral.App.Types
    • Operator Backend API

Featured App Activity Markers¶

The Utility Registry supports featured app activity markers, which reward parties for their participation in asset activity on the network.

Creation Conditions¶

Featured app activity markers are created when the following prerequisites are met:

  • A provider in the Utility Registry is featured, i.e., holds a Splice.Amulet:FeaturedAppRight.

  • The provider has an AppRewardConfiguration created by the operator. This configuration specifies how activity marker rewards are split between the provider and the operator.

Once these conditions are satisfied, activity markers are created during the following workflows:

  • Token Standard Activity

    • Splice.Api.Token.TransferInstructionV1.TransferInstruction_Accept: When a TransferOffer is accepted by the receiving party.

    • Splice.Api.Token.AllocationV1.Allocation_ExecuteTransfer: When a DvpLegAllocation is executed, typically as part of a delivery-versus-payment (DvP) process.

  • Other Activity

    • MintRequest_Accept/MintOffer_Accept: When a two-step mint request or offer is accepted.

    • BurnRequest_Accept/BurnOffer_Accept: When a two-step burn request or offer is accepted.

Example Scenario¶

  1. The operator onboards the provider. As part of this process, the operator creates an AppRewardConfiguration for the provider, assigning a weight w to the operator and 1-w to the provider.

  2. The provider onboards the registrar.

  3. The registrar sets up an instrument.

  4. A mint request by a token holder (sender) of that instrument is accepted by the registrar.

  5. A token holder (sender) transfers tokens of that instrument to a token holder (receiver).

  6. A burn request by the token holder (receiver) of that instrument is being accepted by the registrar.

For each of the steps 4-6, a Splice.Amulet:FeaturedAppActivityMarker is created for the provider and the operator, with weight 1-w and w, respectively, as specified by the AppRewardConfiguration in step 1. This results in six markers overall.

Reward Configuration¶

An AppRewardConfiguration is typically created for the provider when a ProviderServiceRequest is accepted. However, the operator can also create, update, or archive an AppRewardConfiguration at any time.

A provider can further refine reward sharing for a given instrument by specifying beneficiaries in the instrument’s InstrumentConfiguration. For example, the provider could allocate 60% of its own default share 1-w to itself and 40% to the registrar (or other parties). The provider beneficiary configuration of the instrument configuration would then be:

Party

Share

provider

0.6

registrar

0.4

The resulting reward distribution for activity markers would be:

Party

Share

operator

w

provider

(1-w) * 0.6

registrar

(1-w) * 0.4

Note

  1. The provider must define beneficiary weights that sum to exactly 1 for the instrument configuration to be valid.

  2. Minor rounding adjustments may be applied to ensure the final distribution totals 1.

  3. If the operator changes its weight to w’ in the AppRewardConfiguration, the distribution will still equal 1, with the provider’s beneficiaries scaled proportionally (e.g., to (1 - w’) * 0.6 and (1 - w’) * 0.4 in the case above).

If you are a provider, please contact Digital Asset to ensure this functionality is enabled for your party with the correct reward split.

Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved. Any unauthorized use, duplication or distribution is strictly prohibited. "Digital Asset" and "Daml" are Registered in the U.S. Patent and Trademark Office.

On this page

  • Creation Conditions
  • Example Scenario
  • Reward Configuration