Cap Savings
Reports an account's staked stcUSD — Cap's yield-bearing savings token — valued in USDC through cUSD's burn quote.
Reports an account's staked stcUSD, Cap's yield-bearing savings token, valued in USDC. One leg, one label pair: ["Savings", "stcUSD"] for every position this adapter can emit.
Sibling of Cap Stablecoin — same protocol, same taxonomy, same underlying asset, different leg. Both are registered on the NAV Calculator.
Type: Plain adapter
protocolSubId:
keccak256("cap")— unchanged from the pre-split adapterUnderlying asset: USDC
Source:
CapSavingsBalanceAdapter.sol· shared baseCapBalanceAdapterBase.sol
Positions returned
stcUSD
Staking
false
Staked cUSD (stcUSD shares), redeemed to cUSD then valued in USDC
Staked cUSD is a staking principal, so it reports Staking — unchanged from the pre-split adapter.
Balance calculation
Two hops — the ERC-4626 share conversion, then the burn quote:
cUsdAmount = stcUSD.convertToAssets(stcUSD.balanceOf(account)) // ERC4626 shares → cUSD
amount = ICUsd.getBurnAmount(USDC, cUsdAmount).amountOut // cUSD → USDCThis is the same two-hop quote the pre-split adapter used for this leg, so the reported amount does not move across the split.
Why Cap is served by two adapters
See Cap Stablecoin — the split exists so each label segment is a per-adapter constant, which is what makes AssetKindRegistry's adapter-keyed label overrides safe to use on either leg without corrupting the other.
Last updated