For the complete documentation index, see llms.txt. This page is also available as Markdown.

weETH

weETH is Ether.fi's non-rebasing wrapped eETH.

weETH is Ether.fi's non-rebasing wrapped eETH. It is priced purely from its on-chain exchange rate — no market oracle sits in the pricing path. This ICustomPriceFeed adapter reads the weETH contract's getRate() and scales it by the NAV's own ETH/USD. Any market divergence is surfaced by a market monitor feed, not by moving this price.

Source: weETH_CustomPriceFeed.sol

Mainnet feed. The L2 deployments use a different oracle composition — see weETH (L2).


Approach

getRate() × ETH/USD — getRate() gives eETH per weETH, which is ETH per weETH when treating eETH/ETH ≡ 1.0 (eETH is a ~1:1 rebasing claim on staked ETH); ETH/USD then converts to USD. This is a pure-fundamental BaseCustomPriceFeed subclass: it implements only the _rate() hook and carries no market weETH/ETH Chainlink leg. The ETH/USD term is the NAV's own price for WETH (via getPriceDataNoDivergence(WETH)), not a hardcoded oracle.

Left-to-right flowchart of the weETH (Mainnet) price feed: the on-chain exchange rate scaled by the NAV's ETH/USD, with a staleness gate.
weETH (Mainnet) price feed — the on-chain exchange rate scaled by the NAV's ETH/USD, with the staleness gate.

The ETH/USD term is sourced from the NAV's own primary feed — see Base/USD from the NAV's own selector.


Price calculation

Input
Source
Description

getRate

IweETH.getRate() on weETH (18 dec)

eETH per 1 weETH

ETH/USD

NAVgetPriceDataNoDivergence(WETH) (8 dec)

the NAV's primary WETH/USD price

getRate() is the weETH contract's authoritative eETH-per-weETH conversion; since 1 eETH ≈ 1 ETH, it doubles as ETH per weETH. A real depeg does not move this price but instead trips the divergence monitor (below). Output decimals are inherited from the ETH/USD feed (8).


Constructor

Parameter
Description

weEth_

weETH token address (also the supported underlying; used for getRate())

nav_

NAVCalculator (proxy) — supplies the base asset's USD price via getPriceDataNoDivergence

baseAsset_

the registered base asset whose USD price is read (WETH)


Staleness

getLatestPrice() returns stale if getRate() returns 0, or if the NAV reports the base asset (WETH) primary feed stale. There is no market-leg heartbeat — the rate call has no independent heartbeat, and the only external timestamp is the NAV's selected WETH feed, which supplies the reported updatedAt.


Divergence monitors

weETH carries a divergence tolerance of 250 bps and is watched by a Redstone weETH/USD market monitor feed. If the primary deviates from the monitor beyond 250 bps the asset is flagged irregular (a signal, not a price change). See Primary feed and divergence monitors.


Chains

Deployed on Ethereum. The L2 variant instead reads a Chainlink weETH/eETH exchange-rate feed, since weETH is bridged there and has no on-chain rate — see weETH (L2).

Last updated