πŸ‘οΈOracle

Index Oracle

Valuations can be obtained through Chainlink NFT floor price feeds. They provide conservative and risk-averse floor price estimates for NFT collections that eliminate extreme price outliers and are resistant to market manipulation. These price feeds use a method called Adaptive Percentile Prediction to predict what price the 5th quantile of sales will fall under in the proceeding 24 hours. To construct the quantiles, outliers that are larger than three median absolute deviations are excluded from consideration. These predictions are powered by a PID (proportional-integral-derivative) controller that is parameterized via backtesting. If the error of the predictions diverge during production, the parameters of the PID can be tuned by conducting additional backtesting and feeding in the error rate.

The full documentation for the NFT Floor Pricing Feeds can be found here.

Latency

Chainlink NFT Floor Price feeds update under two conditions, whichever occurs first:

  • Heartbeat: The Chainlink feeds update the price on-chain every 24 hours, unless a deviation occurs. The data source it draws from has an average update frequency of 15 minutes, with 99% confidence of an update in the last 30 minutes.

  • Deviation: The prediction has changed by more than 2% since the last oracle update

This pace of price updates is well-suited for low leverage applications such as sales and lending.

The most important feature of Chainlink NFT Floor Pricing Feeds is that they reflect the constant availability of on-chain prices. This helps enable margin calls and thereby the ability to offer indefinite-term loans.

Pools Oracle

NFT collection prices are derived from a combination of in-house data collection and external data providers, most notably Reservoir. The price determination for each NFT collection involves analyzing its sales volume and current order book. This analysis is then used to calculate the approximate bid/ask midpoint. Subsequently, TWAPs are applied, their durations varying and tailored to each collection based on historical trading volume. Finally, these prices are updated on-chain and undergo a smoothing process via an EMA with a lookback window encompassing the three most recent updates.

The oracle updates under two conditions:

  • Heartbeat: The oracle will update prices if the last update has been longer than 12 hour.

  • ⁠Deviation: The oracle will update if the spot midpoint has deviated from the last update by more than 2%.

Price updates are restricted from exceeding 25% within the last update at the smart contract level, similar to the Compound v1 Oracle design.

For all other assets, Pools utilizes the official Chainlink price feeds.

Last updated