Bottom line
Proposed, not opened. The Performance Safe would pledge 8,218.63 wstETH ($25.0m at the pinned oracle price of 3,041.87 crvUSD) to Curve’s crvUSD wstETH market, borrow 10.0m crvUSD at 40% LTV, swap it to GHO on CoW (measured 1.05bp for the full clip) and deposit into sGHO at its 4.50% target rate. Staking yield stays embedded in the pledged wstETH. On 1 September Aave governance raised the sGHO target from 4.25% to 4.50% and the GHO base borrow rate from 2.00% to 2.50%; the second change does not touch this variant’s borrow leg.
At the pinned block the borrow rate is 1.6665% APR (1.6805% APY), a spread of 282.0bp on the debt (~$282k/yr per 10m). The rate is on a measured upward path: the rate policy smooths the market’s debt ratio with a 9-day EMA, market debt tripled from 9.91m to 32.02m crvUSD in late August, and the EMA still partly reflects the pre-jump level. A fork with the loan in place (block 25,881,818, same day) converges to 3.0141% APR within 90 days — a spread of 144.0bp ($144k/yr) at the 4.50% target. Between the 28 August pin and this one the applied rate moved 1.2520% → 1.6665% APR, consistent with that convergence path. After convergence the rate floats on the crvUSD peg. The same-block benchmark — GHO borrowed directly on Aave V3 Prime against wstETH, as in the approved Aave variant — carries a 76.2bp spread.
The full entry and exit paths were fork-simulated at size at same-day pins. Soft-liquidation begins after a 53.6% fall in the wstETH oracle price. The largest measured risks are the peg-linked floating borrow rate (R1) and sGHO’s policy-set yield, currently funded 5.33 days ahead (R2); the 1 September target and borrow-curve change is direct evidence that both sGHO legs move by governance vote. Unresolved: the identity of the Curve factory admin contract and the historical borrow-rate distribution.
Mechanism and true exposure
One collateralised CDP, no loop. The Safe pledges wstETH into Curve’s LLAMMA market (controller 0x100dAa78…C6CE, AMM 0x37417B2…06e4), mints crvUSD, swaps it once to GHO via CoW, and deposits the GHO into sGHO. Debt is denominated in crvUSD; the asset leg is GHO — two different dollar pegs, so the position carries stable-to-stable basis in both directions plus a swap on entry and on exit. sGHO sits entirely outside the Curve account and does not support the loan.
The label is “savings yield on idle collateral”; the true exposure is the union of: Curve controller solvency and LLAMMA liquidation mechanics, the LLAMMA wstETH/crvUSD oracle (0xc1793A…06Ad), the crvUSD peg in both directions (a discount raises the borrow rate; a premium raises the cost of buying crvUSD back to repay), CoW settlement on the two swaps, Aave-governance control of the sGHO target rate and its funding, the GHO peg at exit, and Lido/stETH beneath the collateral. Leverage layers between root and position: one (the CDP); the swap and the wrapper add basis, not leverage.
Liquidation is LLAMMA soft-liquidation, not a one-shot: the loan occupies price bands ($1,410.66 down to $1,275.77 at N=10 against the $3,041.87 oracle). If price falls into the band range the AMM progressively converts collateral to crvUSD, and churn through the bands erodes collateral continuously; hard liquidation occurs only if health (6% liquidation discount) goes negative. Entry into the band range requires a 53.6% oracle-price fall from the pin.
Scenario at Ethereum block 25,883,293; this is a proposed position, not an open one. “Buy crvUSD” in the exit is the GHO→crvUSD swap needed to repay.
Net economics, benchmark and capacity
All yield legs are organic cashflow: crvUSD borrow interest (paid), sGHO deposit yield (received; funded by Aave’s GHO revenue at a governance-set target), staking accrual retained in wstETH. Nothing here is token emissions. There is no management, performance, entry or exit percentage fee; costs are the borrow rate, two swaps and gas.
| Measure | At pinned block | At frozen-state convergence |
|---|---|---|
| crvUSD borrow rate | 1.6665% APR / 1.6805% APY | 3.0141% APR / 3.0600% APY |
| sGHO target rate | 4.50% APR | 4.50% APR (policy-set) |
| Spread on 10.0m debt | 282.0bp (~$282k/yr) | 144.0bp (~$144k/yr) |
| Entry swap cost (measured, 2026-09-01) | 1.05bp on 10.0m crvUSD→GHO | — |
| Soft-liquidation buffer | −53.6% in wstETH oracle price | unchanged by rate |
The borrow rate is rate0 · e^((1−p)/σ − pegkeeper-debt term) · a ceiling-utilisation factor (Curve monetary-policy docs and AggMonetaryPolicy v4, accessed 28 August 2026), with on-chain rate0 = 5.0% APR and σ = 0.008. Three measured properties, from forks of the pinned block:
- Instant impact of our size is negligible; the converged rate is not. Borrowing 10.0m moved the applied rate by +0.001% relative at the pin — there is no Aave-style utilisation kink, and the per-market ceiling factor is ×1.028 at today’s 21.9% ceiling utilisation, doubling only near 90%. The added debt raises the market’s debt ratio, which raises the converged rate (measured at the 28 August pin: 2.64% APR with the loan against 2.41% without, ~+9.5% relative).
- The pinned rate is below its own equilibrium. The policy applies a 9-day EMA (
debt_ratio_ema_time= 777,600s) to the market’s debt ratio. Market debt rose from 9.91m (block 25,817,700, ~23 August) to 32.02m crvUSD (28 August); the EMA still partly reflects the pre-jump level, and the rate rises as it converges: 1.65% → 2.28% (9 days) → 3.01% APR (~90 days, loan in place) on a fork with all state frozen except time. The 28 August → 1 September movement of the live rate (1.2520% → 1.6665% APR) followed that path. Peg-keeper debt was zero at every sampled block over the prior month (five keepers enumerated from the policy contract), so the documented peg-keeper discount term is not the active driver; the exact formula decomposition remainsUNVERIFIED(target_debt_fraction()reads 1e18 and does not reconcile the observed rate). - Peg sensitivity: with σ = 0.008, a 1¢ crvUSD discount alone multiplies the rate ≈3.5×. Aggregated crvUSD price at the pin: $0.999966.
Benchmark. The closest investable comparators are (a) borrowing GHO directly on Aave V3 Prime against wstETH, as in the approved Aave-variant memo — at this block the GHO variable borrow rate is 3.6697% APR (3.7378% APY) after the 1 September base-rate increase, a 76.2bp spread to the same sGHO target, with no swap legs and one peg; and (b) holding wstETH unlevered. This variant’s spread is 282.0bp at the pin and 144.0bp at frozen-state convergence, and adds crvUSD peg exposure, two swaps and the LLAMMA liquidation mechanism. The 1 September change moved the two variants in opposite directions: the shared sGHO leg rose 25bp for both, while the +50bp GHO base-rate increase raised only the Aave variant’s borrow cost.
Capacity. The market has 117.03m crvUSD immediately borrowable (32.98m total debt, 93 loans, 150m ceiling); max_borrowable against the $25m pledge is 21.54m, so 10.0m uses 46.4% of the credit line. sGHO accepts 238.5m more GHO (maxDeposit); sGHO assets grew 158.8m → 161.5m in the hours after the target increase. Marginal capital does not compress the spread through rates; every additional sGHO deposit enlarges the funding Aave must supply at the 4.50% target, which is policy risk (R2) — sGHO’s rate does not dilute mechanically, it is changed by vote.
Exit, cost and latency
Fork-simulated at block 25,881,818 (same day, earlier pin), impersonating the Safe:
- Entry: approve wstETH →
create_loan(8,186.09 wstETH, 10.0m crvUSD, N=10); health 1.3767 (full); 10.0m crvUSD received. Executed. - sGHO round trip at size: 10.0m GHO deposit, then a single redemption of the Safe’s entire 21.08m-GHO stake (new 10m plus the live 11.08m position) — both executed instantly; sGHO cash was 158.93m against 158.82m of assets. Executed.
- Full exit: approve crvUSD to the controller (repay reverts without it — runbook item), then one
repaycloses the loan and returns all 8,186.09 wstETH in the same transaction. Executed.
The normal exit is: redeem sGHO → swap GHO→crvUSD on CoW → repay → collateral returns. It needs three of the six Safe signatures; direct cost is the return swap (same-day forward quote 1.05bp; the reverse direction and stressed depth were not measured) plus gas. Repayment needs no controller liquidity — crvUSD is burned — so exit does not compete with other borrowers; the binding constraints are sGHO cash (161.62m at the pin against our 10.0m) and the GHO→crvUSD swap. A crvUSD premium above $1 raises the buy-back cost; the correlation between premium states and low borrow rates was not verified this session. In soft-liquidation the AMM may hold part of the collateral as crvUSD, changing the repay/withdraw composition; that path was not simulated.
Risks
Monitor spec deferred until an approval decision per pipeline.md; every ID below is explicitly deferred.
| ID | Risk | Mechanism and evidence |
|---|---|---|
| R1 | Floating peg-linked borrow rate | Pinned 1.67% APR sits below its measured equilibrium: the fork converges to 3.01% APR in ~90 days with the loan in place, and the live rate rose 1.25% → 1.67% APR between the 28 August and 1 September pins along that path; a 1¢ crvUSD discount multiplies the rate ≈3.5× (σ = 0.008, rate0 = 5.0%); the spread can compress or invert without any action by us |
| R2 | sGHO funding and rate policy | 4.50% target is Aave-governance-set, not market-derived, and moved 4.25% → 4.50% by vote on 1 September together with a +50bp GHO base-rate increase; funding excess at the pin is 106,177 GHO ≈ 5.33 days of runway; withdrawals are first-come if underfunded; our 10m raises required funding ~6% |
| R3 | LLAMMA soft-liquidation and oracle | Band range $1,411–$1,276 (−53.6% to entry); inside the range collateral churns to crvUSD continuously; oracle is Curve’s own contract 0xc1793A…06Ad, not re-derived this session; oracle error is a direct liquidation surface |
| R4 | crvUSD↔GHO denomination mismatch | Debt and asset are different pegs; entry swap measured 1.05bp at 10m (2026-09-01) and 2.94bp (2026-08-28), but stressed and reverse-direction depth UNVERIFIED; simultaneous GHO discount and crvUSD premium widens the unwind cost on both legs |
| R5 | Exit buy-back | Repay requires acquiring crvUSD at exit time; sGHO cash coverage (161.6m) and CoW GHO→crvUSD depth can both deteriorate between approval and execution; sGHO pause blocks step one of the exit |
| R6 | Control plane and concentration | Curve factory admin is an unidentified 1,626-byte contract 0xb7400D2E…fB79 (UNVERIFIED) that can replace the monetary policy (rates up to 300% APY cap) and change ceilings; sGHO target and funding sit with Aave governance; collateral value depends on Lido |
| R7 | Wallet control | Safe v1.4.1 at 3-of-6 (threshold re-read at this pin); all six owners verified bare EOAs (codesize 0) on 28 August; three keys move everything; signer compromise graph not assessed |
Trust and control
Funds: 3 of 6 — Performance Safe owner keys; three signatures can pledge, borrow, redeem and transfer everything. No module or guard was checked beyond owner composition. Within the protocols, no single external key was identified that can seize the pledged collateral; the Curve factory admin’s powers are parametric (monetary policy, ceilings, fee collection), not custodial — this is asserted from the documented interface, and the admin’s own controller (identity, threshold, timelock) is UNVERIFIED.
Liveness / economics: 1 contract — whatever controls 0xb7400D2E…fB79 can install a different monetary policy (up to the 300% APY cap), which forces an exit but cannot block repayment. On the asset side, Aave governance (one-day executor for ordinary changes, seven-day for core, per the approved Aave-variant memo) can cut the sGHO target or stop funding; an sGHO pause (currently false) blocks redemption, the first exit step.
Evidence boundary
Pinned and reproducible. All reads at Ethereum block 25,883,293, hash 0x192a3398dd935d2b28119577480bc7e023a08af52ff34902678aa03ac528ea75 (2026-09-01, 15:20 UTC), including the sGHO target change (425 → 450) and the Aave GHO base-rate change (2.00% → 2.50%). Two earlier pins are retained where noted: 25,881,818 (same day; fork simulations and the rate-convergence experiment) and 25,854,632 (2026-08-28; rate-path baseline, no-loan convergence control, owner-composition checks). Contract addresses derived on-chain in-session: crvUSD minter() → ControllerFactory 0xC9332f…38BC → wstETH controller, AMM, monetary policy, oracle. Entry, sGHO round-trip, full repay/withdraw and the rate-convergence experiment ran on anvil forks of the pinned block (the 28 August control run without the loan isolates the EMA drift; the aggregated crvUSD price stayed flat throughout, excluding a price-EMA artifact). The Aave V3 Prime GHO variable borrow rate (3.1697% APR) was read from the protocol data provider at the same block. snapshot.json holds the pinned inputs; scripts/refresh.sh reproduces the reads.
External inputs. CoW Swap quote API, 10.0m crvUSD→GHO: 2026-09-01 (9,998,945 GHO out, 1.05bp incl. fee) and 2026-08-28 (9,997,056 GHO out, 2.94bp). Curve monetary-policy documentation pages, accessed 28 August 2026. sGHO address and Aave governance timelocks from the approved aave-wsteth-gho-sgho-carry memo (21 August 2026).
Unresolved. (1) Identity and control of the Curve factory admin contract. (2) Historical crvUSD borrow-rate and peg distribution — an archive sweep is needed to bound R1 beyond the frozen-state convergence. (3) Stressed and reverse-direction swap depth for R4/R5; only same-day forward quotes exist, and the D4 stress haircut cannot be computed from two observations. (4) Controller repay-path pausability from source. (5) External risk research (e.g. LlamaRisk crvUSD reviews) and Curve audit coverage were not reviewed. (6) Lido staking APR was not measured; the wstETH accrual leg is quoted nowhere in this memo. (7) The Safe’s wstETH balance fell from 25,114.68 (21 August) to 18,614.68 (28 August, unchanged at this pin) and its sGHO position fell from 12.405m to 11.078m GHO between 28 August and 1 September; neither outflow was traced.