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

# BOB Build on Bitcoin

> dApps built on BOB Build on Bitcoin 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 BOB. DIA sources raw trade data directly from primary markets and computes it onchain, ensuring complete transparency and data integrity.

## Oracle Contracts

| Chain       | Contract Address                                                                                                            |
| ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| BOB Mainnet | [0x4d24e7c1cf0ed63bc8c6cb5a795af31fd8127c6b](https://explorer.gobob.xyz/address/0x4d24E7c1cF0ed63bc8c6cB5a795af31FD8127C6B) |

## 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**                         | 24h                                                                                                                        |

## Available Asset Feeds

| Asset Price Feed | Asset Markets                                                                                                  |
| :--------------- | :------------------------------------------------------------------------------------------------------------- |
| WBTC/USD         | [WBTC Markets](https://www.diadata.org/app/price/asset/Ethereum/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/)   |
| tBTC/USD         | [tBTC Markets](https://www.diadata.org/app/price/asset/Ethereum/0x18084fba666a33d37592fa2633fd49a74dd93a88)    |
| USDC/USD         | [USDC Markets](https://www.diadata.org/app/price/asset/Ethereum/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/)   |
| USDT/USD         | [USDT Markets](https://www.diadata.org/app/price/asset/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7/)   |
| ETH/USD          | [ETH Markets](https://www.diadata.org/app/price/asset/Ethereum/0x0000000000000000000000000000000000000000/)    |
| wstETH/USD       | [wstETH Markets](https://www.diadata.org/app/price/asset/Ethereum/0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0/) |
| eSOV/USD         | [eSOV Markets](https://www.diadata.org/app/price/asset/Rootstock/0xEFc78fc7d48b64958315949279Ba181c2114ABBd/)  |

***

## 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 BOB mainnet oracle. If you pass `WBTC/USD` as the key, it will return the most recent price of WBTC 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 = 0x4d24e7c1cf0ed63bc8c6cb5a795af31fd8127c6b;

    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 BOB Build on Bitcoin. 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).
