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.
Chain
Contract Address
Solidity: Using getValue
from DIAOracleV2
getValue
from DIAOracleV2pragma 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)
}
}
2. Adapter Contracts (Chainlink-Compatible)
For protocols expecting a Chainlink-style interface via AggregatorV3Interface.
Contract Addresses
Chain
Contract Address
Solidity: Use DIA’s adapter contracts via the AggregatorV3Interface
interface:
AggregatorV3Interface
interface:interface AggregatorV3Interface {
function latestRoundData() external view returns (
uint80 roundID,
int256 answer,
uint256 startedAt,
uint256 updatedAt,
uint80 answeredInRound
);
}
Last updated