Summary
This proposal authorizes the integration of a Pyth-backed, Chainlink-compatible aggregator for msETH/USD on Optimism.
The oracle will be consumed by HAI Protocol exactly like a Chainlink feed, enabling us to value msETH safely for collateralization, liquidations, and health checks. View Pyth docs
Key addresses:
- HAI msETH Pyth AggregatorV3:
0xCAbaaC238Ab70888bCC13Ff93Fe31d8614A25224
- Reference msETH AggregatorV3 (verified example):
0xBD32E433218059fc9C620498E13fDb436731F28d
- Pyth OP Proxy:
0xff1a0f4744e8582DF1aE09D5611b887B6a12925C
- Pyth Insights (msETH/USD): View feed
Motivation
- Fresh data: Pyth publishes msETH/USD prices with second-level latency from first-party sources.
- Chainlink-compatible interface: Our adapter exposes the standard
AggregatorV3 API, avoiding any consumer contract changes.
- Operational control: We can define our own update cadence and conditions (time, deviation, confidence).
- Safe msETH onboarding: A verified, redundant, and configurable oracle is required before enabling msETH in HAI’s collateral set.
Technical Details
Architecture
- Pyth OP Proxy receives batched price updates from off-chain keepers.
- HAI’s PythAggregatorV3 pulls msETH prices from the Pyth proxy and exposes them via the
AggregatorV3 interface (latestRoundData, decimals, description, etc.).
- HAI’s Chainlink Relayer uses PythAggregatorV3 as the price feed
- HAI Protocol’s Oracle Relayer reads the delayed oracle that references the above chainlink relayer.
Update Flow
- A keeper service fetches the latest msETH price payload from Pyth Hermes API.
- It calls
updateFeeds(priceUpdateData) on our aggregator, which:
- Pays the update fee (
getUpdateFee) to the Pyth OP proxy.
- Pushes the new price to Optimism.
- Consumers then see the updated price via
latestRoundData().
Proposed Parameters
- Max Staleness: 3600 seconds (publish time must be within 60 minutes)
- Deviation trigger: Publish when price changes ≥ 0.10%
- Confidence limit: Reject if
confidence / price > 0.50%; use price - confidence for conservative collateral valuation
Implementation Steps
1. Deploy PythAggregatorV3 for msETH
2. Parameters for keeper running updates
time_difference: 3600
price_deviation: 0.1
confidence_ratio: 0.5
- Conservative valuation:
price - confidence
3. Keeper Setup
- Run at least two redundant keeper instances
- Trigger updates on heartbeat, deviation, or high confidence interval
4. Monitoring Details
- Use Pyth Insights for real-time checks
- Set alerts for staleness, confidence spikes, or failed keeper updates
Risk Mitigation
- Staleness: Enforced via max age
- Volatility: Use confidence-based conservative pricing
- Liveness: Multiple keepers ensure updates continue
- Adapter security: Uses verified
PythAggregatorV3 code already deployed
Costs
- One-time: None (adapter is deployed)
- Ongoing: Keeper L2 gas +
getUpdateFee (1 wei) from Pyth
Voting Options
- FOR: Add the Pyth msETH/USD oracle to HAI Protocol with the parameters above
- AGAINST: Do not integrate Pyth for msETH at this time
- ABSTAIN