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

# Aurora

> dApps built on Aurora 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

| Chain   | Address                                                                                                                              |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Mainnet | [0xf4e9C0697c6B35fbDe5a17DB93196Afd7aDFe84f](https://explorer.aurora.dev/address/0xf4e9C0697c6B35fbDe5a17DB93196Afd7aDFe84f)         |
| Testnet | [0xf4e9C0697c6B35fbDe5a17DB93196Afd7aDFe84f](https://explorer.testnet.aurora.dev/address/0xf4e9C0697c6B35fbDe5a17DB93196Afd7aDFe84f) |

### Oracle Configuration

|                                       |                                                                                                         |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Pricing Methodology**               | [MAIR](/docs/guides/methodologies/pricing-methodologies/mair-moving-average-with-interquartile-range-filter) |
| **Deviation (%) & Refresh Frequency** | 0.5% and 120 seconds                                                                                    |
| **Heartbeat**                         | 30 minutes                                                                                              |

### Available Asset Feeds

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

***

## 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 our oracle on Aurora mainnet. If you pass `BTC/USD` as the key, 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.

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

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

contract DIAOracleV2Consumer{

    address immutable ORACLE = 0xf4e9C0697c6B35fbDe5a17DB93196Afd7aDFe84f;

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

***

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