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

spETH

Custom price feed for Spark Savings ETH (spETH).

Custom price feed for Spark Savings ETH (spETH). spETH is an ERC-4626 vault share that accrues value as savings yield accumulates. The price is derived from the vault's current share-to-asset conversion rate multiplied by the NAV's WETH/USD price.

Source: spETH_CustomPriceFeed.sol


Approach

spETH.convertToAssets(1 spETH) × WETH/USD (from the NAV's primary feed)

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


Price calculation

decimals = spETH.decimals()                     // vault share decimals
rate     = spETH.convertToAssets(10^decimals)   // WETH per 1 spETH
price    = rate × WETH_USD / 10^assetDecimals
Input
Source
Description

convertToAssets()

IERC4626(spETH)

WETH backing per 1 spETH share at the current accrued rate

WETH_USD

NAV base — getPriceDataNoDivergence(WETH) (8 dec)

the NAV's primary WETH/USD price

The divisor is 10^assetDecimals (the underlying's decimals), not the share decimals — they differ whenever a vault uses a decimals offset. Result carries the feed's 8 decimals.


Constructor

Parameter
Description

vault_

The spETH vault address (also used to read vault decimals)

nav_

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

baseAsset_

The registered base asset whose USD price is read (WETH); must equal the vault's asset() — reverts BaseAssetMismatch otherwise


Staleness

The price is stale 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 convertToAssets rate has no heartbeat — it is a live view on the ERC-4626 vault.


Chains

Deployed on Ethereum mainnet only.

Unlike the other members of this family the base is WETH, not a stablecoin, so the share price tracks ETH rather than $1.

Last updated