# Oracles

ReactorFusion utilizes the decentralized Chainlink oracle solutions, which provide up-to-date token price data to smart contracts on the zkSyncEra Mainnet.

{% hint style="info" %} <mark style="color:blue;">**Responsibilities of an oracle**</mark>

* Updates, stores, and distributes up-to-date token prices relevant to the system.
* Disables exchange functionality if prices are not fresh.
* Provides up-to-date token prices for liquidation functionality.
  {% endhint %}

### How Does ReactorFusion Utilize Oracles?

ReactorFusion utilizes a singular `SimpleOracle` contract to interact with Chainlink oracle.

### Oracle Contracts

At ReactorFusion, the on-chain manifestation of the oracle is the `SimpleOracle` contract, which interacts with the Chainlink contract and fetches prices. The primary user of these prices is the `Comptroller`  contract, which needs them to calculate collateral status when performing liquidations.

### Constituent Contracts

| Contract       | Description                                                                          |
| -------------- | ------------------------------------------------------------------------------------ |
| `SimpleOracle` | The oracle is responsible for fetching and processing Chainlink oracle data.         |
| `Comptroller`  | The Comptroller reads price data from SimpleOracle and calculates borrowable amounts |


---

# 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.reactorfusion.xyz/protocol/oracles.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.
