This flow outlines how royalties are typically reported, paid, and claimed for Licensed Creative Assets within the Cultura ecosystem, utilizing the referenceDocumentation Index
Fetch the complete documentation index at: https://docs.cultura.xyz/llms.txt
Use this file to discover all available pages before exploring further.
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 (includingroyaltySplit). - 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
RoyaltyDueRegisteredevent 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

