ERC-7595: Collateralized NFT

ERC-721 Extension to enable collateralization with ERC-20 based tokens.


Metadata
Status: DraftStandards Track: ERCCreated: 2023-03-13
Authors
571nKY (@571nKY), Cosmos (@Cosmos4k), f4t50 (@f4t50), Harpocrates (@harpocrates555)
Requires

Abstract


This proposal recommends an extension of ERC-721 to allow for collateralization using a list of ERC-20 based tokens. The proprietor of this ERC collection could hold both the native coin and ERC-20 based tokens, with the ownerOf tokenId being able to unlock the associated portion of the underlying ERC-20 balance.

Motivation


The emerging trend of NFT finance focuses on the NFT floor price to enable the market value of the NFT serve as a collateral in lending protocols. The NFT floor price is susceptible to the supply-demand dynamics of the NFT market, characterized by higher volatility compared to the broader crypto market. Furthermore, potential price manipulation in specific NFT collections can artificially inflate NFT market prices, impacting the floor price considered by lending protocols. Relying solely on the NFT floor price based on market value is both unpredictable and unreliable.

This ERC addresses various challenges encountered by the crypto community with ERC-721 based collections and assets. This ERC brings forth advantages such as sustainable NFT royalties supported by tangible assets, an on-chain verifiable floor price, and the introduction of additional monetization avenues for NFT collection creators.

Presets

  • The Basic Preset allows for the evaluation of an on-chain verifiable price floor for a specified NFT asset.

  • The Dynamic Preset facilitates on-chain modification of tokenURI based on predefined collateral rules for a specified NFT asset.

  • With the Royalty Preset, NFT collection creators can receive royalty payments for each transaction involving asset owners and Externally Owned Accounts (EOA), as well as transactions with smart contracts.

  • The VRF Preset enables the distribution of collateral among multiple NFT asset holders using the Verifiable Random Function (VRF) by Chainlink.

Extension to Existing ERC-721 Based Collections

For numerous ERC-721 based collections that cannot be redeployed, we propose the implementation of an abstraction layer embodied by a smart contract. This smart contract would replicate all the functionalities of this ERC standard and grant access to collateral through mapping.

Specification


ERC standard for new NFT collections


Abstraction layer for already deployed NFT collections


Rationale


“Envious” Term Choice

We propose adopting the term "Envious" to describe any NFT collection minted using this ERC standard or any ERC-721 based NFT collection that utilized the EnviousHouse abstraction layer.

NFT Collateralization with Multiple Tokens

Some Web3 projects primarily collateralize a specific NFT asset with one ERC-20 based token, resulting in increased gas fees and complications in User Experience (UX).

This ERC has been crafted to enable the collateralization of a designated NFT asset with multiple ERC-20 based tokens within a single transaction.

NFT Collateralization with the Native Coin

Each ERC-20 based token possesses a distinct address. However, a native coin does not carry an address. To address this, we propose utilizing a null address (0x0000000000000000000000000000000000000000) as an identifier for the native coin during collateralization, as it eliminates the possibility of collisions with smart contract addresses.

Disperse Functionality

We have implemented the capability to collateralize all assets within a particular NFT collection in a single transaction. The complete collateral amount is deposited into a smart contract, enabling each user to claim their respective share of the collateral when they add or redeem collateral for that specific asset.

Harvest Functionality

Each Envious NFT collection provides an option to incorporate a community ERC-20 based token, which can be exchanged for commissions accrued from collateralization and uncollateralization activities.

BlackHole Instance

Some ERC-20 based token implementations forbid transfers to the null address, it is necessary to have a reliable burning mechanism in the harvest transactions. blackHole smart contract removes ERC-20 communityTokens from the circulating supply in exchange for commission fees withdrawn.

blackHole has been designed to prevent the transfer of any tokens from itself and can only perform read operations. It is intended to be used with the Envious extension in implementations related to commission harvesting.

Backwards Compatibility


EnviousHouse abstraction layer is suggested for already deployed ERC-721 based NFT collections.

Security Considerations


Envious may share security concerns similar to those found in ERC-721, such as hidden logic within functions like burn, add resource, accept resource, etc.

Copyright


Copyright and related rights waived via CC0.