Scope: Ethereum mainnet · Position: $60M wstETH (26,259 wstETH) · Modelled deployment: $24M (40%) = 10,503 wstETH Date: 2026-08-03 · Block stamp: all on-chain reads at block 25,673,966 unless stated


Answer

There are exactly three things you can do with wstETH. Only one of them pays.

#OptionResult
1Lend wstETH for a supply APYDoes not exist. No venue pays a meaningful rate — §2
2Lever wstETH (borrow ETH, loop)Capped at ~$20,000/yr, any size — §4
3Borrow against wstETH, redeploy the debt+25 to +47bp, all of it paid for with new risk — §5–§8

wstETH already earns 2.21% via the stEthPerToken() exchange rate, and that accrues wherever the token sits — wallet, Aave aToken, Morpho collateral, identically. Everything below is measured as incremental return over that 2.21% baseline.

Root cause of the poor economics: Ethereum staking yield has compressed to 2.21%, at or below what every liquid venue charges to borrow ETH (1.75%–2.58%). The leverage trade has no spread to multiply.

Recommendation: Path 0 (hold). If the mandate requires yield, Path B1 at 2.46%.


1. Market data

1.1 wstETH baseline

MetricValueSource
Lido stETH APR, 7-day SMA2.213%Lido API /apr/sma
Lido stETH APR, latest2.173%Lido API /apr/last
DefiLlama lido/STETH APY / 30d mean2.173% / 2.208%DefiLlama
Rocket Pool rETH (cross-check)2.175%DefiLlama
Modelled throughout2.21% APY
wstETH.stEthPerToken()1.240774 stETHon-chain
Chainlink ETH/USD$1,839.52on-chain
Aave oracle WETH / wstETH$1,841.54 / $2,284.94on-chain

Aave’s implied wstETH/WETH ratio is 1.24080 against the on-chain exchange rate of 1.240774 — Aave prices wstETH off the exchange rate, not market price. Consequence: eMode liquidation is driven by Lido’s redemption rate, not by a stETH market depeg.

1.2 ETH borrow cost — every liquid mainnet venue

VenueBorrow APRBorrow APYNet of rewardsSpread vs 2.21%Usable capacity
Compound v3 WETH comet1.7343%1.749%~1.56% (COMP 0.19%)+65bp$22M to kink
SparkLend2.0157%2.036%2.036%+17bp$22M (borrow cap)
Aave v3 core2.1148%2.137%2.137%+7bp$758M
Fluid vault #132.31%2.31%2.31%−10bpnegative carry
Morpho Blue 96.5% LLTV2.58%2.58%2.58%−37bp$8.6M

The two cheapest venues are the two that cannot take the size. No incentive campaigns are liveapps.aavechan.com/api/merit/aprs returns null for every mainnet key including ethereum-borrow-weth; DefiLlama shows zero reward APY on all these pools.

1.3 Stablecoin borrow cost (Aave v3 core, including our own $8.4M of demand)

AssetBorrow APYAvailableUtilisationKinkBuffer to kink
USDT3.71%$495M83.53%92%8.47pp / $255M
GHO3.82% (fixed 3.75% APR)n/acap headroom 48.3M
USDC4.05%$191M91.03%92%0.58pp / $12.4M

Aave stablecoin reserves use slope1 = 4%, Uopt = 92%, slope2 = 100% — the rate climbs 12.5% APR per percentage point past the kink.

1.4 Stablecoin deployment venues

VenueAPYTVLWithdrawalRisk class
sUSDS (Sky Savings Rate)3.52%$4.64Binstant ERC-4626minimal — negative carry
Aave sGHO4.25%$143Minstantminimal
Fluid fUSDT4.41%$131.1Minstant while utilisation allowslending market
Centrifuge USDS4.50%$871Mredemption epochsRWA
Gauntlet USDC RWA4.54%$11.5MRWA, 100% concentrated
Centrifuge AUSD4.80%$373Mredemption epochsRWA
Fluid fUSDC4.83%$153.8Minstant while utilisation allowslending market
Steakhouse USDT4.92%$87.9M100% wstETH/USDT, 92% util
Smokehouse USDT5.04%$23.3M53% sUSDS, 92.2% util
Gauntlet USDT Frontier5.05%$11.4M48% Pendle PT, 91.6% util
Maple syrupUSDC5.06%$1.067Bqueue, worst case 30dprivate credit
stUSDS6.31%$190.3Mfirst-loss risk capital

