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

osToken (osETH / osGNO)

Custom price feed for StakeWise V3 osTokens.

Custom price feed for StakeWise V3 osTokens. No direct osToken/USD feed exists, so the price is composed from the StakeWise vault controller's osToken→underlying conversion rate and the NAV's own underlying/USD base price. A single generic adapter prices osETH on Ethereum (underlying ETH) and osGNO on Gnosis (underlying GNO) via separate instances. On mainnet, osETH also carries an independent cross-rate monitor feed (ETH/USD × osETH/ETH, with a Redstone osETH/ETH leg) registered as a divergence monitor — a market depeg flags osETH irregular without moving its price.

Source: osToken_CustomPriceFeed.sol


Approach

OsTokenVaultController.convertToAssets(1e18) × NAV base underlying/USD (getPriceDataNoDivergence(WETH) on mainnet, getPriceDataNoDivergence(GNO) on Gnosis)

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

Left-to-right flowchart of the osToken (osETH / osGNO) price feed: rate and Chainlink inputs combine into a USD price, with a staleness gate.
osToken (osETH / osGNO) price feed — how its oracle inputs compose into a USD price, with the staleness gate.

Price calculation

Input
Source
Description

convertToAssets(1e18)

IOsTokenVaultController.convertToAssets

Underlying backing per 1 osToken (18 dec)

underlying/USD

NAV base — getPriceDataNoDivergence(WETH) on mainnet, getPriceData(GNO) on Gnosis (8 dec)

the NAV's primary underlying/USD price — ETH/USD for osETH, GNO/USD for osGNO

convertToAssets returns the underlying-per-osToken exchange rate, which rises as StakeWise staking rewards accrue. The underlying's USD price is read from the NAV's own primary feed — ETH/USD via getPriceDataNoDivergence(WETH) on mainnet, GNO/USD via getPriceDataNoDivergence(GNO) on Gnosis. The divisor is the fixed 1e18. Output is 8 decimals (inherited from the NAV's base price).


Constructor

Parameter
Description

osToken_

osToken address (osETH or osGNO; the supported underlying asset)

osTokenVaultController_

StakeWise OsTokenVaultController for this osToken (must be a contract)

nav_

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

baseAsset_

The registered base asset whose USD price is read (WETH on mainnet, GNO on Gnosis)


Staleness

The underlying/USD leg has no independent heartbeat here — its freshness comes from the NAV: the result is marked stale if the NAV reports the base asset (WETH on mainnet, GNO on Gnosis) stale — all its feeds stale. The base leg's updatedAt comes from the NAV's selected feed. The result is also marked stale if the underlying/USD answer is ≤ 0 or if convertToAssets(1e18) returns 0. The convertToAssets call has no independent age check — it is a live view on the StakeWise controller.


Chains

Deployed on Ethereum (osETH, underlying ETH/USD) and Gnosis (osGNO, underlying GNO/USD), one instance per osToken.

Last updated