For Developers
Easy Mode: We Have Preset PIL Terms
PIL is the first License Agreement for medial license developed by Story Protocol and inspired by Token Bound License. If you haven't already, read the overview: Programmable IP License (PIL๐)
It's implemented in the IPILicenseTemplate
contract as a PILTerms
struct here .
/// @notice This struct defines the terms for a Programmable IP License (PIL).
/// These terms can be attached to IP Assets.
struct PILTerms {
bool transferable;
address royaltyPolicy;
uint256 mintingFee;
uint256 expiration;
bool commercialUse;
bool commercialAttribution;
address commercializerChecker;
bytes commercializerCheckerData;
uint32 commercialRevShare;
uint256 commercialRevCelling;
bool derivativesAllowed;
bool derivativesAttribution;
bool derivativesApproval;
bool derivativesReciprocal;
uint256 derivativeRevCelling;
address currency;
string uri;
}
Parameters implemented on-chain (as seen above)
Parameter | Values | Description |
---|---|---|
transferable | True/False | If false, the License Token cannot be transferred once it is minted to a recipient address. |
royaltyPolicy | Address | The address of the royalty policy contract. The royalty policy must have been approved by Story Protocol in advance. |
mintingFee | # | The fee to be paid when minting a license. |
expiration | # | The expiration period of the license. |
commercialUse | True/False | If true, the derivative can be used commercially. If not, only non-commercial use is allowed. |
commercialAttribution | True/False | If true, the commercial use must refer to the original IPA (credits, YouTube description link, watermark...) |
commercializerChecker | Address | Commercializers that are allowed to commercially exploit the work. If zero address, then no restrictions are enforced. |
commercializerCheckerData | Bytes | The data to be passed to the commercializer checker contract. |
commercialRevShare | Percentage | Percentage of revenue that must be shared with the licensor. |
commercialRevCelling | # | The maximum revenue that can be generated from the commercial use of the work. |
derivativesAllowed | True/False | Indicates whether the licensee can create derivatives of his work or not. |
derivativesAttribution | True/False | If true, the derivatives must refer to the original IPA (credits, YouTube description link, watermark...) |
derivativesApproval | True/False | Indicates whether the licensor must approve derivatives of the work before they can be linked to the licensor IP ID or not. |
derivativesReciprocal | True/False | Derivatives of this derivative can be created indefinitely, as long as they have the exact same terms. |
derivativeRevCelling | # | The maximum revenue that can be generated from the derivative use of the work. |
currency | Address | The ERC20 token to be used to pay the minting fee. the token must be registered in story protocol. |
uri | String | The URI of the license terms, which can be used to fetch off-chain license terms. |
Off-chain parameters to be included in uri
field
uri
field- Territory
- Channels of Distribution
- Attribution
- Content Standards
- Sublicensable
- AI Learning Model Prohibited
- Restriction On Cross Platform Use
- Governing Law
- Alternative Dispute Resolution
- Additional License Parameters
Updated 7 days ago