Every venue at or below the 3.71% borrow cost is safe; every venue above it is paid-for risk. sUSDS at 3.52%, Aave USDC supply at 3.24%, Steakhouse USDC at 3.27%, Gauntlet USDC Prime at 3.44% are all negative carry.

1.5 Exit liquidity

CoW Protocol quotes, wstETH→WETH, inclusive of fee:

Order sizeSlippage
≤12,000 wstETH−2.6 to −5.6bp
20,000 wstETH−21 to −25bp
22,000 wstETH−33.5bp
≥24,000 wstETHrouting fails — unquotable

A single large DEX order carries heavy price impact and cannot be routed above ~22,000 wstETH. Mitigate with TWAP: 500-wstETH clips quote at −2.6bp, so 24,000 wstETH costs ~$14,300 spread over ~1 day. CoW supports native TWAP orders (ComposableCoW); fills are gasless to the taker.

wstETH suits TWAP unusually well — the pair is a deterministic exchange rate (no timing risk) and is arbitrage-anchored to Lido redemption, so impact mean-reverts between clips rather than accumulating. Clip quotes are independent spot quotes, so spread execution over a day rather than an hour.

Lido withdrawal queue: 5,343 stETH unfinalized, last request 131,497 vs finalized 131,369 — effectively empty. MAX_STETH_WITHDRAWAL_AMOUNT = 1,000 stETH, so a $60M exit splits into ~33 requests. Zero-slippage path for size, a few days.


2. Option 1 — Lend wstETH: does not exist

VenueStatusSupply APY
Aave v3 coreborrowEnabled = false — disabled by governance0.0000064%
SparkLendborrow cap = 1 — effectively disabled~0%
Compound v3collateral-only; no comet uses wstETH as basen/a
Morpho Bluecollateral not rehypothecated by design0%
Morpho — Smokehouse WSTETH vaultexists0.00%, $0.63M TVL
Morpho — 10 markets with wstETH as loan assetexist0% util, $0.64M total
Fluid fwstETHexists0.03%, 460 wstETH ($1.05M)

Cause: lending rates are paid by borrowers, and nobody wants to borrow a yield-bearing asset — you would pay interest and be short an asset appreciating 2.21%/yr against ETH. Aave and Spark did not merely fail to attract borrowers; governance actively disabled wstETH borrowing, because a market with no borrow demand is a liquidation surface with no offsetting revenue.

Conclusion: wstETH yields 2.21% and only 2.21%, wherever it is held. Any additional yield must come from borrowing against it.


3. Path 0 — Hold

MetricValue
Actionnone
Net APY2.21%
$/yr on $24M$530,400
Incremental risknone
Cost$0

Baseline for every path below.


4. Path A — ETH-correlated loop

Mechanics: supply wstETH → enable Aave eMode 1 → borrow WETH → swap to wstETH → re-supply → repeat.

Formula: net APY = L × 2.21% − (L−1) × borrowAPY(debt), with the borrow rate re-solved on Aave’s IRM after adding our own debt.

IRM calibration: the model carries a +5.23bp offset so it reproduces the on-chain rate (2.1148% APR) at the observed 80.7431% utilisation. Aave v3.2+ computes utilisation off virtual balances; the raw curve understates the rate without this.

4.1 The dollar gain is a function of debt alone

gain$ = Debt × (2.21% − borrowAPY(Debt))

Borrowing more earns the spread on more notional while compressing that spread on all of it. Optimises at a fixed point independent of equity:

EquityPeak leverageCollateralDebtBorrow APYNet APYGain$/yr
$18M4.05x31,905 wstETH29,812 WETH2.173%2.32%+11.1bp~$20,000
$24M3.28x34,504 wstETH29,779 WETH2.173%2.29%+8.3bp~$20,000
$30M2.83x37,156 wstETH29,812 WETH2.173%2.28%+6.6bp~$20,000

No leverage at any size in the $18–30M range reaches +20bp. At 5x on $24M the gap is 4bp — the borrow rate would need to be 2.160% instead of 2.201%, or Lido 2.251% instead of 2.210%.

4.2 Position parameters at $24M

