NFT Oracles
Last updated
Last updated
A price oracle is any tool used to view price information about a given asset.
While many oracle designs on Ethereum (as well as on BSC and HECO) have been implemented to provide data for fungible token prices, few attempts have been made to construct a price oracle for NFTs.
NFTs are generally less frequently traded, therefore creating the difficuilty for third parties to observe and retrieve price data. To solve this problem, we need the following two things (this only works for NFTs that have been traded for more than once, otherwise it does not have a price History):
As long as the last traded price can be stored on chain, we can proceed to the next step.
We can add last traded price to a single cumulative-price variable in the core contract weighted by the amount of time this price existed. This variable represents a sum of the price for every second in the entire history of the contract.
With such data, we can then calculate TWAP using the following formula:
Conclusion
While NFTs are quite new to the market, we believe it is necessary and useful to have a price oracle that can make the price history of NFTs more transparent and easier to predict. The above solution may not be perfect, and we welcome everyone to give this problem a thought.