As DeFi continues to expand into new use-cases, the complexity of representing various financial positions can no longer be accomplished solely with fungible ERC-20 tokens. New financial NFTs (FNFTs) have no agreed upon standard for calculating their value on-chain. These financial positions tokenized as NFTs which cannot be valued cannot be used in DeFi. As a result a new standard is needed to be able to universally value these increasingly-complex financial instruments. Revest Finance proposes an extension ERC to ERC-721 and ERC-1155 to solve this problem.
Examples:
- Velodrome Staking FNFTS
- Revest Finance Vesting FNFTs
- Liquid-Wrappers around Ve-Positions
- JPEG’d FNFTs
The goal would be an EIP that allows an application (on or off chain) to easily determine the value of an FNFT in a specified asset through an easily auditable formula.
interface IValuableFNFT is IERC721/IERC1155 {
// @notice This function MUST return whether the asset which the FNFT is valued in terms of
// @param id The token id of which to check the existence
// @return The address of the ERC-20 token to value the FNFT in.
function getAsset(uint id) external view returns (address);
// @notice This function MUST return the number of tokens with a given id. If the token id does not exist, it MUST return 0.
// @param id The token id of which to fetch information
// @return Suggested market value of the FNFT in specified in units of "asset"
function getBalance(uint id) external view returns (uint);
}
Possible Example: A staking FNFT worth 100 MockERC20 has a linear vesting period of 1 year and accumulates 5% APY. The value of the FNFT would be returned as staked_tokens * (1 - time_remaining / total_lock_period) + staking_rewards
. This reflects that the NFT should trade at a discount since they are currently illiquid, with discount trending to zero as the lock matures, and also the increased value accrued from staking rewards.
Potential Applications Include:
- More accurate FNFT lending
- More accurate price-discovery on exchanges
- Accurate valuing as collateral for ERC20-lending
The creators of the FNFT would be responsible for properly building out the functionality to value the FNFTs that they create.