# Oracle Registry

Facets quote prices, yields, or reference rates. To keep those look‑ups transparent, every oracle contract or data feed used by a MORE Vault must first be listed in the Oracle Registry. Like the Vault Registry, the Oracle Registry tells the ecosystem where a data point comes from and whether the DAO considers it reliable.

Each registry entry stores:

* **`oracleAddress`** – the contract read by facets.
* **`asset`** – the quote asset, an ERC‑20 or symbol that the feed returns (ETH, USDC, etc.).
* **`stalenessThreshold`** – the maximum time since `updatedAt`, standardized using Chainlink's interface.

{% hint style="info" %}
Any non-Chainlink oracle provided by another publisher must be wrapped in an adapter in order to standardize its format with the Chainlink interface.
{% endhint %}

## DAO approval criteria

Before adding an oracle, the DAO checklist includes:

1. **Implementation audit** – Verified that the contract cannot be paused or manipulated by a single key.
2. **Data source review** – Confirm the upstream source (e.g. Chainlink aggregator, TWAP window) and fallback rules.
3. **Liveness test** – Feed must have updated within the last `stalenessThreshold` seconds at proposal time.

If passed, the DAO calls `setOracleInfos(assets[], oracleInfo[])` where `oracleInfo` is struct:

```
struct OracleInfo {
        IAggregatorV2V3Interface aggregator;
        uint96 stalenessThreshold;
    }
```

## How facets use the registry

* To get an oracle for a particular asset, you can use the function, `getOracleInfo(asset)`.
* `getAssetPrice(asset)` gets the price data from the oracle and checks its staleness.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.more.markets/more-vaults/core-concepts/registries/oracle-registry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
