KOR Protocol Developer Docs
  • KOR Protocol: Introduction
    • Overview
    • Partners
  • Overview of KOR SDK
    • Notable Features
    • Merits of using KOR SDK
    • Use Cases
  • SDK Reference
    • Introduction
    • SDK Installation
    • SDK Initialization
    • Client Methods
      • Asset
      • NFT
      • On-Chain IP
      • On-Chain License
      • Royalty Distribution
      • Conflict Management
    • Tutorials
      • Pre-requisites
      • Mint and Register in Own Collection
      • Mint in KOR Collection and Register
      • Register Existing Minted Token as IP
      • Launch 100-Song Album via IPFS
      • Launch 5-Song Album via AWS S3
      • Register Asset as Derivative
      • Update License Terms of Existing IP
      • Raise, resolve and cancel conflicts
      • Create a copy NFT of an IP
    • Releases
    • Deployed Smart Contracts
  • Essential Business Flows
  • Architecture
    • Overview
    • Event Listener
    • Modules
      • Asset Module
      • NFT Module
      • On-Chain IP Module
      • On-Chain License Module
      • Royalty Distribution Module
      • Conflict Management Module
  • Key Definitions
  • Community
Powered by GitBook
On this page
  • RoyaltyDistributionClient
  • Methods
  • activateRoyalty
  • payRoyalty
  • collectRevenue
  1. SDK Reference
  2. Client Methods

Royalty Distribution

RoyaltyDistributionClient

The RoyaltyDistributionClient is used to distribute and manage royalty payouts.

Methods

  • activateRoyalty

  • payRoyalty

  • collectRevenue

activateRoyalty

IP owners can activate royalty on an IP.

Method
Type

activateRoyalty

(request: IActivateRoyalty) => Promise<{result, transactionResponse}>

  • Parameters:

Name
Type
Description

ip

address

The ID of the IP asset

royaltyTokenName

string

Name of the royalty token to be minted

royaltyTokenSymbol

string

Symbol of the royalty token to be minted

mintRTSupply

number

Total supply of the royalty token that can be minted

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the royaltyToken address

  • response.transactionResponse.txHash - The transaction hash.

  • response.result.royaltyToken - The contract address of the minted royalty token.

payRoyalty

The payRoyalty function disburses royalties which will be claimable to token holders based on their ownership share.

Method
Type

payRoyalty

(request: IPayRoyalty) => Promise<{result, transactionResponse}>

  • Parameters:

    Name
    Type
    Description

    ip

    address

    The ID of the IP asset

    amount

    number

    Amount to be paid

  • Returns:

    Name
    Type
    Description

    transactionResponse

    Object

    Contains details of the transaction, including the transactionHash, logs, and other relevant information.

    result

    Object

    Object containing the snapshot id

    • response.transactionResponse.txHash - The transaction hash.

    • response.result.snapshotId - The snapshot ID through which royalty token holders can claim their royalty.

collectRevenue

The collect revenue function is designed to claim the royalty token by snapshot ID.

Method
Type

collectRevenue

(request: ICollectRevenue) => Promise<{result, transactionResponse}>

  • Parameters:

    Name
    Type
    Description

    ip

    address

    The ID of the IP asset

    snapshotId

    number

    The snapshotID received from payRoyalty function

  • Returns:

    Name
    Type
    Description

    transactionResponse

    Object

    Contains details of the transaction, including the transactionHash, logs, and other relevant information.

    result

    Object

    Object containing the amount received

    • response.transactionResponse.txHash - The transaction hash.

    • response.result.amount - The royalty token amount claimed (type bigint)

PreviousOn-Chain LicenseNextConflict Management

Last updated 4 months ago