Technical maintenance proposals

AGRS (Risk Stewards) migration to Risk Agents


Simple Summary

Following the approval of Risk Agents, this proposal migrates all existing injector middleware infra used to perform automated risk updates to the new chaos agents system.


Motivation

Currently, the AGRS, in conjunction with the injector system, is responsible for processing highly constrained risk recommendations for a range of parameters, including supply and borrow caps, interest rates, pendle pt e-mode collateral params, and CAPO values across multiple assets and Aave instances. These updates are executed through the injector middleware, which consumes updates from the chaos risk oracles and injects updates onto the Aave protocol in real-time.

While the existing system has served Aave more than well, several limitations exist:

  • Limited generalization: Almost every Risk Stewards activation requires ad-hoc replication of the entire architecture. This results in meaningful overhead for Aave SPs.
  • Limited infrastructure visibility: Tracking all active Risk Stewards, as well as their covered assets and constraints, can be challenging at times.

The Chaos Risk Agents framework generalizes and modularizes the process of ingesting Risk Oracle data within Aave. It eliminates redundant deployments, centralizes validation logic, and improves visibility across all risk automation layers. The result is a cleaner, more maintainable architecture that allows Aave to expand real-time risk management capabilities, ensuring consistent, verifiable execution of parameter updates.


Specification

All the current automated risk param updates will be migrated from the old injector infra to the chaos-agent system, including the following:


Risk Param Network Instance Constrains
Supply and Borrow Caps Arbitrum, Avalanche, Base, BNB, Gnosis, Optimism, Polygon max 30% relative change / 3 days
Pendle EMode Collateral Param EthereumCore, Plasma max 0.5% absolute change / 3 days for LT, LTV, LB
Pendle Discount Rate EthereumCore, Plasma max 1% absolute change / 2 days
Interest Rate: Base, Slope1, Slope2, uOptimal EthereumPrime max 3% uOpt, 0.5% base, 0.5% slope1, 5% slope2 absolute change / 1 day
Interest Rate: Slope2 EthereumCore, Linea max 4% absolute change / 8 hours

Whitelisted Assets / Markets configured by agent:


Whitelisted Assets / Markets
Arbitrum Supply / Borrow Caps WETH, USDC, USDT, WBTC, DAI, weETH, ARB, USDC.e, GHO, LINK, wstETH, LUSD, FRAX, rETH, AAVE
Avalanche Supply / Borrow Caps WETHe, USDCe, USDTe, WBTCe, DAIe, LINKe, AAVEe, WAVAX, sAVAX, FRAX, MAI, BTCb, AUSD
Base Supply / Borrow Caps WETH, cbETH, USDC, USDbC, weETH, GHO, wstETH, cbBTC, LBTC, EURC
BNB Supply / Borrow Caps ETH, wstETH, BTCB, USDC, USDT, WBNB
Gnosis Supply / Borrow Caps WETH, wstETH, USDCe, sDAI, EURe, GNO
Optimism Supply / Borrow Caps WETH, wstETH, rETH, WBTC, USDC, USDT, OP
Polygon Supply / Borrow Caps WETH, wstETH, WBTC, USDC, USDC.e, USDT, DAI, AAVE, LINK, WPOL
EthereumCore Pendle EMode Collateral EMode Ids: 8, 9, 10, 12, 13, 14, 17, 18, 19, 20, 24, 25, 27, 28, 29, 30, 31, 32
Plasma Pendle EMode Collateral EMode Ids: 5, 6, 7, 8, 13, 14, 15, 16
EthereumCore Pendle Discount Rate PT_sUSDe_31JUL25, PT_USDe_31JUL25, PT_eUSDe_14AUG25, PT_sUSDe_25SEP25, PT_USDe_25SEP25, PT_sUSDe_27NOV25, PT_USDe_27NOV25, PT_sUSDe_5FEB26, PT_USDe_5FEB26
Plasma Pendle Discount Rate PT_sUSDe_15JAN26, PT_USDe_15JAN26, PT_sUSDE_9APR26, PT_USDE_9APR26
EthereumPrime Interest Rate WETH
EthereumCore Slope2 Interest Rate WETH, USDC, USDT, USDe
Linea Slope2 Interest Rate WETH, USDC, USDT

Please note: The whitelisted assets and the constraints are the same as previously on the AGRS injector infra. This proposal only migrates the existing automated AGRS system using injector infrastructure; there is no change to the manual AGRS system, and updates on it using the new infra will be applied at a different AIP.


The risk agent contracts have not been pre-configured during deployment, and all operations, will be done on the payload:

  • Register new agents on the AgentHub contract by calling registerAgent()
  • Configure constrained ranges on the RangeValidationModule to strictly bound the risk param update from the Chaos Risk Oracle.
  • Give RISK_ADMIN role to the AgentContract which will be called by the Chaos Agent system to inject updates onto the Aave protocol.
  • Revoke RISK_ADMIN role from the previous injector contracts, as this system will be unused.
  • Cancel previous injector automation and register new ones on the AgentHub Automation wrapper contract. This is done only on networks where we use Chainlink automation, on Linea, Gnosis, and Plasma networks, this will be done off-chain using the DAO account on Gelato automation.
  • Reimburse BGD Labs with 120 LINK by withdrawing aLINK from Collector on Ethereum, which was used to fund chainlink automation on BNB, Base networks as Collector did not have LINK on those networks.

All configurations used on the proposal payload could be found on the AgentConfigLib.

More detailed specifications can be found on the chaos-agents-migration repo.

Security

Chaos Risk Agent contracts is independently audited by Zellic and Hexens. In addition, the migration proposal payload and setup has been reviewed by Certora.

Permissions

Detailed permissions post payload execution of the Chaos Risk Agent could be found on the permissions-book, but to summarize (for all networks):

Role Entity
AgentHub Owner Governance Executor Lvl 1
AgentHub ProxyAdmin owner Governance Executor Lvl 1
Agent Admin Governance Executor Lvl 1
RangeValidationModule Config Update Governance Executor Lvl 1
RISK_ADMIN on ACL Manager Each Agent contract

Addresses

All Agents Hub addresses per network can be found on Aave Address Book.

3 Likes