> For the complete documentation index, see [llms.txt](https://docs.idle.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idle.finance/other/archive/gauges/architecture.md).

# Architecture

A comprehensive description of the $IDLE Gauges system can be found [here](/other/archive/gauges-1.md)

{% content-ref url="/pages/fvHTvoIlmnLJcpiU2lwg" %}
[Gauges](/other/archive/gauges-1.md)
{% endcontent-ref %}

$IDLE gauges are based on the [Curve gauge](https://curve.readthedocs.io/dao-gauges.html) system with the following modifications.

The main difference is that $IDLE is not mintable, so a mechanism to release $IDLE linearly to Gauges is introduced which allows fine-grained control of the epochs and the inflation rate.\
Such a system replaced the CRV token with a contract that distributes $IDLE to Liquidity Gauges following parameters governed by the Idle DAO.

The $IDLE Gauge system consists of the following smart contracts:

* `LiquidityGauge`: specific for each pool, measures the liquidity provided by users.
* `GaugeController`: maintains a list of gauges and their respective weight. Allow users to vote for gauges.
* `Distributor`: used to distribute $IDLE rewards across epochs. Epochs have a length of one week and the total amount of rewards to be distributed in a given epoch (or week) can be changed during the previous epoch (or week).
* `DistributorProxy`: used by users to claim $IDLE rewards.
* `GaugeProxy`: allows setting additional rewards on top of liquidity gauges deposits.

**GitHub repository:** [https://github.com/Idle-Finance/idle-gauges](https://github.com/Idle-Finance/idle-gauges/)

Figure 1 shows a diagram of the contracts flow.

<figure><img src="/files/3OPEa4YG2MIxNyogtptZ" alt=""><figcaption></figcaption></figure>


---

# 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:

```
GET https://docs.idle.finance/other/archive/gauges/architecture.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.
