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

# Boba Network

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

### Key Features

* Complete verifiability from source to destination smart contract.
* Direct data sourcing from 100+ primary markets eliminating intermediary risk.
* Support for 20,000+ assets across all major asset classes.
* Custom oracle configuration with tailored sources and methodologies.

### Oracle Contracts

| Chain            | Address                                                                                                                       |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Boba ETH Mainnet | [0xB3519a1760F3A16934a890F19E67A98cBF1e0859](https://bobascan.com/address/0xB3519a1760F3A16934a890F19E67A98cBF1e0859)         |
| Boba ETH Sepolia | [0x907e7f6bd9653e4188da89e4f2d3ea949dcec076](https://testnet.bobascan.com/address/0x907e7f6bd9653e4188da89e4f2d3ea949dcec076) |

### Oracle Configuration

| Parameter                             | Value                                                                                                                      |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Pricing Methodology**               | [VWAPIR](/docs/guides/methodologies/pricing-methodologies/vwapir-volume-weighted-average-price-with-interquartile-range-filter) |
| **Deviation (%) & Refresh Frequency** | Mainnet: 0.2% and 60 seconds, Testnet: 0.2% and 15 seconds                                                                 |
| **Heartbeat**                         | 1h                                                                                                                         |

### Available Asset Feeds

| Asset Ticker | AssetQuery Key | Asset Markets                                                                                                |
| ------------ | -------------- | ------------------------------------------------------------------------------------------------------------ |
| BTC          | BTC/USD        | [BTC Markets](https://www.diadata.org/app/price/asset/Bitcoin/0x0000000000000000000000000000000000000000/)   |
| ETH          | ETH/USD        | [ETH Markets](https://www.diadata.org/app/price/asset/Ethereum/0x0000000000000000000000000000000000000000/)  |
| USDC         | USDC/USD       | [USDC Markets](https://www.diadata.org/app/price/asset/Ethereum/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/) |
| USDT         | USDT/USD       | [USDT Markets](https://www.diadata.org/app/price/asset/Ethereum/0xdAC17F958D2ee523a2206206994597C13D831ec7/) |
| DAI          | DAI/USD        | [DAI Markets](https://www.diadata.org/app/price/asset/Ethereum/0x6B175474E89094C44Da98b954EedeAC495271d0F/)  |
| BOBA         | BOBA/USD       | [BOBA Markets](https://www.diadata.org/app/price/asset/Ethereum/0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc/) |

## How to Access Data

### getValue Method

Call the `getValue()` function on the oracle contract with the Query Symbol (e.g., "BTC/USD"). The function returns the asset price with 8 decimal precision and the timestamp of the last update.

#### Solidity Example

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

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

contract DIAOracleV2Consumer {
    // E.g. Boba Sepolia Oracle Address: 0x907e7f6bd9653e4188da89e4f2d3ea949dcec076
    address immutable ORACLE = 0x907e7f6bd9653e4188da89e4f2d3ea949dcec076;

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

***

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