What is ERC404?
ERC404s are a new and experimental token standard that developers launched on Ethereum in early February 2024. The standard combines the fungibility of ERC20s with the uniqueness of ERC721 NFTs.
Background
In early February, a novice developer created a novel token called EMERALD. EMERALD was a precursor to ERC404 but fell apart due to a bug. However, some developers saw potential in the concept and refined the standard into ERC404 at the beginning of February.
The first ERC404 to launch was $PANDORA – a combination of NFT boxes of different colors and the PANDORA token. Since its launch, PANDORA has grown to over a 100M market cap. New projects are also emerging, like Defrogs, which are leveraging the tech.
How Does It Work
Like other tokens, ERC404 is a collection of smart contracts on Ethereum. ERC404s combine features of both fungible and non-fungible tokens in a sleek package. An ERC404 contract creates an NFT and a token simultaneously at a preset ratio. PANDORA, for example, has a supply of 10K NFTs and 10K PANDORA tokens.
Notably, the NFTs and tokens are inextricably linked. For Pandora, 1 PANDORA token = 1 Pandora NFT. If a user receives an NFT a PANDORA token comes with it immediately. If sells the token, then the NFT they hold is burnt, and the contract mints an NFT to the new address. If the users transfer the NFT, they lose the token, and the new address gets the token.
As ERC404s have fungible tokens, projects can easily create liquidity pools to reduce NFT trading friction and increase project liquidity. NFT collections often suffer from liquidity issues due to trading primarily in an auction format, but ERC404s improve this process due to also having a fungible token.
Users should exercise caution when interacting with ERC404s as they are experimental and unaudited. As a new standard, ERC404s are not part of an official EIP (Ethereum Improvement Proposal).
Key Takeaways
- ERC404s are a new token standard on Ethereum, combining the fungibility of ERC20s with the uniqueness of ERC721 NFTs.
- The concept of ERC404 evolved from a failed project called EMERALD, but was refined and launched with the token PANDORA, which has grown to a market cap of over 100M.
- An ERC404 contract creates an NFT and a token simultaneously at a preset ratio. For example, PANDORA has a supply of 10K NFTs and 10K PANDORA tokens.
- The NFTs and tokens in an ERC404 contract are linked. If a user resells the NFT or sells the token, the NFT they hold is burnt, and the contract mints an NFT to the new address. If the users transfer the NFT, they lose the token, and the new address gets the token.
- ERC404s can help reduce NFT trading friction and increase project liquidity due to their fungible token component, addressing a common issue in NFT collections which often suffer from liquidity issues due to trading primarily in an auction format.
References
The ERC404s code repository can be found at: https://github.com/0xacme/ERC404/
Examples
Let’s explore fractional transfers with an example:
Initial Setup
Person A: 0 tokens, 0 NFTs
Person B: 1 token, 1 NFT
Person C: 0 tokens, 0 NFTs
Transactions
Person A buys 1 token from Person B.
Person A receives 1 token and is minted 1 NFT by the contract.
Person B loses 1 token, and their NFT is burnt by the contract.
Person A sells 0.5 tokens to Person C:
Person C now has 0.5 token.
Person A also has 0.5 token.
Analysis
What happens to the NFT in Person A’s wallet? Does it get burnt?
Based on the ERC404 token standard code and the scenario described, when Person A sells 0.5 tokens to Person C, it is up to each project building on top of ERC404 to decide on the logic concerning fractional transfers and their impact on NFTs.
The ERC404 contract does not explicitly define behavior for partial (fractional) token transfers resulting in automatic NFT burning. The NFT burning or minting actions in the code are primarily associated with whole token unit transfers (i.e., transferring 1 whole token might trigger NFT burning or minting).
However, the contract’s logic for burning NFTs during fractional transfers isn’t directly detailed in the ERC404 contract code. For fractional transfers, such as transferring 0.5 of a token, the contract does not explicitly detail the burning of NFTs. Thus, based solely on this base code, it is not clear that Person A’s NFT would be automatically burnt due to only transferring a fraction of a token. This is where projects step in to implement their own logic.
Can there be fewer NFTs than token units?
Yes, based on the scenario and the contract’s functionality as described, there can be fewer NFTs than token units. This situation arises because NFTs in this contract are associated with whole token units and specific actions (like transfers of whole tokens that might trigger minting or burning of NFTs). When transactions involve fractional tokens (less than a whole unit), they do not automatically lead to NFT minting or burning. Therefore, if transactions frequently involve fractional tokens, it is possible to have a scenario where the number of NFTs is less than the total number of token units in circulation, reflecting a divergence between fungible and non-fungible elements within the system.
This analysis assumes that the contract’s implementation strictly follows the logic that whole token unit transfers are necessary for direct NFT minting or burning actions. The actual impact on NFTs during fractional token transfers would heavily depend on specific projects’ contract logic not fully detailed in the ERC404 code. As discussed, it is up to the individual project building around this new standard to introduce fractional transfer logic.