ParameterValue
eMode1 “ETH correlated” — LTV 93% / LT 95% / 1% bonus
Collateral34,504 wstETH ($78.8M)
Debt29,779 WETH ($54.8M)
LTV / health factor69.6% / 1.37
Liquidation triggerwstETH/ETH exchange rate −26.8% (Lido slashing, not a market move)
Unwind swap24,000 wstETH ($54.8M)

4.2.1 Round-trip friction

Entry is nearly free: buying 24,000 wstETH quotes at −0.8bp ($4,572), because aggregators arbitrage against Lido’s mint (getCurrentStakeLimit() = 150,000 ETH available, not paused). Exit costs ~$14,300 via TWAP or $0 via the Lido queue (§1.5). Both routes de-lever progressively — withdraw within LTV headroom, sell/redeem, repay, repeat — so no flash loan is needed.

Round tripCostPayback on ~$20,000/yr
TWAP exit, iterative entry~$21,0001.1 years
Lido queue exit~$12,0000.6 years

Friction is not a reason to reject Path A.

4.3 Why the cheaper venues cannot be used

VenueConstraintMax usable
Compound v3 WETHU already 66.09%; only 12,157 WETH (~$22M) before the 30% slope-high. At 3x the rate hits 10.6%, net APY −14%~2x
SparkLendBorrow cap 419,256 vs 407,167 debt → 12,089 WETH (~$22M). Cap binds before liquidity ($115M available)~2x
Morpho Blue 96.5%$6.8M idle + $1.8M reallocatable = $8.6M; already negative carrynone
Fluid vault #13$164.6M vault, but 2.31% > 2.21% — negative carry at any leveragenone

Only Aave v3 core has depth: 412,038 WETH ($758M) available, borrow-cap headroom 672,350 WETH, wstETH supply-cap headroom 107,370 wstETH (Path A uses 32%).

4.4 Borrow-leg rate risk

Aave WETH utilisation reached 98.48% at block 25,018,766 (borrow 4.239% APR). IRM parameters changed during the window — Uopt 94%→92%, slope1 2.00%→2.35%, slope2 3.00%→6.00% between blocks 25,119,566 and 25,321,166 — so the series is not strictly comparable. Under today’s curve, 98.48% utilisation implies ~7.21% APR, which would make Path A deeply loss-making.

Verdict: reject — but on the gain, not on friction:

  1. ~$20,000/yr is the ceiling at any size (§4.1) — 8.3bp on $24M, and it does not scale with capital committed.
  2. 3.29x leverage is required to earn it, with a $54.8M debt position to manage.
  3. The borrow leg can reprice against you (§4.4) — WETH utilisation hit 98.48% within the quarter; under today’s curve that implies ~7.21% APR, which turns the position deeply loss-making.
  4. Exit must be TWAPed or queued (§4.2.1) — a single atomic unwind at this size cannot be routed on-chain, so an emergency de-lever is expensive and slow exactly when speed matters.

Friction does not kill Path A — round-trip is ~$21k, paying back in 1.1 years. The trivial, hard-capped gain does.


5. Path B1 — All-USDT → Fluid fUSDT

Mechanics: supply wstETH (no eMode) → borrow USDT → deposit fUSDT. No swap, no basis risk.

StepDetail
1. Supply10,503 wstETH → Pool.supply(). No eMode (it would restrict debt to WETH). LTV 78.5% max / LT 81% / 6% bonus
2. Borrow$8.4M USDT → Pool.borrow(USDT, 8_400_000e6, 2, 0, …) at 3.71% APY
3. DeployFluid fUSDT deposit() at 4.41%
MetricValue
LTV / health factor35% / 2.31
LiquidationETH ≤ $796 (−56.8%)
Spread+70bp
Net APY2.21% + 0.35 × 0.70% = 2.46%
vs hold+24.5bp — $58,800/yr
CapacityFluid free USDT $28.15M — uses 30%
Borrow-leg buffer8.47pp to kink
Round trip$3–5k, payback <1 month
Stress (USDT at 90d-max 4.10%)2.32% — still above hold

Risks: ETH-price liquidation · Fluid utilisation (deposit not withdrawable if borrowed out) · Fluid smart contract.

5.1 Why not a higher-yielding USDT venue?

