cbETH (L2)
Custom price feed for Coinbase Wrapped Staked ETH on L2 chains.
Last updated
Custom price feed for Coinbase Wrapped Staked ETH on L2 chains.
Custom price feed for Coinbase Wrapped Staked ETH on L2 chains. No direct cbETH/USD feed exists, so the price is composed from a Chainlink cbETH/ETH feed and an ETH/USD price read from the NAV's own primary feed.
The ETH/USD term is sourced from the NAV's own selector — see Base/USD from the NAV's own selector.
Source: cbETH_L2_CustomPriceFeed.sol
L2 feed. For the Ethereum mainnet feed, see cbETH.
Chainlink cbETH/ETH × NAV-selected ETH/USD
cbETH/ETH
Chainlink cbETH/ETH feed (latestRoundData)
cbETH price in ETH (18 dec)
ETH/USD
NAV base — getPriceDataNoDivergence(WETH) (8 dec)
the NAV's primary WETH/USD price
The cbETH/ETH leg is a Chainlink feed; the ETH/USD leg is the NAV's primary WETH/USD. The divisor is 10 ** cbETHToETH.decimals(). Output is 8 decimals (inherited from the ETH/USD leg).
cbEth_
cbETH token address (the supported underlying asset)
cbEthToEthChainlink_
Chainlink cbETH/ETH aggregator
cbEthToEthHeartbeat_
Staleness window (seconds) for the cbETH/ETH feed
nav_
NAVCalculator (proxy) — supplies the base asset's USD price via getPriceDataNoDivergence
baseAsset_
The registered base asset whose USD price is read (WETH)
getLatestPrice() returns stale = true if the cbETH/ETH feed satisfies block.timestamp − updatedAt ≥ heartbeat, if the cbETH/ETH answer is ≤ 0, if its updatedAt is in the future (clamped to block.timestamp), or if the NAV reports the base asset (WETH) stale — all its feeds stale. The base leg's updatedAt comes from the NAV's selected WETH feed. The reported updatedAt is the older of the two legs.
Deployed on Base. The Ethereum mainnet counterpart is cbETH (Mainnet), which uses a rate provider against ETH/USD.
Last updated
price = (cbETH/ETH) × (ETH/USD) / 10^(cbETH/ETH decimals)constructor(
address cbEth_,
address cbEthToEthChainlink_,
uint256 cbEthToEthHeartbeat_,
address nav_,
address baseAsset_
)