Skip to main content
This flow outlines how royalties are typically reported, paid, and claimed for Licensed Creative Assets within the Cultura ecosystem, utilizing the reference RoyaltyClient and associated contracts like RightsBoundAccount and VerifierModule. The v0.2.0 SDK introduces enhanced sponsorship capabilities and streamlined off-chain payment flows.

Prerequisites

  • A Licensed Creative Asset exists (Token ID: licensedAssetId, Contract: assetContractAddress), minted with parent asset information (including royaltySplit).
  • The asset has an associated Attestation and a deployed Rights Bound Account (RBA) (Address: rbaAddress).
  • The Licensee (owner/user of the Licensed Creative Asset) has generated revenue or usage that triggers a royalty payment obligation (totalRoyaltyAmount).
  • The Parent Asset Owner(s) and Verifiers (who endorsed the Licensed Creative Asset’s attestation) have wallets ready to claim.
  • The designated Bond/Payment Token contract address is known and configured in the SDK.
  • SDK instances are initialized for the Licensee, Parent Owner(s), Verifiers, and optionally a Sponsor for gas-free operations.

Payment Methods

The Cultura ecosystem supports two primary royalty payment methods:

1. On-Chain Payment Flow

Direct blockchain-based payments where tokens are transferred through smart contracts.

2. Off-Chain Payment Flow (v0.2.0+)

Traditional payment methods (bank transfers, credit cards) with on-chain acceptance/denial by rights holders.

On-Chain Payment Flow Diagram

Off-Chain Payment Flow Diagram

On-Chain Payment Flow Explanation

1. Register Royalty Due (Optional)

  • The Licensee reports usage/revenue via the dApp for a specific period
  • Can be done directly or through a sponsor using delegatedRegisterRoyaltyDue()
  • Emits a RoyaltyDueRegistered event for tracking

2. Sponsored Payment Execution

  • v0.2.0 Enhancement: Sponsors can cover transaction costs and execute payments
  • Sponsor approves the VR (Verified Rights) RBA to spend payment tokens
  • Licensee signs payment authorization with sponsor address
  • Sponsor executes setPaymentInfo() on the VR RBA, transferring funds and recording splits

3. Parent Claims from Child RBA

  • New Multi-Level Architecture: Parent RBAs claim their allocated shares from the child VR RBA
  • Each parent RBA calls claimFromChild() to pull their portion from the VR RBA
  • This creates a new payment period in each parent RBA

4. Parent Owner Claims

  • Parent owners claim their shares from their respective parent RBAs
  • Uses the standard claim() method on each parent RBA
  • Parent owners receive their allocated royalty shares

5. Verifier Rewards Distribution

  • Two-Step Process:
    • First, trigger distribution from each parent RBA to the VerifierModule
    • Then, individual verifiers claim from the VerifierModule
  • Verifiers earn rewards based on their proportional bond contributions
  • Rewards are distributed separately for each parent asset

Off-Chain Payment Flow Explanation

1. Register Off-Chain Royalty Period

  • Delegated Registration: Sponsor can register royalty periods on behalf of licensee
  • Licensee signs authorization, sponsor executes transaction
  • Establishes the payment period and expected amounts

2. Report Off-Chain Payment

  • Traditional Payment Integration: Support for bank transfers, credit cards, etc.
  • Licensee reports payment with metadata (reference numbers, dates, notes)
  • Sponsor can execute the reporting transaction

3. Parent Acceptance/Denial

  • Democratic Process: Each parent owner must individually accept or deny the payment
  • Sponsored Fees: Sponsors can cover the blockchain fees for acceptance
  • Flexible Responses: Parents can accept their portion or deny if payment is disputed
  • Metadata Tracking: Full audit trail of off-chain payment details

SDK Snippets

On-Chain Payment Flow

Off-Chain Payment Flow

Key Features in v0.2.0

1. Sponsorship Support

  • Gas-Free User Experience: Sponsors can cover all transaction costs
  • Flexible Business Models: Enables subscription, freemium, and sponsored content models
  • Enterprise Workflows: Complex multi-party operations with clear cost attribution

2. Multi-Level RBA Architecture

  • Hierarchical Claims: Child RBAs (VR) distribute to Parent RBAs, then to owners
  • Proportional Distribution: Automatic calculation based on royalty splits
  • Separate Verifier Pools: Individual reward pools for each parent asset

3. Off-Chain Payment Integration

  • Traditional Payment Methods: Support for bank transfers, credit cards, etc.
  • Democratic Acceptance: Each parent can individually accept or deny payments
  • Audit Trail: Complete metadata tracking for compliance and transparency
  • Dispute Resolution: Built-in denial mechanism for contested payments

4. Enhanced Developer Experience

  • Direct Returns: Attestation functions return UIDs and addresses directly
  • Comprehensive Error Handling: Clear error messages and recovery patterns
  • Parallel Operations: Support for batch processing and optimization
This updated flow provides a robust foundation for both traditional blockchain payments and modern off-chain payment integration, making the Cultura ecosystem accessible to a broader range of users and business models.