<!--
Sitemap:
- [Overview](/index): Introducing Monet
- [Products](/introduction/products): Stablecoins & Savings
- [Use Cases](/introduction/use-cases): Concrete use cases of Monet
- [How It Works](/products/how-it-works/): Monet is a stablecoins protocol allowing the creation of decentralized, capital-efficient and over-collateralized stablecoins built using a modular & upgradabl…
- [Monetizer Module](/products/how-it-works/monetizer-module): Explaining the Monetizer Module
- [Savings Module](/products/how-it-works/savings-module): The Monet Savings Module is what allows Monet stablecoins holders to earn a native yield based on the returns generated by the protocol on its assets backing t…
- [Flashloan Module](/products/how-it-works/flashloan-module): Flash loans (also called One Block Borrows) are special transactions that allow the borrowing of an asset, as long as the borrowed amount (and a fee) is return…
- [Stablecoins & Savings](/products/stablecoins-and-savings/): Introducing Monet Stablecoins
- [USDmo & sUSDmo](/products/stablecoins-and-savings/usdmo-and-susdmo/): Explaining USDmo & sUSDmo
- [Implementation](/products/stablecoins-and-savings/usdmo-and-susdmo/implementation): Detailing current USDmo production implementation
- [Fee Distribution](/products/stablecoins-and-savings/usdmo-and-susdmo/fee-distribution): Monet generated fees by the USDmo codebase are distributed as follow:
- [Licensing](/products/licensing): Monet is divided into 3 different repositories, each with different licenses:
- [Proof of Solvency](/security/proof-of-solvency): Monet Proof of Solvency
- [Hypernative](/security/hypernative): Hypernative is a leading real-time security platform that unites alerting and threat prevention with a sharp focus on early detection of on-chain threats and a…
- [Keepers](/security/keepers): Role and responsibilities of Keepers in maintaining Monet protocol operations
- [Audits](/security/audits): A breakdown of security reviews covering deployed smart contracts of Monet
- [Multisigs](/security/multisigs): A breakdown of multisigs used in Monet
- [Introduction](/developers-hub/introduction): TBA
- [Monetizer Module](/developers-hub/monetizer-module)
- [Savings Module](/developers-hub/savings-module)
- [Flashloan Module](/developers-hub/flashloan-module)
- [Onchain Tools](/developers-hub/onchain-tools/)
- [Oracles](/developers-hub/onchain-tools/oracles/): - [RedStone](/developers-hub/onchain-tools/oracles/redstone): Monet related RedStone Price Feeds Details
- [RedStone](/developers-hub/onchain-tools/oracles/redstone): Monet related RedStone Price Feeds Details
- [Offchain Tools](/developers-hub/offchain-tools/): TBA
- [Subgraphs](/developers-hub/offchain-tools/subgraphs): TBA
- [Dune](/developers-hub/offchain-tools/dune): TBA
- [Build on Monet](/developers-hub/build-on-monet/): The goal of these guides is to help developers, such as third-party protocols, arbitrageurs or keepers; understand and build on-top of Monet.
- [Monetizer Module Integration](/developers-hub/build-on-monet/monetizer-module-integration): The Monetizer Module serves as the core minting and burning engine for Monet stablecoins.
- [Savings Module Integration](/developers-hub/build-on-monet/savings-module-integration): The Savings module provides a yield-bearing vault system built on the ERC4626 standard, allowing users to deposit Monet stablecoins and earn interest through a…
- [Flashloan Module Integration](/developers-hub/build-on-monet/flashloan-module-integration): The Flashloan module serves as the core minting and burning engine for Monet stablecoins.
- [Addresses](/developers-hub/addresses/): Deployed Monet smart contracts
- [USDmo](/developers-hub/addresses/usdmo/): Deployed USDmo smart contracts
- [Eden Mainnet](/developers-hub/addresses/usdmo/eden-mainnet): Deployed USDmo smart contracts on Eden Mainnet
- [Eden Testnet](/developers-hub/addresses/usdmo/eden-testnet): Deployed USDmo smart contracts on Eden Testnet
- [User Guides](/resources/user-guides): TBA
-->

# Keepers

## What is a Keeper? <a href="#what-is-a-keeper" id="what-is-a-keeper" />

A Keeper is a whitelisted actor responsible for performing critical off-chain-to-on-chain operations that cannot be executed automatically in a trustless and non-manipulative manner. Keepers ensure the smooth functioning of several core Monet mechanisms, including yield rate updates, target oracle maintenance, and reward management.

In the Monet access control system, keepers are assigned the `KEEPER_ROLE` (role ID `30`), with an associated `KEEPER_ROLE_TIMELOCK` (role ID `31`).

## Responsibilities <a href="#responsibilities" id="responsibilities" />

### Savings Rate Updates <a href="#savings-rate-updates" id="savings-rate-updates" />

The yield rate paid by Savings module contracts (e.g., sUSDmo) is derived from the returns generated by the protocol on its backing assets. However, this rate schedule cannot be implemented automatically in a non-manipulative way. Keepers are responsible for encoding and updating the inflation rate in the Savings module contracts.

Keepers may follow different update schedules depending on the stablecoin and the setup. The frequency of updates may vary from every week to every several months. Between two updates, depositors in Savings module contracts are guaranteed to earn a fixed rate on their assets.

### Target Oracle Updates <a href="#target-oracle-updates" id="target-oracle-updates" />

In the Monetizer Module, each collateral asset has a target price used to assess whether the asset is depegging and whether conservative measures (such as adjusted fees or paused operations) should be taken. Keepers are responsible for updating these target oracles to reflect accurate market conditions. This is essential for the proper functioning of the mint, burn, and redeem operations, as the system relies on the deviation between the oracle price and the target price to determine adaptive fees and depeg protection behavior.

### Reward Management <a href="#reward-management" id="reward-management" />

Certain assets authorized to back USDmo generate additional rewards over time. Keepers are responsible for selling these additional rewards to maintain a clean and properly accounted backing for the stablecoin.

## Safety Mechanisms <a href="#safety-mechanisms" id="safety-mechanisms" />

To prevent any potential keeper from acting maliciously, the protocol implements several safeguards:

* **Maximum Rate Cap**: A maximum possible rate is enforced on each Savings module. For example, the maximum rate for sUSDmo has been set at 35.00%. This prevents a keeper from uncontrollably increasing the savings rate.
* **Timelock**: The `KEEPER_ROLE_TIMELOCK` adds a delay mechanism for sensitive keeper operations, providing an additional layer of security.
* **Hypernative Monitoring**: Real-time security monitoring by Hypernative can pause critical contracts if anomalous behavior is detected, adding an independent safety layer on top of keeper operations.

## Addresses <a href="#addresses" id="addresses" />

| Blockchain   | Addresses                                                                                                                                 |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Eden Mainnet | [0x6DbBb53C4542b7DC0579fE4c18C9508cCC7e3FcB](https://eden.blockscout.com/address/0x6DbBb53C4542b7DC0579fE4c18C9508cCC7e3FcB?tab=contract) |
| Eden Mainnet | TBA                                                                                                                                       |