Steakhouse USDT (4.92%) and Smokehouse USDT (5.04%) both post higher headline rates than Fluid’s 4.41%, and both are native USDT — no swap, no basis risk. Rejected for two measured reasons.

(a) Our own deposit lowers the rate. These vaults lend into Morpho markets at 90–93% utilisation. Steakhouse USDT is 100% allocated to the wstETH/USDT 86% market (0xe7e9694b754c4d4f7e21faf7223f6fa71abaeb10296a4c43a54a7977149687d2): $138.0M supply, $127.0M borrowed, 92.0% utilisation. Since supply APY = borrow APY × utilisation × (1 − fee):

HeadlineAfter our $8.4M enters
Market utilisation92.0%86.7%
Steakhouse USDT net APY4.92%~4.66%

And it continues falling: Morpho’s AdaptiveCurveIRM targets 90%, so post-deposit utilisation sits below target and the borrow rate drifts down further over subsequent days. Fluid dilutes too, but $8.4M is 6.4% of fUSDT against a much larger shared liquidity layer.

(b) Exit capacity — the binding constraint. Pro-rata claim on idle market liquidity against an $8.4M ticket:

VenueTVLOur ticket as % of vaultWithdrawable nowCoverage
Fluid fUSDT$131.1M6%$28.15M3.4x
Steakhouse USDT$87.9M10%$7.01M0.83x
Smokehouse USDT$23.3M36%$1.80M0.21x

Supply caps are not the constraint — both vaults have ample headroom ($3.7B and $999B nominal). The constraint is that 90%+ utilisation means only ~8% of each market is idle at any moment.

Net economics after dilution: Steakhouse still beats B1 — roughly +33bp / $79,800 vs +24.5bp / $58,800. The extra $21k/yr is real. It buys a position that is 83% exitable on demand, in a vault 100% concentrated in wstETH — the same asset already posted as Aave collateral.

Smokehouse fails on every axis: 36% of a $23.3M vault, 0.21x exit coverage, 20% allocated to Pendle PT-reUSD (a maturity-dated token) and 9% to reUSD.

Decision: B1 keeps Fluid fUSDT. B1’s purpose in this study is the path where every risk is bounded and exit takes minutes; substituting a venue with 0.83x exit coverage converts it into a worse-executed B3. If the higher yield is wanted, B3 buys it more cleanly — +47.3bp with an explicit redemption queue and a secondary market, rather than +33bp with silent illiquidity.


6. Path B2 — USDT → swap → Fluid fUSDC

Steps 1–2 as B1. Then swap USDT→USDC (~1–3bp via CoW or Curve 3pool), deposit fUSDC at 4.83%.

MetricValue
Spread+112bp
Net APY2.21% + 0.35 × 1.12% = 2.60%
vs hold+39.2bp — $94,080/yr
CapacityFluid free USDC $26.22M — uses 32%
Round trip$5–8k
Stress (USDT at 90d-max)2.47%

Additional risk vs B1: USDT/USDC basis — you owe USDT while holding USDC. Normally <10bp; a 1% adverse move costs $84k, about a year of the edge.


7. Path B3 — USDT → swap → Maple syrupUSDC

Steps 1–3 as B2. Deposit syrupUSDC at 5.06% (share price 1.176549 USDC).

MetricValue
Spread+135bp
Net APY2.21% + 0.35 × 1.35% = 2.68%
vs hold+47.3bp — $113,400/yr
CapacitysyrupUSDC $1.067B — uses 0.8%
Withdrawalqueue; usually minutes via instant-liquidity buffer, worst case 30 days; secondary exit on Uniswap/Balancer
Stress (USDT at 90d-max)2.55%

Additional risk vs B2: private credit default. Maple lends to leveraged crypto trading firms; the 135bp is a credit spread.

Correlation: a 57% ETH drawdown — the liquidation trigger — is precisely when those borrowers are most stressed and the redemption queue is longest. The ETH-price risk and the credit risk fire in the same tail event.


8. Path B4 — All-USDC → Maple syrupUSDC

The no-swap version of B3: borrow USDC directly, deploy to Maple.

MetricValue
Borrow$8.4M USDC at 4.05% APY
Spread+101bp
Net APY2.21% + 0.35 × 1.01% = 2.56%
vs hold+35.4bp — $84,840/yr
Borrow-leg buffer0.58pp to kink
Stress (USDC at 90d-max 5.14%)2.18%below hold

