Mint a License Token
Learn how to mint a License Token from an IP Asset in TypeScript.
This section demonstrates how to mint a License Token from an IP Asset. You can only mint a License Token from an IP Asset if the IP Asset has License Terms attached to it. A License Token is minted as an ERC-721.
There are two reasons you’d mint a License Token:
- To hold the license and be able to use the underlying IP Asset as the license described (for ex. “Can use commercially as long as you provide proper attribution and share 5% of your revenue)
- Use the license token to link another IP Asset as a derivative of it. Note though that, as you’ll see later, some SDK functions don’t require you to explicitly mint a license token first in order to register a derivative, and will actually handle it for you behind the scenes.
Prerequisites
There are a few steps you have to complete before you can start the tutorial.
- Complete the TypeScript SDK Setup
- An IP Asset that has License Terms added. Learn how to add License Terms to an IPA here.
1. Mint License
Let’s say that IP Asset (ipId = 0x01
) has License Terms (licenseTermdId = 10
) attached to it. We want to mint 2 License Tokens with those terms to a specific wallet address (0x02
).
Be mindful that some IP Assets may have license terms attached that require the user minting the license to pay a defaultMintingFee
. You can see an example of that in the TypeScript Tutorial.
Note that a license token can only be minted if the licenseTermsId
are already attached to the IP Asset, making it a publicly available license. The IP owner can, however, mint a private license by minting a license token with a licenseTermsId
that is not attached to the IP Asset.
Associated Docs: license.mintLicenseTokens
1a. Setting Restrictions on Minting License Token
This is a note for owners of an IP Asset who want to set restrictions on who or how their license tokens are minted. You can:
- Set a max number of licenses that can be minted
- Charge dynamic fees based on who / how many are minted
- Whitelisted certain wallets to mint the tokens
… and more. Learn more by checking out the License Config section of our documentation.
2. Register a Derivative
Now that we have minted a License Token, we can hold it or use it to link an IP Asset as a derivative. We will go over that on the next page.
Note though that, as you’ll see later, some SDK functions don’t require you to explicitly mint a license token first in order to register a derivative, and will actually handle it for you behind the scenes.
2a. Why would I ever use a License Token if it’s not needed?
There are a few times when you would need a License Token to register a derivative:
- The License Token contains private license terms, so you would only be able to register as a derivative if you had the License Token that was manually minted by the owner. More on that here.
- The License Token (which is an NFT) costs a
mintingFee
to mint, and you were able to buy it on a marketplace for a cheaper price. Then it makes more sense to simply register with the License Token then have to pay the more expensivedefaultMintingFee
.