We’ve been getting a lot of questions about OpenSea NFT properties lately. It turned out that not only users but also creators are not exactly sure why there are 4 different properties and what do they mean.
Each NFT can come with 4 different properties – traits, levels, stats, and boosts. An NFT can have only one of these properties, zero, or even all of them. It all depends on the use case of the NFTs.
In this article, we’ll take a look at all the different properties an NFT can have on OpenSea and explain what they mean and what to look for when buying into projects. Let’s dive in!
OpenSea NFT Attributes in General
The main thing that drives the price of NFTs is scarcity. The rarer the token is, the pricier it may be seen. But if you can only see the image, how would you know that something is rare?
Attributes are the answer. These little textual data written to the code of the NFT do not change anything at all. The NFT still has the same “ranking” among other NFTs in the collection and still looks the same. But it helps uncover the rarity of such items.
It’s written as a simple array that will show up underneath each of your assets.
{
"attributes": [
{
"trait_type": "Background", // These represents different traits, properties
"value": "White"
},
{
"trait_type": "Eyes",
"value": "Big"
},
{
"trait_type": "Mouth",
"value": "Surprised"
},
{
"trait_type": "Level", // When you use number as a trait, it will go under levels
"value": 5
},
{
"trait_type": "Stamina", // Same here
"value": 1.4
},
{
"trait_type": "Personality", // Once again a textual trait
"value": "Sad"
},
{
"display_type": "boost_number", // This represents boosts
"trait_type": "Aqua Power",
"value": 40
},
{
"display_type": "boost_percentage", // Which can also be shown as a percentage
"trait_type": "Stamina Increase",
"value": 10
},
{
"display_type": "number", // When used number as key, it will show under stats
"trait_type": "Generation",
"value": 2
}
]
}
As you can see, these are just little pieces of code that don’t differ much from each other.
You’ll usually see a rarity score for each NFT on OpenSea. But how is that generated when you do not enter this data?
OpenSea will calculate them itself. Let’s look at an example. Let’s say you created a 10-piece collection, from which 3 NFTs have assigned trait_type Eyes with the value Blue and every other has a different value for Eyes.
In that case, OpenSea will show underneath the NFT that it has EYES – Blue and that 30% have the same trait. And whenever you add another NFT to that collection, the number will update.
What are OpenSea Property Traits
Property traits are the most common type of NFT property in OpenSea terminology.
Traits are textual properties that are essentially used to describe what you can see on the screen – what different parts or elements the NFT object or character consists of. An example of such parts would be eyes, hat, head, or background.
This attribute type is usually found on any generated collections, where characters stay roughly the same but consist of hundreds or thousands of changeable elements.
But it’s not uncommon to see an NFT that doesn’t have any attributes, not even traits.
What are Levels on OpenSea
Levels are numerical traits usually used to describe the strength or other attributes of the given NFT.
They are displayed as a progress bar, where again, the maximum value is set by other NFTs in the same collection.
It makes the most sense to use levels everywhere, where a stat of the characters influences its usage or rarity.
For instance, it may make sense for players in a battle game to filter NFTs by their strength and health. Or if a certain game feature is locked until your character has a higher level, you may want to see its level on the overview page.
Levels are written in the same way in metadata as traits but with the use of numbers instead of words.
Stats Property on OpenSea
Stats are very similar to levels on OpenSea. They are also numerical traits, but they display a bit differently.
Instead of showing a progress bar, they simply display as a raw number.
They can be used in the same way as levels, and you can let OpenSea calculate the maximum value for you. Or you can set max_value manually.
This makes great sense, for instance, to display the Edition of the NFT. You can have only one edition of the collection, but you know you will create two other. You can display that right away to create anticipation and interest around your collection.
Stats are written a bit differently. You need to set display_type as a number first. And then fill in trait_type
and value
. If you skip setting display_type: number
, it will show as levels.
What are Boosts on OpenSea
The last OpenSea attribute is Boosts. These are numerical traits similar to Levels and Stats but are displayed as a bonus or power-up, either as a percentage or number with a little power badge.
This makes the most sense for NFTs that has a unique bonus of some kind that is not necessarily capped. For instance, in a mining game, you can have an NFT that will give you a boost of +100 mining power and +10% mining speed.
To include the boosts section in your NFT metadata, you should either use display_type
boost_number
for a simple + number or boost_percentage
for a boost with a percentage sign. Again, if you forget to mention display_type, the number will show in the levels section.
Conclusion
There’s always a layer of confusion associated with these four attributes on OpenSea. But in the end, Properties (Traits), Levels, Stats, and Boosts all do nearly the same thing. Display something important that there a potential buyer should know.
Traits are the only textual attribute. Other are numerical and differ mainly on the front end in the way they display, and it’s mainly up to you what attribute you want to add.