8.1 Best USDC borrow venue — Aave v3 core, by elimination

VenueBorrow APYUsable capacityVerdict
Aave v3 core4.05%$191M availableonly venue with size
Morpho 0x7e585a93… 86%3.97%$1.26M idle + $58.03M reallocatableadaptive IRM — see below
Morpho 0xb323495f… 86%3.96%$3.01M idle, $21.8k reallocatabletoo thin
Compound v3 USDC4.05% (3.94% net COMP)$3.4M to kinkunusable
Euler v23.94%$7.5M at 88.7% utiltoo thin
SparkLend4.19%$2.3Mtoo thin
Dolomite5.11%$31.8Mtoo expensive
Aave side-instance2.40%$5.2Mtoo thin

Compound v3 USDC does accept wstETH (borrowCF 82%, liqCF 86%, supply cap 75,000 vs 39,254 posted), but sits at 89.01% utilisation against a 90% kink with slopeHigh = 360%.

Morpho’s adaptive IRM: AdaptiveCurveIRM targets 90% utilisation and ratchets the rate upward over days while above target. The 3.97% would not survive our $8.4M. Direct evidence: the Morpho wstETH/USDT market — identical collateral, identical 86% LLTV — sits at 92.1% utilisation paying 5.68%, 172bp higher purely from utilisation drift.

8.2 Sensitivity to Aave USDC utilisation

Maple deploy leg fixed at 5.06%:

Aave USDC utilBorrow APYSpreadNet APYvs hold$/yr
91.02% (today)4.04%+102bp2.57%+35.8bp+$85,954
92.00% (at kink)4.08%+98bp2.55%+34.3bp+$82,229
92.08% ← observed5.13%−7bp2.19%−2.3bp−$5,637
92.50%10.79%−573bp0.20%−200.7bp−$481,633
93.00%17.94%−1288bp−2.30%−450.8bp−$1,081,862

The distance from “working” to “worse than doing nothing” is 0.08pp of utilisation. One point past the kink is a −2.30% absolute loss.

8.3 Observed utilisation history — 14 weekly on-chain samples, ~90 days

USDCUSDT
Utilisation range (balance-derived)87.12% – 92.81%72.62% – 92.02%
Samples past the 92% kink2 of 141 of 14, marginally
Highest borrow APR observed5.0098% (= 5.1374% APY)4.019% (= 4.101% APY)
Typical distance from kink1–5pp8–19pp

Utilisation note: balance-derived utilisation (totalDebt / totalAToken) runs up to 0.73pp above Aave’s internal virtual-balance measure. IRM parameters were verified identical across all sampled blocks for both stablecoin reserves (Uopt 92%, base 0, slope1 4%, slope2 100%), so the observed borrow APR is ground truth and utilisation is back-solved from it.

8.4 Why B4 is worse than the USDT paths

On raw spread cushion B4 is more robust than B1:

PathSpread must compress byMechanism
B170bpgradual market repricing
B4101bpone step across a kink
B2112bpgradual market repricing
B3135bpgradual market repricing

B4’s cushion is not thin — it is erasable in a single mechanical step. B1 requires Fluid and Aave USDT rates to genuinely converge, which is visible and exitable. B4 requires one basis point of utilisation drift across a threshold crossed twice in fourteen weeks, repricing instantaneously.

Verdict: reject. Removing the swap makes the position more fragile, not less — trading ~10bp of mean-reverting basis risk for a discontinuous ~110bp jump, on a trade whose entire upside is 35bp.


9. Rejected options

