Skip to main content
Oracles provide smart contracts with off-chain data such as asset prices. Chaos Labs operates price feeds on Stable.

Overview table

ProviderCategorySupported PairsDocs / Get StartedNotes
Chaos LabsOracle Price FeedsBTC/USD, ETH/USD, SOL/USD, FRXUSD/USD, SFRXUSD/USD, ezETH/ETHhttps://docs.chaoslabs.xyz/oracles/docsLive on mainnet and testnet

Chaos Labs

Chaos Labs provides oracle price feeds on Stable. Feed contracts expose the IEdgePushOracle interface documented in the Chaos Labs EVM integration guide. Capabilities
  • Push-based price feeds with configurable deviation thresholds and heartbeat intervals
  • IEdgePushOracle interface with latestRoundData(), decimals(), and description()
  • On-chain price data for DeFi protocols, lending, and liquidation engines

Mainnet price feed addresses

Source: Chaos Labs push feeds dashboard

Testnet price feed addresses

Reading a price feed

Feed contracts implement IEdgePushOracle. The following example is adapted from the Chaos Labs documentation.
pragma solidity ^0.8.25;

interface IEdgePushOracle {
    function latestRoundData()
        external
        view
        returns (
            uint80 roundId,
            int256 answer,
            uint256 startedAt,
            uint256 updatedAt,
            uint80 answeredInRound
        );
    function decimals() external view returns (uint8);
    function description() external view returns (string memory);
}

contract OracleConsumer {
    IEdgePushOracle public oracle;

    constructor(address oracleAddress) {
        oracle = IEdgePushOracle(oracleAddress);
    }

    function getLatestPriceData()
        external
        view
        returns (
            uint80 roundId,
            int256 answer,
            uint256 updatedAt
        )
    {
        (roundId, answer, , updatedAt, ) = oracle.latestRoundData();
        return (roundId, answer, updatedAt);
    }
}
This code is from the Chaos Labs documentation and is provided for illustrative purposes. Test thoroughly before production use.

Deploying to Stable testnet

This assumes you have Foundry installed and a funded wallet. See the Deploy Smart Contract tutorial for full setup instructions.
  1. Save the contract above to src/OracleConsumer.sol in a Foundry project.
  2. Deploy with the ETH/USD testnet feed address:
source .env ;
forge create src/OracleConsumer.sol:OracleConsumer --broadcast --rpc-url $STABLE_TESTNET_RPC_URL --private-key $PRIVATE_KEY --constructor-args 0x176A9536feaC0340de9f9811f5272E39E80b424f
  1. Read the latest price from your deployed contract:
cast call <DEPLOYED_ADDRESS> "getLatestPriceData()(uint80,int256,uint256)" --rpc-url $STABLE_TESTNET_RPC_URL

Have an oracle integrating Stable?

Reach the team at bizdev@stable.xyz to be listed on this page.
Last modified on April 15, 2026