Summary
The PT Risk Oracle stack that this ARFC proposed is deployed on Ethereum and ready for activation. This note covers the deployed addresses, the Chainlink CRE workflows behind them, and the bounds the activation AIP will set.
The stack maintains two things for PT-srUSDe-22OCT2026 on Aave V3 Ethereum Core: the discount rate on the reserve’s existing PendlePriceCapAdapter, and the risk parameters of the two eMode categories that contain the reserve. It does not replace the reserve’s price feed. Every update travels through Aave’s AgentHub, which enforces the market allowlist, minimum delay, expiration and absolute range bounds before an agent can write, and governance can disable either agent at any time.
Specification
The activation AIP registers two predeployed agents on the Aave-owned AgentHub, grants them the role they need to write, and sets the bound on every parameter each one can move. Route registration on the Router happens after execution, because the routes reference the agent ids the AgentHub assigns.
Deployed contracts
Deployed 21 August 2026 on Ethereum, read back from mainnet.
| Contract | Address |
|---|---|
| RiskOracle | 0x683d1A91599F971252Ef171eF1F987172be8369A |
| PTParameterRegistry | 0x37370932045d20C01A62b3e7c21134A1C6365D38 |
| LlamaguardRiskOracleRouter | 0x1D85000D54ea1185C43E4f2b32833524d3cF3507 |
| LlamaGuardOracle (EMA periphery) | 0xc63D0747457dA82E4dc1C6a06Fb587622137d887 |
| AaveDiscountRateAgent | 0x529e2374afB38AC465D71979E7540ad93C05F6c5 |
| AaveEModeAgent | 0xbe2840440d4f77CD98CEC2de09913e6851907744 |
Existing Aave and Chainlink addresses the stack reads or writes through:
| Contract | Address |
|---|---|
| PT reserve (PT-srUSDe-22OCT2026) | 0x59bC9FaE5D62B19d4f8d07D758047aCb9EE19d34 |
| Pendle market | 0x66Ec657C59cdcaf171aB43B83da3942758bF8a97 |
| PendlePriceCapAdapter | 0xBD1bc41479D0b58167584980fE57fDA913d4fB73 |
| AgentHub | 0x95E3015c67EF62B866cC28ca5A9AB5017A55e336 |
| RangeValidationModule | 0x9240a6669CC4782FC98620212862DF5CB2e0Df10 |
| ACLManager | 0xc2aaCf6553D20d1e9d78E365AAba8032af9c85b0 |
| CRE forwarder (KeystoneForwarder) | 0x0b93082D9b3C7C97fAcd250082899BAcf3af3885 |
Chainlink CRE workflows
AAVE and Certora has reviewed the three production workflows.
| Workflow | Workflow id | Publishes |
|---|---|---|
| EMA | 0x0091413fc6ddedb789e424421fd18cd18b4a64fe139eaa9e10759a68a5cae583 | EMA of the PT rate, read back as an input by the other two |
| Discount rate | 0x0030df3e67d349d2100820d1de934c111f7b005718993b3e4d43d087753cc6fe | PendleDiscountRateUpdate |
| Risk parameters | 0x00c672ab84adbd3c64d17c7dd3fe67860b7a4da4f7d0d952d46989ce109b1933 | EModeCategoryUpdate for eModes 47 and 48 |
What the AIP does
The AIP performs the following actions:
- Registers the predeployed AaveDiscountRateAgent and AaveEModeAgent on the AgentHub and enables them
- Grants RISK_ADMIN roles to both agents on the ACLManager
- Sets the range bounds for the two new agent ids on the RangeValidationModule
Bounds and cadence
Agent registration:
| Agent | updateType | Minimum delay | Expiration | Allowed markets |
|---|---|---|---|---|
| Discount | PendleDiscountRateUpdate | 48 hours | 48 hours | 0x59bC9FaE5D62B19d4f8d07D758047aCb9EE19d34 |
| eMode | EModeCategoryUpdate | 72 hours | 72 hours | eModes 47 and 48 |
Range bounds, absolute in both directions, matching the values already in use on the existing agent ids:
| Agent | updateType | Max increase | Max decrease |
|---|---|---|---|
| Discount | PendleDiscountRateUpdate | 100 bps | 100 bps |
| eMode | EModeLTV | 50 bps | 50 bps |
| eMode | EModeLiquidationThreshold | 50 bps | 50 bps |
| eMode | EModeLiquidationBonus | 50 bps | 50 bps |
Ownership and controls
Registration is governance-only. registerAgent and setAgentAdmin on the AgentHub are owner-gated, and the owner is the Aave Ethereum executor, so no agent can be added or repointed outside a governance vote.
Both registrations name the Aave Protocol Guardian as agent admin, which lets a misbehaving agent be disabled without waiting for a governance cycle. Re-enabling it is governance-only. The Router is pausable by the Guardian on the same principle, with unpausing reserved to the executor.
The publishing path is closed at both ends: the RiskOracle accepts writes only from the Router, and the Router accepts only reports delivered by the Chainlink forwarder for a workflow whose owner and name match a registered route. No LlamaRisk EOA holds a governance-level role in this stack.
Roles and their holders are listed in the Aave permissions book.
Auditing
The agent implementations are the stock Risk Agents contracts from aave-dao/aave-risk-agents, audited by Certora. The LlamaGuard periphery (Router, RiskOracle, parameter registry, EMA oracle) has been audited by Certora as well.