OptionHeadlineWhy rejected
Steakhouse USDT+33bp after dilution100% in wstETH/USDT at 92% util; our deposit drops the rate 4.92%→~4.66%; exit coverage 0.83x — see §5.1
Smokehouse USDT+47bp headlineOur ticket = 36% of a $23.3M vault; exit coverage 0.21x; 20% Pendle PT — see §5.1
stUSDS+91bpExplicitly Sky’s first-loss risk-capital tranche — absorbs staked-SKY loan shortfall and governance slashing. Higher risk than Maple despite the issuer
Maple syrupUSDT+17bpSame credit risk as B3 for a third of the return
Aave sGHO+15bpSafe but thin; GHO borrow cap headroom only 48.3M
Centrifuge USDS / AUSD+28 to +38bpRWA redemption epochs conflict with needing liquidity in a drawdown
Gauntlet USDC RWA+29bp$11.5M TVL, 100% single-asset concentration
sUSDS, Aave USDC, Steakhouse USDC, Gauntlet Prime3.24–3.52%Negative carry — below the 3.71% borrow cost
saturn sUSDAT 25.3%, apyx APXUSD 14.0%, pareto-credit 8.31%, 3jane USD3 6.96%Exotic or unproven at this size
Compound v3 / SparkLend ETH loopsCap-bound at ~$22M; blow out their rate curves above ~2x
Morpho wstETH marketsCollateral earns nothing; loan-side liquidity $3–11M

Not evaluated (outside a passive “deposit for a %” mandate): Pendle fixed-rate/PT markets · wstETH/ETH LP (LVR economics not assessed here) · restaking (EigenLayer, Symbiotic) · L2 venues. The staking-yield constraint is chain-independent, so loop economics do not improve on L2s, though borrow rates differ.


10. Master comparison

Basis: $24M equity = 10,503 wstETH · ETH $1,841.54 · wstETH $2,284.94 · Lido 2.21% · block 25,673,966.

Every computed cell below was independently re-derived from the stated inputs. Rates re-checked live at block 25,675,104 (+1,138 blocks): WETH borrow 2.1345% APY, USDT 3.7007%, USDC 4.0392%, Lido 7d SMA 2.2066%, fUSDT $131.13M, fUSDC $153.74M, syrupUSDC $1.0666B — all within rounding of the figures used.

0. HoldA. ETH loopB1. All-USDTB2. USDT→USDCB3. MapleB4. All-USDC→Maple
Structureunencumberedleveraged stakingborrow & redeployborrow & redeployborrow & redeployborrow & redeploy
Collateral venuewalletAave v3 coreAave v3 coreAave v3 coreAave v3 coreAave v3 core
eMode1 “ETH correlated”nonenonenonenone
Max LTV / LT93% / 95%78.5% / 81%78.5% / 81%78.5% / 81%78.5% / 81%
wstETH posted10,503 (held)34,50410,50310,50310,50310,503
Collateral value$24.0M$78.8M$24.0M$24.0M$24.0M$24.0M
Collateral yield2.21%2.21%2.21%2.21%2.21%2.21%
Debt assetWETHUSDTUSDTUSDTUSDC
Debt amount29,779 WETH$8.4M$8.4M$8.4M$8.4M
Debt value$54.8M$8.4M$8.4M$8.4M$8.4M
Borrow APY2.173%3.71%3.71%3.71%4.05%
Buffer to rate kink11.3pp8.47pp8.47pp8.47pp0.58pp
Actual LTV0%69.6%35%35%35%35%
Health factor1.372.312.312.312.31
Liquidation triggernonewstETH/ETH −26.8%ETH ≤ $796 (−56.8%)ETH ≤ $796ETH ≤ $796ETH ≤ $796
Swap requirednoyes (loop + unwind)noyesyesno
Deploy venuewstETH re-suppliedFluid fUSDTFluid fUSDCMaple syrupUSDCMaple syrupUSDC
Deploy APY2.21%4.41%4.83%5.06%5.06%
Spread+4bp+70bp+112bp+135bp+101bp
NET APY2.21%2.29%2.46%2.60%2.68%2.56%
vs hold+8.3bp+24.5bp+39.2bp+47.3bp+35.4bp
Incremental $/yr~$20,000$58,800$94,080$113,400$84,840
Total $/yr on $24M$530,400$550,400$589,200$624,480$643,800$615,240
Net APY at 90d-max borrow rate2.21%loss-making2.32%2.47%2.55%2.18% ⚠ below hold
Binding capacitynone32% of Aave wstETH cap30% of Fluid free USDT32% of Fluid free USDC0.8% of syrupUSDCAave USDC kink, not size
Round-trip friction$0~$21k (TWAP exit)$3–5k$5–8k$5–8k$3–5k
Exit timeinstant~1 day TWAP, 2–4 weeks queuedminutesminutesminutes–30 daysminutes–30 days
Payback on friction1.1 yrs<1 month<1 month<1 month<1 month
Primary risknonetrivial hard-capped gain; WETH rate spikesETH liquidation; Fluid utilisation+ USDT/USDC basis+ private credit defaultAave USDC kink + private credit
Verdictrecommendedreject★ best if deployingacceptablerisk not compensatedreject

