Token Price Feeds
Oracle details
Chain | Address |
---|---|
Mainnet | 0x33df80cdf0c9ff686261b11263d9f4a3ccc3d07f |
Testnet | 0x859e221ada7cebdf5d4040bf6a2b8959c05a4233 |
Oracle configuration
Pricing Methodology | VWAPIR |
Deviation (%) & Refresh Frequency | 0.5% and 120 seconds |
Heartbeat | 24h |
Asset feeds
Mainnet
Asset Ticker | getValue(key) | Asset Markets |
---|---|---|
USDT | USDT/USD | USDT markets |
USDC | USDC/USD | USDC Markets |
XFI | XFI/USD | XFI Markets |
Testnet
Asset Ticker | getValue(key) | Asset Markets |
---|---|---|
WETH | WETH/USD | WETH Markets |
WBTC | WBTC/USD | WBTC Markets |
USDT | USDT/USD | USDT markets |
DAI | DAI/USD | DAI Markets |
USDC | USDC/USD | USDC Markets |
FRAX | FRAX/USD | FRAX Markets |
LINK | LINK/USD | LINK Markets |
WBNB | WBNB/USD | WBNB Markets |
EUR | EUR/USD | EUR Markets |
XFI | XFI/USD | XFI Markets |
How to access data
getValue Method
To consume price data, you’ll need to invoke thegetValue
method on the oracle contract which you can access through the DIA Oracle library or the interface.
Below is an example of a contract consuming data from our oracle on CrossFi Testnet. If you pass WBTC/USD
as the key, it will return the most recent price of BTC in USD with 8 decimal places (e.g. 9601458065403 is $96,014.58065403) along with the Unix timestamp of the last price update.
Verifiable Randomness
Oracle details
Chain | Address |
---|---|
Testnet | 0xad19b5b3a0bf2bacf028ed6cc9e3fc153cb405b6 |
Oracle configuration
The oracle uses drand randomness from quicknet to provide randomness on CrossFi.How to access data
To consume randomness data, you’ll need to invoke thegetLastRound
method on the oracle contract. It will return the round ID of the latest update.
Using this round ID, you can call getRandomValue
and will receive a return value of that randomness, the round ID and the BLS signature from the drand API.
Note that round IDs are used round-robin and will repeat after 1000 iterations.
Refer to the Solidity guide for detailed steps on fetching random values from the oracle in your contract. You can learn more about the randomness protocol here.
Request a Custom Oracle
DIA offers highly customizable oracles that are individually tailored to each dApp’s needs. Each oracle can be customized in the following ways, including:- Data Sources & Asset Feeds
- Pricing Methodologies
- Update Triggers (Frequency, Deviation, Heartbeat, …etc)