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

syrupUSDC (L2)

Custom price feed for Maple Finance syrupUSDC on Layer 2 networks.

Custom price feed for Maple Finance syrupUSDC on Layer 2 networks. On L2s, a dedicated Chainlink syrupUSDC/USDC feed is available and used directly, multiplied by the USDC/USD price read from the NAV's own primary feed.

Source: syrupUSDC_L2_CustomPriceFeed.sol

L2 feed. For the Ethereum mainnet feed, see syrupUSDC.

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


Approach

Chainlink syrupUSDC/USDC × USDC/USD (from the NAV's primary feed via getPriceDataNoDivergence(USDC))

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

Price calculation

Input
Source
Description

syrupUSDC_to_USDC_rate

Chainlink syrupUSDC/USDC

syrupUSDC exchange rate in USDC

USDC_USD

NAV base — getPriceDataNoDivergence(USDC) (8 dec)

the NAV's primary USDC/USD price

The syrupUSDC/USDC rate is read live from Chainlink; the USDC/USD base term is read from the NAV's primary feed. Result carries the feed's 8 decimals.


Constructor

Parameter
Description

syrupUsdc_

The syrupUSDC token address

syrupUsdcToUsdcChainlink_

Chainlink syrupUSDC/USDC oracle

syrupUsdcToUsdcHeartbeat_

Staleness window (seconds) for the syrupUSDC/USDC feed

nav_

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

baseAsset_

The registered base stablecoin whose USD price is read (USDC)


Staleness

The syrupUSDC/USDC rate leg checks its own Chainlink heartbeat: it is stale if the rate is ≤ 0 or if block.timestamp − effectiveUpdatedAt ≥ heartbeat (effectiveUpdatedAt clamped to block.timestamp). The price is also stale if the base USD price is ≤ 0, or 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 reported updatedAt is the older (minimum) of the rate leg and the base leg.


Chains

Deployed on Arbitrum. Mainnet uses syrupUSDC (Mainnet), which derives the rate from the ERC-4626 vault instead.

Last updated