Route B: net APY = 2.21% + 0.35 × (deployAPY − borrowAPY) · Route A: L × 2.21% − (L−1) × borrowAPY at L = 3.28x ($78.8M / $24M).

What would change the conclusion

  1. Lido APR above ~3% — requires validator exits or a sustained fee-market recovery
  2. WETH borrow rates fall — Aave core WETH at 80.7% utilisation against a 92% kink; a large supply inflow drops it toward the 0% base rate
  3. Incentives return — a Merit or COMP campaign. Compound’s WETH comet already pays 0.19% on borrow
  4. Spark or Compound raise caps — both are cheaper than Aave and cap-bound, not liquidity-bound. Spark’s WETH borrow cap moving 419,256 → ~500,000 opens ~$170M at 2.04%

Target: a ≥75bp staking-yield-to-borrow-cost spread. Currently +7bp on the venue with size.


11. Sources and contracts

Contracts (all reads at block 25,673,966)

ContractAddress
wstETH0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
WETH0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
USDT0xdAC17F958D2ee523a2206206994597C13D831ec7
USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
GHO0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f
USDS0xdC035D45d973E3EC169d2276DDab16f1e407384F
Aave v3 Pool0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2
Aave v3 PoolDataProvider0x0a16f2FCC0D44FaE41cc54e079281D84A363bECD
Aave v3 AddressesProvider0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e
Aave v3 Oracle0x54586bE62E3c3580375aE3723C145253060Ca0C2
Aave stablecoin IRM0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB
SparkLend Pool0xC13e21B648A5Ee794902342038FF3aDAB66BE987
SparkLend DataProvider0xFc21d6d146E6086B8359705C8b28512a983db0cb
Compound v3 WETH comet0xA17581A9E3356d9A858b789D68B4d866e593aE94
Compound v3 USDC comet0xc3d688B66703497DAA19211EEdff47f25384cdc3
Morpho Blue0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb
Fluid Liquidity Layer0x52Aa899454998Be5b000Ad077a46Bbe360F4e497
Fluid Lending Resolver0xC215485C572365AE87f908ad35233EC2572A3BEC
Fluid fUSDT ($131.1M)0x5C20B550819128074FD538Edf79791733ccEdd18
Fluid fUSDC ($153.8M)0x9Fb7b4477576Fe5B32be4C1843aFB1e55F251B33
Fluid fwstETH (460 wstETH)0x2411802D8BEA09be0aF8fD8D08314a63e706b29C
Maple syrupUSDC ($1.067B)0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b
Sky sUSDS0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD
Sky stUSDS0x99CD4Ec3f88A45940936F469E4bB72A2A701EEB9
Steakhouse USDT vault0xbEef047a543E45807105E51A8BBEFCc5950fcfBa
Lido withdrawal queue0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1
Chainlink ETH/USD0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
Curve stETH/ETH0xDC24316b9AE028F1497c275EB9192a3Ea0f67022

Morpho market IDs (both wstETH collateral / USDC loan, 86% LLTV — see §8.1):

MarketID
$23.5M supply, 3.96% borrow0xb323495f7e4148be5643a4ea4a8221eef163e4bccfdedc2a6f4696baacbc86cc
$9.7M supply, 3.97% borrow, $58.03M reallocatable0x7e585a933ffe8443c371b4f8cfeb4430f5f6a14c2f32a898c26662c67a1cb8b8

APIs (all accessed 2026-08-03)

SourceEndpointUsed for
Lidoeth-api.lido.fi/v1/protocol/steth/apr/sma, /laststaking APR
DefiLlamayields.llama.fi/pools, /lendBorrowvenue sweep, cross-check
Morphoapi.morpho.org/graphqlmarkets, vaults, allocations, reallocatable liquidity
Fluidapi.fluid.instadapp.io/v2/1/vaultsvault rates
CoW Protocolapi.cow.fi/mainnet/api/v1/quoteswap depth
Aave Chanapps.aavechan.com/api/merit/aprsincentive check (all null)
Mapledocs, syrupUSDC scalewithdrawal mechanics
SkystUSDS, protocol docsstUSDS risk-capital structure

