# Orakl Network Data Feed

## Description

The **Orakl Network Data Feed** is one of the main Orakl Network solutions. The goal of the **Orakl Network Data Feed** is to provide frequent data updates from off-chain to on-chain. The data feed is created from a submission pool that is composed of most up-to-date values reported by verified node operators.

A single data feed is defined by [config](https://config.orakl.network/config/baobab/ADA-USDT.config.json), and can be accessed on-chain through a `FeedProxy` smart contract. The `FeedProxy` is an auxiliary contract that redirects read requests to `Feed` contract. The `Feed` contract holds all submissions from all node operators, and aggregated value that is served to consumers through `FeedProxy` contract.

Detailed specification for each feeds can be found in [orakl-config](https://github.com/Bisonai/orakl-config) as `configs.json` file. Every data feed is configured with 3 different intervals. `fetchInterval`, `aggregateInterval`, and `submitInterval`. `OraklNode`, which stands for new datafeed performing off-chain aggregation, will execute each jobs based on defined intervals. Datafeed is updated once the finalized value have been generated off chain among OraklNodes. `address` stands for the Feed contract address which takes the value for certain pair. `feeds` contains definitions to fetch and parse value from datasource.

The code is located under [`node` directory](https://github.com/Bisonai/orakl/tree/master/node) and it follows modular monolith pattern. The entrypoints can be found from `./node/cmd` directory, and its implementation codes can be found from `./node/pkg` directory.

## Setup and run

Please refer to [README.md](https://github.com/Bisonai/orakl/blob/master/node/README.md) in `./node` directory.

## Architecture

<figure><img src="/files/IhcohF18u6imp1Ca1xRV" alt=""><figcaption><p>Orakl Network Data Feed (Offchain Aggregation)</p></figcaption></figure>


---

# 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.orakl.network/node-operators-guide/data-feed.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.
