Skip to main content
DIA is a cross-chain, trustless oracle network delivering verifiable price feeds for Linea. DIA sources raw trade data directly from primary markets and computes it onchain, ensuring complete transparency and data integrity.

Oracle Contracts

ChainContract Address
Linea Sepolia0x533d3c1df8d238374065fb3341c34754e4bfce8e

Oracle Configuration

Pricing MethodologyVWAPIR
Deviation (%) & Refresh Frequency0.5% and 120 seconds
Heartbeat24h

Available Asset Feeds

Asset Price FeedAsset Markets
USDC/USDUSDC Markets
BTC/USDBTC Markets
DIA/USDDIA Markets

How to Access Data

getValue Method

To consume price data, you’ll need to invoke the getValue 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 the Telos mainnet oracle. If you pass BTC/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.
pragma solidity ^0.8.13;

interface IDIAOracleV2 {
    function getValue(string memory) external view returns (uint128, uint128);
}

contract DIAOracleV2Consumer {

    address immutable ORACLE = 0x533d3c1df8d238374065fb3341c34754e4bfce8e;

    function getPrice(string memory key)
    external
    view
    returns (
        uint128 latestPrice,
        uint128 timestampOfLatestPrice
    ) {
        (latestPrice, timestampOfLatestPrice) =
                 IDIAOracleV2(ORACLE).getValue(key);
    }
}
See the full example 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)
Get a tailored oracle for your dApp, request one below:

Support

For developer assistance, connect with the DIA team directly on Discord or Telegram.