Last updated June 27, 2022
NFTraits (or just Traits for short) are the building blocks of PFPs. Rather than minting a complete PFP, traits are minted instead and then equipped onto a collection that is built to be compatible with traits.
To make a collection of traits that can be used by any project at any time that cannot be destroyed. Traits cannot be changed or altered by their creators, and must be free of manipulation from any single entity.
To allow collections to support traits, and be able to interpret how those look on their base character, avatar, game, or experience.
Traits will be an ERC1155 contract. Current thinking is that they will be made on ETH mainnet, as exploration into pros and cons of sidechain have yielded no clear winning alternative.
<aside> 💡 This point is not yet defined technically and still needs to be worked out. Mainnet has the biggest clear benefit of high adoption and marketplace support. High gas fees could be a current problem that will diminish over time. It’s important to note that while traits will be immutable and defined forever, the mechanism for equipping them can be iterated on to reduce costs. The current thinking is that adoption is more important than cheap/non-existant gas fees, as the most likely user base of traits would be those used to those fees.
Alternative side chains include:
The mechanism for equipping and swapping traits onto a related collection is not yet defined. High level goals is that equipping and visibility of traits on a PFP does does not require a transaction to occur, and only the act of committing Traits would require the wallet to sign the activity.
<aside> 💡 The act of equipping a trait onto an NFT is very similar to listing an NFT for sale on any market. The initial approval requires a small gas fee per collection, but subsequent listings do not require anything more than a signature. The complication here that needs to be defined is how traits can be removed without needing a transaction to occur.
</aside>
10,000 Traits will be made. The contract will ensure that it will not be possible to add or remove traits from the pool.