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

spUSDC

Custom price feed for Spark Savings USDC (spUSDC).

Custom price feed for Spark Savings USDC (spUSDC). spUSDC 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 USDC/USD price.

Source: spUSDC_CustomPriceFeed.sol


Approach

spUSDC.convertToAssets(1 spUSDC) × USDC/USD (from the NAV's primary feed)

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


Price calculation

decimals = spUSDC.decimals()                     // vault share decimals
rate     = spUSDC.convertToAssets(10^decimals)   // USDC per 1 spUSDC
price    = rate × USDC_USD / 10^assetDecimals
Input
Source
Description

convertToAssets()

IERC4626(spUSDC)

USDC backing per 1 spUSDC share at the current accrued rate

USDC_USD

NAV base — getPriceDataNoDivergence(USDC) (8 dec)

the NAV's primary USDC/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 spUSDC 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 (USDC); must equal the vault's asset() — reverts BaseAssetMismatch otherwise


Staleness

The price is stale if the NAV reports the base asset (USDC) stale — all its feeds stale. The base leg's updatedAt comes from the NAV's selected USDC feed. The convertToAssets rate has no heartbeat — it is a live view on the ERC-4626 vault.


Chains

Deployed on Ethereum mainnet only.

Last updated