NFT Oracle

The oracle contains information about NFT collections' prices (see sources). It can hold up to six values. For the current deployed demo version you can access a collection's latest floor price and the current circulating supply as well as the timestamp of the last update.​
  1. 1.
    Access the corresponding oracle smart contract on Ropsten testnet or on Goerli testnet.
  2. 2.
    Call getValue(collection_id) with collection_id being the string Blockchain-Address , for instance Ethereum-0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D for Bored Apes Yacht Club. You can use the "Read" section on Etherscan to execute this call.
  3. 3.
    The current version of the DIA demo oracle contains the following values:
    1. 1.
      The current floor price in the blockchain's native currency with a fix-comma notation of eight decimals (see API endpoint).
    2. 2.
      The 30-day moving average of the floor price (see API endpoint).
    3. 3.
      The UNIX timestamp of the last oracle update.
See the list of collections available on the oracle:
See the list of collections available on the demo oracle
  • Bored Ape Yacht Club - 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
  • CryptoPunks - 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB
  • Moonbirds - 0x23581767a106ae21c074b2276D25e5C3e136a68b
  • Doodles - 0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e
  • Otherdeed - 0x34d85c9CDeB23FA97cb08333b511ac86E1C4E258
We deploy dedicated NFT oracles on demand with custom list of collections and a variety of available data points, find out more on how to request a custom oracle:

Outlier detection

DIA offers outlier detection and cleansing methodology for NFT floor price determination. For this, we use Interquartile Range Filter.
The Interquartile Range filter in DIA examines all trades in a trades block (e.g. Daily NFT floor price for 30 days window) and sorts them by their recorded price.
After that, this range of prices is divided into four price blocks, the Quartiles. The boundaries of the full price range also determine the boundaries of the first and the last quartile.
To clear out outliers, any trades falling into the first or the last quartile are filtered out and subsequently, only trades falling into the "middle" quartiles are returned to the caller.