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

# Sonic

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

<Note>
  Explore these demo oracles to see how DIA works. For production deployments,
  [request a custom oracle](#request-a-custom-oracle) and unlock the full power
  of tailored data feeds for your dApp.
</Note>

## Demo Oracles

### Oracle Contracts

#### Mainnet

| Contract    | Address                                                                                                                |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- |
| Push Oracle | [0x048050547eb6e68cB37Fb21EEafEad40CF2CbdbB](https://sonicscan.org/address/0x048050547eb6e68cb37fb21eeafead40cf2cbdbb) |

### Oracle Configuration

|                                       |                    |
| ------------------------------------- | ------------------ |
| **Pricing Methodology**               | Median             |
| **Deviation (%) & Refresh Frequency** | 2% and 120 seconds |
| **Heartbeat**                         | 12h                |

***

### Available Asset Feeds

| Asset Ticker | updates(key) | Asset Markets                                                                                                |
| :----------- | :----------- | :----------------------------------------------------------------------------------------------------------- |
| ETH          | ETH/USD      | [ETH Markets](https://www.diadata.org/app/price/asset/Ethereum/0x0000000000000000000000000000000000000000/)  |
| BTC          | BTC/USD      | [BTC Markets](https://www.diadata.org/app/price/asset/Bitcoin/0x0000000000000000000000000000000000000000/)   |
| DIA          | DIA/USD      | [DIA Markets](https://www.diadata.org/app/price/asset/Ethereum/0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419/)  |
| USDC         | USDC/USD     | [USDC Markets](https://www.diadata.org/app/price/asset/Ethereum/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/) |

***

## How to Access Data

To consume price data, use the [`updates` method](/docs/guides/how-to-guides/fetch-price-data/push-based-oracles) for Push-based oracles.

The price updates are stored in both methods in an `updates` mapping. When accessing the `updates` mapping through the key `BTC/USD`, 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.

Below is a sample contract that consumes the `BTC/USD` price feed:

### updates Method

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

import { PushOracleReceiver } from "@dia-data/contracts-spectra/PushOracleReceiver.sol";

contract DIAOracleSample {

    PushOracleReceiver public diaOracle;
    string public key = "BTC/USD";

    constructor(address _oracle) {
        diaOracle = PushOracleReceiver(payable(_oracle));
    }

    function getPrice()
    external
    view
    returns (
        uint128 timestampOflatestPrice,
        uint128 latestPrice
    ) {
        (timestampOflatestPrice, latestPrice) =
                 diaOracle.updates(key);
    }
}
```

## Additional Details

You can find the contract addresses for the Sonic bridge's components on mainnet below:

<Accordion title="Mainnet">
  * [MailBox
    Contract](https://sonicscan.org/address/0x3a464f746D23Ab22155710f44dB16dcA53e0775E)
  * [ISM
    Contract](https://sonicscan.org/address/0xE74B7D236A97eED9026926073cBb436638266888)
  * [Protocol Fee Hook
    Contract](https://sonicscan.org/address/0x0ec9C62333E29243B04C934bC924c169c1255027)
</Accordion>

Learn more about DIA's cross-chain messaging layer [here](/docs/dia-stack/architecture/core-components/spectra).

***

## Oracle Grants Program

The DIA Oracle Grants Program provides zero-cost oracle access for up to 1 year, covering deployment and update costs to accelerate dApp development on Sonic. Learn more about the grant here:

<Card title="DIA Oracle Grants Program | Apply Now" href="https://www.diadata.org/blockchain-oracle-grant/" horizontal />

***

## 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).
