🎰Redemption Mechanic
Last updated
Last updated
The 🖼️NFT Index Token is fully backed by NFTs in the 🔓MarketVault; it can be burned in exchange for the NFTs contained within. This allows for two-way arbitrage of the peg since 🖼️NFT Index Token can also be minted by a 👨💼Seller depositing NFTs into the MarketVault.
Each collection contained within the vault has an associated floor price which is frequently updated by the Oracle mechanism. To call the redeem() function, a redeemer must pay a number of 🖼️NFT Index Token equal to the highest value floor of any given NFT collection within the 🔓MarketVault. At the end of the redemption process, the redeemer receives the difference between the value of the NFT obtained and the amount input.
Multiple redemptions can be issued in a single batch call if sufficient 🖼️NFT Index Token is provided.
The Chainlink VRF is a provably fair and reliable random number generator. It is funded via LINK tokens provided by the DAO through a subscription account. When redeem() is called, the protocol escrows the 🖼️NFT Index Token of the redeemer and makes a call to the Chainlink VRF contract to provide randomness. This randomness is used to determine which NFT is redeemed from the vault. In a separate transaction, Chainlink VRF executes the callback function fulfill(), providing the random number and transferring a random NFT to the redeemer.
Random redemption avoids the problem of providing free optionality to arbitrageurs. If participants redeeming 🖼️NFT Index Token were allowed to select any NFT for redemption, they could preferentially select those which have increased in value while avoiding those that have decreased relative to $NFT, siphoning value from the 🔒MarketVault.
The beta of an asset is its correlation to the overall market. The volatility of an optimal NFT index will map to the overall NFT market, i.e., (β=1). By preventing individuals from preferentially removing specific NFTs, this allows the index fund to maintain a collection representative of the overall market, allowing its volatility to track the broader market. Hence, random redemption preserves the beta of the index.
The price for redeeming a particular NFT is the average floor price of NFTs of the same collection at the time they entered the 🔒MarketVault plus the spread. The the amount of 🖼️NFT Index Token required to invoke a redemption is the highest of all such average collection prices with the 2.5% spread and a 2% buffer applied on top. The buffer is meant to mitigate against insufficient funds causing issues as a result of price rises from new NFTs entering the 🔒MarketVault before Chainlink VRF processes the callback.