🧑‍🌾 Mechanism

Background: 404's "Trait Randomness"

The "404 standards" (ERC404 / DN404) innovatively addresses the challenge of NFT fractionalization by mixing traits of ERC20 / ERC721. It basically mints/burns NFTs for each unit of ERC20 token balances.

While these two standards are not designed to be easily mixed, ERC404 solves the problem by inheritly allowing a trade-off called Trait Randomness.

Previously in ERC721, each tokens have different traits and thus different values. This raises a problem for NFT fractionalization: to make a NFT collection liquid, liquid tokens should be created for each NFTs because they're all distinct. This leads to a fragmentation: it's impossible to having a single, fractionalized token that represents the whole collection's value.

Meanwhile, 404 tokens mint ERC721 NFT for every integer unit (1.0) of ERC20 tokens. If you have 4.9 tokens and gain an additional 0.1, you acquire one NFT, and if you have 5 tokens but transfer 0.1, a NFT is burned.

So, which NFTs are minted or burned? Most of 404 token implementations leverage an internal "recycle pool" for optimizing gas cost and keep the token distribution constant. If a NFT is burned due to a fractional transfer, it's ID is saved on recycle pool, and reused when a NFT is minted due to a fractional transfer.

This opens a possibility of acquiring a random NFT with each token transfer, results in decoupling and completely randomizing the ownership of NFT traits.

Possibility of Trait Farming (i.e. Reroll)

This trait of 404 opens a possibility of new notion called "trait farming": one can reroll a trait of NFT by simply transfering them in sub-decimal. The NFT will be burned and minted into a new one. Users can repeat this until they get what they want.

For example, when a user gets a 404 NFT with common trait and doesn't satisfied with it, he/she can repeatedly transfer the NFT in sub-decimal until they get the rare trait they want.

Last updated