Like all lending and borrowing platforms, upholding the solvency of the platform requires a secure decentralized oracle solution to accurately price the NFTs used as collateral. However, due to their unique non-fungibility, the nature of NFT liquidity (or often lack thereof) is different from fungible ERC20 tokens, so additional consideration was required.
The floor price of a NFT collection will be used to set the underlying value of the NFT collateral. Although not all NFTs within a collection are priced equally, this valuation methodology can't be easily manipulated. Tiered floor price based on rarity traits will be added later on.
Due to the high cost of some existing oracle infrastructures such as Chainlink, we decided to build our own oracle. And we keep the floor prices trustworthy and secure with following pricing strategies:
- Collecting data from multiple NFT marketplaces (Opensea, LooksRare, X2Y2).
- Removing extreme outliers such as 0 or error data.
- Removing possible outliers by calculating a reasonable range based on the standard deviation.
- Calculating the average of the filtered data and submit it to the oracle contract.
- Protection mechanisms in the smart contract.