Executed

Add Pyth msETH/USD Oracle (Chainlink-Compatible)


Proposal ID

673255...8441

Proposed

Aug 13th, 2025

Result details
Final Votes

Quorum

31.27K of 9.74K

Majority support

Yes

For

31.27K

Against

0

Abstain

0

Actions

Type

Address

Details

Custom

0xBf81...23B8

deployChainlinkRelayer(..)

Custom

Account

0xBf81...23B8

Method

deployChainlinkRelayer(..)

Custom

0x41A6...b3bB

deployDelayedOracle(..)

Custom

Account

0x41A6...b3bB

Method

deployDelayedOracle(..)

Proposal

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

  1. Pyth OP Proxy receives batched price updates from off-chain keepers.
  2. HAI’s PythAggregatorV3 pulls msETH prices from the Pyth proxy and exposes them via the AggregatorV3 interface (latestRoundData, decimals, description, etc.).
  3. HAI’s Chainlink Relayer uses PythAggregatorV3 as the price feed
  4. 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
Final Votes

Quorum

31.27K of 9.74K

Majority support

Yes

For

31.27K

Against

0

Abstain

0

Final Votes
Status

Wed Aug 13, 05:30 pm

Draft created

Wed Aug 13, 06:13 pm

Published onchain

Thu Aug 14, 06:13 am

Voting period started

Fri Aug 15, 02:34 pm

Voting period extended

Sat Aug 16, 02:34 pm

Voting period ended

Sat Aug 16, 02:51 pm

Proposal queued

Sun Aug 17, 02:58 pm

Proposal executed