# \[ARFC\] Upgrade PT Risk Oracle to Protocol-Owned Infrastructure on CRE

**URL:** <https://governance.aave.com/t/arfc-upgrade-pt-risk-oracle-to-protocol-owned-infrastructure-on-cre/25119>\
**Category:** Governance\
**Created:** [June 9, 2026, 3:45pm UTC](https://governance.aave.com/t/arfc-upgrade-pt-risk-oracle-to-protocol-owned-infrastructure-on-cre/25119 "2026-06-09T15:45:38Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![LlamaRisk](https://dub1.discourse-cdn.com/flex013/user_avatar/governance.aave.com/llamarisk/32/12865_2.png) [@LlamaRisk](https://governance.aave.com/u/LlamaRisk)\
**Post date:** [October 21, 2026, 4:00pm UTC](https://governance.aave.com/t/arfc-upgrade-pt-risk-oracle-to-protocol-owned-infrastructure-on-cre/25119/7 "2026-10-21T16:00:30Z")

</div>

Following the Ethereum, Plasma and Monad activations above, the PT Risk Oracle stack is now deployed on Aave V3 X Layer for PT-USDG-25FEB2027, listed by [[Direct-to-AIP] Onboard PT-USDG-25FEB2027 on X Layer](https://governance.aave.com/t/direct-to-aip-onboard-pt-usdg-25feb2027-on-x-layer/25733). The contracts are byte-equivalent to the Certora-audited components already deployed on Ethereum, Plasma and Monad, all source-verified on OKLink, and being added to the address book under `MiscXLayer`. An AIP will follow shortly.

**Deployed contracts (X Layer, chainId 196)**

| Contract | Address |
| --- | --- |
| RiskOracle | [0x3e0C920C2bdDF6DF87f9A39Ea4db9CF65Cec1EDE](https://www.oklink.com/xlayer/address/0x3e0C920C2bdDF6DF87f9A39Ea4db9CF65Cec1EDE) |
| PTParameterRegistry | [0x101D7eA4D0F8Ab848D3CC24e7b391F19DaaF6a2d](https://www.oklink.com/xlayer/address/0x101D7eA4D0F8Ab848D3CC24e7b391F19DaaF6a2d) |
| LlamaguardRiskOracleRouter | [0xfC354324B152E2A358A17182d2AF0d3f882c27D2](https://www.oklink.com/xlayer/address/0xfC354324B152E2A358A17182d2AF0d3f882c27D2) |
| AaveDiscountRateAgent | [0xb00251C67dB290D0AD779903bfFeB092DAE76fFa](https://www.oklink.com/xlayer/address/0xb00251C67dB290D0AD779903bfFeB092DAE76fFa) |
| AaveEModeAgent | [0x19ae7c91dfd35a4515595cEd305d2102C3b1B02D](https://www.oklink.com/xlayer/address/0x19ae7c91dfd35a4515595cEd305d2102C3b1B02D) |

Both agents are stock implementations from [aave-dao/aave-risk-agents](https://github.com/aave-dao/aave-risk-agents), built at that repository’s own settings (solc 0.8.27, optimizer runs 200, shanghai). They are ownerless and inert until governance registers them. The E-Mode agent preserves the category’s isolation flag, which is `false` for category 9 on X Layer.

**Chainlink CRE workflows**

Three workflows, owned by the Aave CRE organisation multisig (0x73494691C9B28b91A0b4C9dF213c1893fddA3a3B) and pinned as the only accepted author on every Router route: an EMA of the Pendle implied rate, and discount-rate and E-Mode risk-parameter oracles acting on category 9. The EMA leg writes to its own LlamaGuardOracle, deployed together with the CRE workflows, and activates without governance; the two agent-bearing routes go live only after the AIP executes.

**What the AIP will do**

Register the two predeployed agents on the Aave-owned AgentHub ([aave-dao/aave-proposals-v3#1226](https://github.com/aave-dao/aave-proposals-v3/pull/1226)), taking agent ids 0 and 1 (discount rate first, confirmed by fork execution), grant each `RISK_ADMIN` on `AaveV3XLayer.ACL_MANAGER`, and set four absolute default range bounds on the RangeValidationModule: 100 bps per injection on the discount rate, and 50 bps per injection on each of `EModeLTV`, `EModeLiquidationThreshold` and `EModeLiquidationBonus`. Every bound is absolute rather than relative because a relative cap measures against the last injected value, which does not exist on a freshly assigned agent id, so a relative configuration would leave the first injection unbounded. The payload changes no reserve configuration.

**Launch risk parameters**

Initial discount rate 2.953% per year, capped at 7.910%. E-Mode category 9 (`PT_USDG_25FEB2027__Stablecoins`, non-isolated) launches at 91.48% LTV, 93.48% liquidation threshold and 2.62% liquidation bonus, with the agent bounded by a 96.00% LT cap and a 2.0 pp LB floor.

**Ownership and controls**

Registration is governance-only: `registerAgent` and `setAgentAdmin` on the AgentHub are `onlyOwner`, and the owner is `GovernanceV3XLayer.EXECUTOR_LVL_1`, so no agent can be added or repointed outside a governance vote. Both agents are registered with `admin` set to `MiscXLayer.PROTOCOL_GUARDIAN` ([0xD0D1CcB0391aADF1EaD96814ce7ab4008Ebdb336](https://www.oklink.com/xlayer/address/0xD0D1CcB0391aADF1EaD96814ce7ab4008Ebdb336)), so a misbehaving agent can be disabled without waiting on a governance cycle; re-enabling requires a vote.

The publishing path is one-way. The RiskOracle accepts writes only from the Router, and the Router accepts only reports delivered by the Chainlink CRE forwarder ([0x76c9cf548b4179F8901cda1f8623568b58215E62](https://www.oklink.com/xlayer/address/0x76c9cf548b4179F8901cda1f8623568b58215E62)) for a workflow owned by the Aave CRE organisation multisig. The RiskOracle and the Router are owned by the LlamaRisk admin safe ([0x1a0267E9E5929a5914Ae9DbBf23Bc07B14365471](https://www.oklink.com/xlayer/address/0x1a0267E9E5929a5914Ae9DbBf23Bc07B14365471)); the PTParameterRegistry is owned by the Executor.

**Auditing**

The Router, RiskOracle, parameter registry and EMA oracle are byte-equivalent deployments of the Certora-audited LlamaGuard periphery running on Ethereum Core, Plasma and Monad. The agent implementations are the stock contracts from the DAO-owned [aave-dao/aave-risk-agents](https://github.com/aave-dao/aave-risk-agents), audited by Certora; both are built at that repository’s own settings (solc 0.8.27, optimizer runs 200, shanghai). Note that the hub, range module, pool and oracle are immutables baked into each agent’s runtime, so a raw cross-chain bytecode comparison will not match until those are masked out.

---

_[View the full topic](https://governance.aave.com/t/arfc-upgrade-pt-risk-oracle-to-protocol-owned-infrastructure-on-cre/25119)._
