Basis: Around March 3rd, 2022, there was a large influx of high-quality mints on the Loopring Layer 2 protocol. All of the NFTs created followed this exact structure, and even new mints continue to follow this format. Some GME specific fields have been ommitted here as they are not necessary.
The Bare Minimum
At the very least, it would be a good idea to include these fields. Note that the "image"
field is intended to be a smaller, faster loading thumbnail of your content, while the "animation_url"
is intended to be the full size, video, or other file type of your NFT. It's OK to set both to the same value, several NFTs have done it this way.
{
"name": "NFT Name",
"description": "Description of your collection.",
"image": "ipfs://CID-TO-SMALL-THUMBNAIL",
"animation_url": "ipfs://CID-TO-FULL-SIZE-IMAGE-OR-VID",
"royalty_percentage": 0
}
image
and animation_url
A note about The image
field in the metadata should always be an image file type (png, jpg, gif, etc.). This is what marketplaces consider to be a lower quality thumbnail.
If you have a larger quality picture, GIF, video or audio, then you should put a thumbnail version into the image
field, and the higher quality file into the animation_url
field. Marketplaces will automatically display the correct file, even HTML, if it is in the animation_url
field.
More info from the OpenSea standard: https://docs.opensea.io/docs/metadata-standards#metadata-structure
Royalties
The royalty_percentage
field is an integer. So far we've seen anywhere between 0 - 10 in actual mints. In the Smart Contract, there is also a creatorFeeBips
field. So far all of the royalty_percentage
fields have matched the creatorFeeBips
set in the smart contract.
According to documentation and testing, the maximum value accepted for creatorFeeBips
is 50. However, Loopring's Minting UI limits this value to 10, and it is likely any marketplace will as well.
Example with Traits
With traits you can give some indication of rarity. This is just an example. "properties"
and "attributes"
are identical information, setting traits for any given NFT. They are both slightly different data types, and may just be for various purposes on the marketplace frontends.
{
"name": "NFT Name",
"description": "Description of your NFT",
"image": "ipfs://CID-TO-THUMBNAIL-SIZE",
"animation_url": "ipfs://CID-TO-FULL-SIZE-OR-FILE",
"royalty_percentage": 0,
"attributes": [{
"trait_type": "Hair",
"value": "Curly"
}, {
"trait_type": "Nose",
"value": "Massive"
}, {
"trait_type": "Mouth",
"value": "Closed"
}, {
"trait_type": "Chin",
"value": "Beard"
}],
"properties": {
"Hair": "Curly",
"Nose": "Massive",
"Mouth": "Closed",
"Chin": "Beard"
}
}
Thumbnail size as of 16/03/2021 is best at 512x512 pixels to display properly in loopring explorer in its current form.