> For the complete documentation index, see [llms.txt](https://docs.more.markets/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.more.markets/more-vaults/core-concepts/registries/oracle-registry.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