Verification log

ClaimMethodResult
Lido APR 2.21%Lido API SMA + /last; DefiLlama; Rocket Pool cross-check✓ 3 independent sources
wstETH rate 1.240774stEthPerToken()
Aave prices wstETH off exchange rateOracle ratio 1.24080 vs on-chain 1.240774
Aave wstETH LTV 78.5% / LT 81%getReserveConfigurationData → 7850/8100/10600
Aave eMode 1 = 93%/95%/1%getEModeCategoryCollateralConfig(1) → (9300, 9500, 10100); collateral bitmap bits {0,1} = WETH+wstETH; borrowable bitmap = bit 0 = WETH only
Aave WETH borrow 2.1148% APRgetReserveData var rate 2.1148e25 / 1e27
Aave WETH IRMgetInterestRateData → Uopt 92%, base 0, slope1 2.35%, slope2 6%✓ raw curve gives 2.0625% vs on-chain 2.1148% → +5.23bp calibration applied
Aave WETH available $758M2,139,688.77 supplied − 1,727,650.38 debt
Aave wstETH cap headroom 107,370getReserveCaps 1,000,000 − 892,630.50
Aave USDC/USDT IRM identical across samplesgetInterestRateData at 3 blocks → Uopt 92%, slope1 4%, slope2 100%
Aave USDC crossed kink twice / 14 samplesgetReserveData weekly, 90d; observed 5.0098% and 4.2737% APR
Aave WETH IRM changed mid-windowUopt 94%→92%, slope1 2.00%→2.35%, slope2 3.00%→6.00%✓ series not strictly comparable
Spark wstETH 83%/84%, eMode 92%/93%getReserveConfigurationData; getEModeCategoryData(1) → (9200, 9300, 10100, 0x0, “ETH”)
Spark WETH borrow cap headroom 12,089getReserveCaps 419,256 − 407,167.13✓ binding constraint
Compound v3 WETH borrow 1.7343% APRgetBorrowRate(getUtilization()), U=66.09%✓ reproduces from IRM
Compound v3 WETH IRMborrowPerSecondInterestRate* × 31,536,000 → base 1.0%, slopeLow 1.111%, kink 90%, slopeHigh 30%✓ exactly reproduces rate
Compound v3 USDC accepts wstETHgetAssetInfoByAddress → borrowCF 82%, liqCF 86%, cap 75,000 vs 39,254 posted
Compound v3 USDC $3.4M to kinkU 89.01%, kink 90%, slopeHigh 360%
sUSDS 3.52%ssr() = 1.000000001096988989836188433 → r^31536000 − 1
stUSDS 6.31%str() = 1.000000001940295800728849590; totalAssets 190,292,092 USDS
Aave GHO 3.75% APR fixed, RF 100%getReserveData / getReserveConfigurationData
syrupUSDC $1.067BtotalAssets() = 1,066,875,927.909197 USDC; share price 1.176549✓ DefiLlama’s $2.54B aggregates Maple institutional pools beyond syrupUSDC
fUSDT $131.1M / fUSDC $153.8MtotalAssets() via Fluid Lending Resolver getAllFTokens()
Fluid free USDT $28.15M / USDC $26.22MbalanceOf(FluidLiquidityLayer)
Steakhouse USDT 100% wstETHMorpho GraphQL vault allocation
No wstETH lending marketMorpho: 10 markets, $0.64M, 0% util; Fluid fwstETH 460 wstETH @ 0.03%
No Merit incentivesapps.aavechan.com/api/merit/aprs — all mainnet keys null
Swap depthCoW Protocol /api/v1/quote
Lido queue near-emptyunfinalizedStETH() = 5,343 stETH; last 131,497 / finalized 131,369

Discarded data: aggregator quotes fail to route large wstETH sells and return nonsense — Paraswap above 1,000 wstETH (−50% to −92%), CoW at ≥24,000 wstETH (a 24,000 quote returned 1,618 WETH, −9457bp). Validate any single large quote against the size curve before using it as a cost. DefiLlama’s chartLendBorrow endpoint is paywalled; utilisation history was sampled directly on-chain instead.

Unit convention: bp for rate spreads and execution costs · % for levels and price moves · pp for gaps between two percentages.