These changes are fully backward compatible. No structs, fields, or JSON keys were added, removed, or renamed. The response shape is identical — only the values inside existing fields change:
collaterals[].collateralSupply— WETH entry is slightly larger (includes stETH)collaterals[].collateralSupplyUsd— recalculated from merged supplycollaterals[].sharePct— recalculatedmetrics.allTimeYieldClaimedUsd— includes stETH yield
All existing structs (DashboardResponse, ChainDashboard, CollateralData, ChainMetrics, MetricsSeries, etc.) are unchanged.
The /status/put/dashboard endpoint now includes the treasury wallet's stETH balance in the dashboard for the investor chain.
The stETH balance of 0x1118e1c057211306a40A4d7006C040dbfE1370Cb is queried on-chain and merged into the existing WETH collateral entry. stETH is 1:1 with ETH, 18 decimals, same oracle price — so it's summed directly into the WETH collateralSupply.
Yield is calculated as:
stETH balance - 2192.991693 ETH (original WETH deposit) = yield in ETH
This yield is converted to USD using the ETH oracle price and added to the allTimeYieldClaimedUsd metric.
- stETH balance: ~2,195.11 stETH
- Original deposit: 2,192.99 ETH
- Yield earned:
2.12 ETH ($4,495 at $2,124/ETH)
The dashboard now only returns data for the configured investor chain (INVESTOR_CHAIN_ID):
- Dev: chain 146 (Sonic)
- Prod: chain 1 (Ethereum)
Previously it iterated all configured blockchains, which caused extra chains to leak into the response.
No changes needed. Response shape is identical.
- #223 — merge standalone wrapper collaterals with same asset address
- #224 — restrict put dashboard to investor chain only
- stETH tracking branch:
feat/steth-treasury-tvl-yield(pending PR)