> ## Documentation Index
> Fetch the complete documentation index at: https://www.diadata.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sei

> dApps built on Sei can leverage DIA oracles to access up-to-date asset price information.

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

## Rocky Cash

<Note>
  The feeds below are part of a dedicated oracle deployment for [Rocky
  Cash](https://rocky.cash), a stablecoins protocol built on Sei.
</Note>

### Oracle Contracts

| Chain       | Contract Address                                                                                                    |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| Sei Mainnet | [0x32fFe7A0A14F95373bd720Be210AA6C2E94eFCEA](https://seiscan.io/address/0x32fFe7A0A14F95373bd720Be210AA6C2E94eFCEA) |

### Oracle Configuration

|                                       |                                                                                                                            |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Pricing Methodology**               | [VWAPIR](/docs/guides/methodologies/pricing-methodologies/vwapir-volume-weighted-average-price-with-interquartile-range-filter) |
| **Deviation (%) & Refresh Frequency** | 0.5% and 120 seconds                                                                                                       |
| **Heartbeat**                         | 12h                                                                                                                        |

### Available Asset Feeds

| Price Feed | Type        | Adapter Address (AggregatorV3Interface)                                                                             |
| :--------- | :---------- | :------------------------------------------------------------------------------------------------------------------ |
| USDr/USD   | Fundamental | [0x42D1059364DF819Ae90bD86Dc2E80e7C28D1beD7](https://seiscan.io/address/0x42D1059364DF819Ae90bD86Dc2E80e7C28D1beD7) |
| sUSDr/USD  | Fundamental | [0x6dcFc2A34A4C7F937e5d4eDfA6b6E69791a33295](https://seiscan.io/address/0x6dcFc2A34A4C7F937e5d4eDfA6b6E69791a33295) |

For details on the methodology used for these fundamental feeds, please refer to [Rocky Cash's documentation](https://docs.rocky.cash/developers-hub/onchain-tools/oracles/dia#how-the-oracle-works).

## How to Access Data

### getValue Method

To consume price data, you'll need to invoke the [`getValue` method](/docs/guides/how-to-guides/fetch-price-data/solidity#solidity-library) on the oracle contract which you can access through the [DIA Oracle library](/docs/guides/how-to-guides/fetch-price-data/solidity#solidity-library) or the [interface](/docs/guides/how-to-guides/fetch-price-data/solidity#using-the-diaoraclev2-interface).

Below is an example of a contract consuming data from the oracle on Sei Mainnet. If you pass `USDr/USD` as the key, it will return the most recent price of USDr in USD with **18 decimal places** (e.g. 994895326000000000 is \$0.994895326000000000) along with the Unix timestamp of the last price update.

```solidity theme={"system"}
pragma solidity ^0.8.13;

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

contract DIAOracleV2Consumer{

    address immutable ORACLE = 0x32fFe7A0A14F95373bd720Be210AA6C2E94eFCEA;

    function getPrice(string memory key)
    external
    view
    returns (
        uint128 latestPrice,
        uint128 timestampOfLatestPrice
    ) {
        (latestPrice, timestampOfLatestPrice) =
                 IDIAOracleV2(ORACLE).getValue(key);
    }
}
```

See the full example [here](/docs/guides/how-to-guides/fetch-price-data/solidity).

### Adapter contracts

To consume price data from our oracle, you can use the adapter smart contract located at the [adapter address](#available-asset-feeds) for each asset. This will allow you to access the same methods on the `AggregatorV3Interface` such as `getRoundData` & `latestRoundData`. You can learn more [here](/docs/guides/how-to-guides/migrate-to-dia).

This is a sample contract for consuming the `USDr/USD` price feed:

```solidity theme={"system"}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

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

contract DIAOracleSample {
    address usdrAdapter = 0x42D1059364DF819Ae90bD86Dc2E80e7C28D1beD7;

    function getUSDrLatestPrice() external view returns (
        uint128 latestPrice,
        uint128 timestampOfLatestPrice
    ) {
        // Call the Chainlink adapter's latestRoundData function
        (, int256 answer, , uint256 updatedAt, ) =
            DiaAssetSpecificCallingConvention(usdrAdapter).latestRoundData();

        latestPrice = uint128(uint256(answer));
        timestampOfLatestPrice = uint128(updatedAt);

        return (latestPrice, timestampOfLatestPrice);
    }
}
```

***

## 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:

<CardGroup>
  <Card title="Request Custom Oracle" href="/docs/guides/how-to-guides/request-a-custom-oracle" icon="angle-right" iconType="solid" horizontal />
</CardGroup>

## Support

For developer assistance, connect with the DIA team directly on [Discord](https://discord.gg/ZvGjVY5uvs) or [Telegram](https://t.me/diadata_org).
