> For the complete documentation index, see [llms.txt](https://docs.notional.finance/v3-technical-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notional.finance/v3-technical-docs/contract-interaction-guides/oracles.md).

# Oracles

## Fetch the Price Oracle Address for a given currency

The `getRateStorage` method can be used to fetch the addresses of price oracles used by the Notional protocol: &#x20;

```
# Fetch the DAI/ETH price oracle address.
DaiEthOracleAddress = notional.getRateStorage(2)["ethRate"]["rateOracle"]

# Fetch the USDC/ETH price oracle address.
UsdcEthOracleAddress = notional.getRateStorage(3)["ethRate"]["rateOracle"]
```

## ETH Price Oracle Exchange Rates

The `getCurrencyAndRates` method can be used to fetch the current ETH price oracles used to value accounts in the Notional system:&#x20;

```
# Fetch the DAI/ETH price oracle exchange rate.
notional.getCurrencyAndRates(2)["ethRate"]["rate"]/notional.getCurrencyAndRates(2)["ethRate"]["rateDecimals"]

# Fetch the USDC/ETH price oracle exchange rate.
notional.getCurrencyAndRates(3)["ethRate"]["rate"]/notional.getCurrencyAndRates(3)["ethRate"]["rateDecimals"]
```
