AGRS (Risk Stewards) migration to Risk Agents
01Summary
This proposal migrates Aave's automated risk parameter update infrastructure from the legacy injector system to the new Chaos Risk Agents framework. The migration affects all networks (Arbitrum, Avalanche, Base, BNB, Ethereum, Gnosis, Linea, Optimism, Plasma, Polygon) and includes supply/borrow caps, interest rates, and Pendle collateral parameters. The change improves system maintainability and visibility without altering the actual risk constraints. BGD Labs will be reimbursed 120 LINK from the Collector contract.
- Type
- protocol addition
Key changes
- Migrate all automated risk parameter updates from legacy injector middleware to Chaos Risk Agents system across 10 networks(high)
- Register new agents on AgentHub and configure constrained ranges on RangeValidationModule for supply/borrow caps, interest rates, and Pendle parameters(high)
- Transfer RISK_ADMIN role from previous injector contracts to new Agent contracts(high)
- Cancel previous injector automation and register new ones on AgentHub; use Gelato for off-chain automation on Linea, Gnosis, and Plasma(high)
- Reimburse BGD Labs with 120 LINK from Collector on Ethereum(low)
- Risk parameter constraints remain unchanged from the previous injector system(medium)
Notable concerns
- Migration involves multiple contracts and networks; coordination of deployments and configuration required
- Previous injector automation must be properly cancelled to avoid conflicts
- System has been audited by Zellic and Hexens, and migration payload reviewed by Certora, but this is a complex cross-chain infrastructure change
Generated by Kvorum
02Description
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
RangeValidationModuleto strictly bound the risk param update from the Chaos Risk Oracle. - Give
RISK_ADMINrole to the AgentContract which will be called by the Chaos Agent system to inject updates onto the Aave protocol. - Revoke
RISK_ADMINrole 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.
References
- Implementation: BaseMigrationPayload, AaveV3Ethereum, AaveV3EthereumPrime, AaveV3Ethereum_ReimburseLinkForRobot, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Base, AaveV3Gnosis, AaveV3BNB, AaveV3Linea, AaveV3Plasma
- Tests: BaseMigrationTest, AaveV3Ethereum, AaveV3EthereumPrime, AaveV3Ethereum_ReimburseLinkForRobot, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Base, AaveV3Gnosis, AaveV3BNB, AaveV3Linea, AaveV3Plasma
- Snapshot
- Discussion
- Github: Chaos Agents, Aave Risk Agents, Migration Payload
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal description is highly detailed, listing many specific on-chain operations (agent registration, RangeValidationModule configuration, RISK_ADMIN role grants/revocations, automation cancellation/re-registration, and a 120 LINK reimbursement) across 11 networks. However, the decoded calldata only shows three generic execute() fallback calls to three distinct Ethereum-mainnet addresses, with no decoded internal function calls, parameters, or cross-chain dispatch details. This pattern is consistent with Aave's standard governance architecture, where a mainnet vote triggers execution of payload contracts (and potentially cross-chain messages to bridge executors on other networks) that are not unpacked in this trace. Given the opacity of the calldata (three thin proxy/delegatecall wrappers), it is not possible to verify specific claims such as the exact LINK amount, role assignments, or per-network parameter constraints against the actual bytecode-level actions. No contradictions were found between the visible calldata and the description, but the low level of decoded detail means confidence in a full comparison is low. No discrepancies are flagged because there is no concrete evidence of mismatch — only insufficient visibility to confirm every granular claim in the description. This should not be read as a red flag against the proposal itself, but as a limitation of the decoding depth in the data provided for review.
Generated by Kvorum
04Actions
- Target
- 0xffc3…b0ec
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0x8da7…0f6b
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0x90bb…90b8
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| EZezr3al.eth0x8659…7d0e | For | 160.4K | 38.67% | — | 10mo ago |
| 8B0x8b37…2a22 | For | 74.3K | 17.91% | — | 10mo ago |
| 2C0x2cc1…4df1 | For | 67.4K | 16.25% | — | 10mo ago |
| B90xb933…8dd1 | For | 42.2K | 10.18% | — | 10mo ago |
| EC0xecc2…6ac9 | For | 25K | 6.02% | — | 10mo ago |
| 3D0x3ddc…05b0 | For | 20.1K | 4.85% | — | 10mo ago |
| 7A0x7ae1…e585 | For | 10K | 2.41% | — | 10mo ago |
| 070x0703…961b | For | 10K | 2.41% | — | 10mo ago |
| 3E0x3e32…c4d0 | For | 2.9K | 0.70% | — | 10mo ago |
| 480x48e5…6430 | For | 2K | 0.49% | — | 10mo ago |
| A50xa54f…0f31 | For | 150.8 | 0.04% | — | 10mo ago |
| C80xc80a…aa1c | For | 150.4 | 0.04% | — | 10mo ago |
| 440x4444…34b3 | For | 122.2 | 0.03% | — | 10mo ago |
| E30xe325…c9bf | For | 9.2 | 0.00% | — | 10mo ago |
| 460x4678…6082 | For | 6 | 0.00% | — | 10mo ago |
| F80xf843…1de0 | For | 2 | 0.00% | — | 10mo ago |
| 010x0151…c3b9 | For | 1.2 | 0.00% | — | 10mo ago |
| C50xc554…7759 | For | 1 | 0.00% | — | 10mo ago |
| 010x019e…2ee3 | For | 0.3 | 0.00% | — | 10mo ago |
| 290x29bc…d91d | For | 0.2 | 0.00% | — | 10mo ago |
| 810x8136…df3b | For | 0.2 | 0.00% | — | 10mo ago |
| 9E0x9ee0…b77c | For | 0.1 | 0.00% | — | 10mo ago |
| 160x168f…7400 | For | 0.1 | 0.00% | — | 10mo ago |
| 000x00b9…9787 | For | 0.1 | 0.00% | — | 10mo ago |
| 260x266e…9cc0 | For | 0.1 | 0.00% | — | 10mo ago |
| A90xa97c…ccc8 | For | 0 | 0.00% | — | 10mo ago |
| 2F0x2f2f…f78a | For | 0 | 0.00% | — | 10mo ago |
| 5A0x5a3d…d2ef | For | 0 | 0.00% | — | 10mo ago |
| 790x7913…a745 | For | 0 | 0.00% | — | 10mo ago |
| 980x986b…1174 | For | 0 | 0.00% | — | 10mo ago |
| 700x701f…2f2c | For | 0 | 0.00% | — | 10mo ago |
| 400x409e…04bd | For | 0 | 0.00% | — | 10mo ago |
| 700x7008…1be2 | For | 0 | 0.00% | — | 10mo ago |
| 640x6441…7c65 | For | 0 | 0.00% | — | 10mo ago |
| 4D0x4d4a…1bdf | For | 0 | 0.00% | — | 10mo ago |
| 170x1724…bdd5 | For | 0 | 0.00% | — | 10mo ago |
| 930x93d8…c1eb | For | 0 | 0.00% | — | 10mo ago |
| BE0xbea7…b718 | For | 0 | 0.00% | — | 10mo ago |
| D30xd3df…954b | For | 0 | 0.00% | — | 10mo ago |
| D10xd17f…4569 | For | 0 | 0.00% | — | 10mo ago |
| 2E0x2eb3…c80d | For | 0 | 0.00% | — | 10mo ago |
| 090x0943…3d7d | For | 0 | 0.00% | — | 10mo ago |
| D20xd2dd…ca86 | For | 0 | 0.00% | — | 10mo ago |
| 910x91f6…9bd6 | For | 0 | 0.00% | — | 10mo ago |
| 500x50bf…caca | For | 0 | 0.00% | — | 10mo ago |
| 030x039d…837a | For | 0 | 0.00% | — | 10mo ago |
| BF0xbfd7…e5ef | For | 0 | 0.00% | — | 10mo ago |
| 730x736d…fa18 | For | 0 | 0.00% | — | 10mo ago |
| D30xd311…8529 | For | 0 | 0.00% | — | 10mo ago |
| 690x69e2…f4c2 | For | 0 | 0.00% | — | 10mo ago |
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedActivate Capo Risk Agent and expand Rates Agent on more networks87%
- aaveexecutedAave Generalized Risk Stewards (AGRS) activation83%
- aaveexecutedDiscount Rate Risk Oracle Activation and update manual AGRS79%
- aaveexecutedCaps Risk Oracle Activation on Optimism, BNB, Gnosis, Polygon79%
- aaveexecutedOnboard PT-srUSDe-22OCT2026 to the LlamaRisk PT Risk Oracle78%
- aaveexecutedCaps Risk Oracle Activation on Base, Avalanche78%
- aaveexecutedCaps Risk Oracle Activation on Arbitrum78%
- aaveexecutedAutomated (Edge) AGRS Activation77%
- aaveexecutedSlope2 Risk Oracle Activation On Core Ethereum, Linea77%
- aaveexecutedSteward Deployment: MainnetSwapSteward and RewardsSteward75%