DIA Oracle

DIA is a decentralized oracle platform supporting thousands of assets across 50+ blockchains. For satUSD, DIA delivers high-frequency, deviation-based price updates using their battle-tested DIAOracleV2 and AggregatorV3Interface-compatible adapters, ensuring compatibility with most DeFi protocols and aggregators.

Oracle Configuration

The satUSD price feed uses the following configuration across all chains:

Parameter
Value

Pricing Method

MAIR (Moving Average with Interquartile Range)

Deviation Trigger

0.5%

Refresh Frequency

120 seconds

Heartbeat

24 hours

How to Access On-Chain

1. DIAOracleV2

Contract Addresses

These are the main contracts to call for direct access to price data.

Solidity: Using getValue from DIAOracleV2

pragma solidity 0.8.29;

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

contract OracleConsumer {

    address immutable ORACLE = 0xbea082c15417716541D3169e7a48e4A53A19B5D1; // BNB Chain

    function getSatUSDPrice() external view returns (uint128 price, uint128 timestamp) {
        (price, timestamp) = IDIAOracleV2(ORACLE).getValue("satUSD/USD");
        // Note: `price` has 8 decimals (e.g., 99882732 = $0.99882732)
    }
}

For protocols expecting a Chainlink-style interface via AggregatorV3Interface.

Contract Addresses

Solidity: Use DIA’s adapter contracts via the AggregatorV3Interface interface:

interface AggregatorV3Interface {
    function latestRoundData() external view returns (
        uint80 roundID,
        int256 answer,
        uint256 startedAt,
        uint256 updatedAt,
        uint80 answeredInRound
    );
}

Last updated