Core data entity
This page describe the core data entity for IP3 marketplace protocol.
The core data entity in IP3 protocol consists of two main parts. One is for the NFT holder to list their NFT IP and delegate IP3 protocol to authorize others to use it. The other is for users to purchase the listed NFT IP and obtain a license to use it.
Listing IP
Any address can list any NFT IP on IP3 protocol for anyone use to earn the license fee. The listing IP are represented by ListingIP struct:
/**
* @notice This struct defines the authorized listing IP.
*
* @title ListingIP
* @param nft The NFT associated with the IP listing.
* @param licensor The IP licensor information including licensor address, claimer address and wallet delegation type
* @param licensedInfos An array of license information for each type for the IP.
* @param paymentTokens The payment token address array accepted the licensor.
* @param metadataUri The URI to be displayed for the listing IP (e.g. Terms and Conditions, instructions of use, etc.)
* @param salt A random number or an identifier for the listing, one possible use case is it can be used to identify the IP listed from which dapp
*/
struct ListingIP {
NFT nft;
Licensor licensor;
LicensedInfo[] licensedInfos;
address[] paymentTokens;
string metadataUri;
uint256 salt;
}
License
Every user who purchases an NFT IP will receive a license certificate to prove their right to use the IP, and the specific terms of use are stored in the metadataUri.
License Type
There are three types of license in IP3 protocol. The first type of license is time-based, where the price of the license increases with usage time. This type of license is suitable for display-based licenses. The second type of license is quantity-based, where the price of the license increases with usage quantity. This type of license is suitable for product-based licenses. The third type of license is joint license, which allows joint ownership of the IP with other parties and incurs corresponding joint ownership fees.
Licensed Information
IP3 protocol will track separate price for each type of license. The price are calculated by smart price engine based on license history. The more times licensed, the more expensive the price. The protocol also make sure the license price will never below the minimum starting price defined by IP licensor.
Licensor
The licensor represent the user who license the NFT IP on IP3 protocol. The licensor can use the NFT owner's address or use the delegate address (warm.xyz/ or delegate.cash)
Wallet Delegation
To keep user vaulted NFTs safe, IP3 protocol support user to use delegate wallet to prove the ownership. Currently, we support warm.xyz and delegate.cash. More delegation contract will be supported based on future voting result by IP3 Community
NFT
Last updated