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

# Arbitrum

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

Demo oracles are available for testing the new fully verifiable & decentralized [Lumina stack](/docs/dia-stack/overview) on Arbitrum Mainnet & Testnet:

<Accordion title="Token Price Feeds">
  #### Oracle Contracts

  ##### Mainnet

  | Chain   | Oracle Type | Address                                                                                                              |
  | ------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
  | Mainnet | Push Oracle | [0xA42217338614B7e67D022C52D1CD38e02D619bb0](https://arbiscan.io/address/0xa42217338614b7e67d022c52d1cd38e02d619bb0) |

  ##### Testnet

  | Chain   | Oracle Type | Address                                                                                                                      |
  | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
  | Sepolia | Push Oracle | [0x9bb71344Ed950F9cFD85EE1C7258553B01d95FA0](https://sepolia.arbiscan.io/address/0x9bb71344Ed950F9cFD85EE1C7258553B01d95FA0) |

  #### 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/) |
</Accordion>

<Accordion title="RWA Price Feeds">
  #### Oracle Contracts

  #### Mainnet

  | Chain   | Oracle Type | Address                                                                                                              |
  | ------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
  | Mainnet | Push Oracle | [0xEB3b12FB37090ACc6773B59619799941536FA198](https://arbiscan.io/address/0xEB3b12FB37090ACc6773B59619799941536FA198) |

  ### Oracle Configuration

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

  #### Available Asset Feeds

  * APPL
  * XAU/USD
  * USD/EUR
</Accordion>

***

## 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 Arbitrum bridge's components on mainnet and testnet below:

<Accordion title="Mainnet">
  * [MailBox
    Contract](https://arbiscan.io/address/0x979ca5202784112f4738403dbec5d0f3b9daabb9)
  * [ISM
    Contract](https://arbiscan.io/address/0x92f0f4c9f769ed83609cd2ccd1acce224bbc8cbf)
  * [Protocol Fee Hook
    Contract](https://arbiscan.io/address/0x048050547eb6e68cB37Fb21EEafEad40CF2CbdbB)
</Accordion>

<Accordion title="Testnet">
  * [MailBox
    Contract](https://sepolia.arbiscan.io/address/0x598face78a4302f11e3de0bee1894da0b2cb71f8)
  * [ISM
    Contract](https://sepolia.arbiscan.io/address/0xb869617a3CFcdA07A4cC230d996120074e7c817e)
  * [Protocol Fee Hook
    Contract](https://sepolia.arbiscan.io/address/0x611c8b288c642336136a436d7125ac49fa71468b)
</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 Arbitrum. 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).
