1. Overview:
Remove all remaining Arks across every Fleet that still has a registered Ark set, leaving each Fleet as a buffer-only, withdrawal-only ERC-4626 shell. This is the second and final round following SIP2.59 / SIP7.3, which removed only the legacy Arks already at deposit cap 0. Each network is handled in its own sub-SIP and its own Governance vote (SIP2.60.1–4).
2. Motivation:
SIP2.59 and SIP7.1/3 removed the legacy, zero-cap Arks and re-opened the paused Fleets for withdrawals. The Arks that remained were the active set, the ones that could not be capped to 0 at the time, or that were still in productive use.
With deposits capped at zero across the protocol, the Fleets withdrawal-only, and the Labs Co. winding down, that active set no longer serves a purpose. Every registered Ark remains counted in NAV and is therefore still part of the share-price surface the July 6 exploit abused; it is also strategy and accounting surface that will not be actively risk-managed once the transition completes. Removing all of them leaves each Fleet maximally simple and permissionlessly redeemable.
Unlike SIP2.59, no setTipRate(0) is required, tip rates were already zeroed in the first round.
Connected RFC: [RFC] Neutralize All Vaults to Withdrawal-Only Shells
3. Specification:
Each sub-SIP is one on-chain proposal covering one network, executing removeArk() for every remaining Ark on that network’s Fleets. Two sub-SIPs carry additional, explicitly disclosed actions:
- Sonic (SIP2.60.3) performs a bounded Raft loss-socialization on two Silo Arks before removing them, because residual bUSDC share balances are blacklisted from sweeping and block a clean deregistration.
- Mainnet (SIP2.60.4) additionally
unpause()sLazyVault_LowerRisk_USDC, one of the exploited Fleets, so its final Ark can be removed.
Proposals originate on the Base governor and, for non-Base Fleets, relay via LayerZero to the destination-chain timelock. Per-network details, addresses and Ark lists are in the sub-SIPs below.
4. Risk Assessment:
Mechanical/low-change for the Ark removals with @Recognized_Delegates sign-off on the DAO-managed Fleets. Key points:
- Removing an Ark takes it out of the Fleet’s active set and out of NAV, closing the donation/price-manipulation vector identified in the post-mortem. Each Ark is divested to the Fleet buffer as part of deregistration; withdrawals remain available throughout and share price is preserved.
- Unlike round 1, these Arks are not all at cap
0, so we should confirm per Ark that the position can be exited cleanly without slippage, queued/async redemption delays, or stranded balances. Two known cases: Origin-weth onLazyVault_HigherRisk_WETH(async OETH redemption, the market must be exited before execution) and the two Sonic Silo Arks (handled via the socialization sequence in SIP2.60.3). - No user funds are moved by these votes beyond making them withdrawable. The only value transfers are the two small Sonic sweeps (9,830 and 640 bUSDC shares) disclosed in SIP2.60.3.
- The Mainnet
unpause()re-enables withdrawals on an exploited Fleet and is gated onchain by the minimum pause time; it should be confirmed consistent with the SIP1.7 market-withdrawals process and the SIP1.9 Merkl distribution.
5. Voting:
Each sub-SIP is voted independently.
If YES - execute that network’s cleanup.
If NO - leave those Fleets unchanged.
Sub-SIPs (SIP2.60.X)
[SIP2.60.1] Remove all remaining Arks (Base Fleets)
| Parameter | Value |
|---|---|
| Fleets | LazyVault_LowerRisk_EURC, LazyVault_LowerRisk_USDC, LazyVault_LowerRisk_WETH |
| Network | Base |
| FleetCommanders | 0x64Db8f51f1bf7064BB5A361a7265F602d348E0f0, 0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17, 0x2bb9ad69FEBA5547b7cD57aAfe8457D40bF834af |
| Arks removed | 14 (4 + 7 + 3) |
| Unpause fleet | No (not paused) |
| Set tip rate | Already 0 |
| Risk mgmt | ba-risk-managed |
| Execution | Direct on Base timelock (no relay) |
Actions (in order):
removeArk() × 4 on EURC; removeArk() × 7 on USDC; removeArk() × 3 on WETH.
Arks removed:
LazyVault_LowerRisk_EURC: MorphoV2Vault-eurc-Steakhouse_Prime_EURC-8453, MorphoVault-eurc-Moonwell_Flagship_EURC-8453, MorphoV2Vault-eurc-Gauntlet_EURC_Balanced-8453, AaveV3-eurc-8453
LazyVault_LowerRisk_USDC: AaveV3-usdc-8453, MorphoVault-usdc-Spark_USDC-8453, CompoundV3-usdc-8453, MorphoVault-usdc-Steakhouse_USDC-8453, SkyUsds-usdc-8453, MorphoVault-usdc-Moonwell_Flagship_USDC-8453, MorphoVault-usdc-Gauntlet_USDC_Prime-8453
LazyVault_LowerRisk_WETH: AaveV3-weth-8453, MorphoVault-weth-Steakhouse_WETH-8453, MorphoVault-weth-Moonwell_Flagship_WETH-8453
Voting:
If YES - execute the above for the three Base Fleets (remove all remaining Arks).
If NO - leave the Fleets unchanged.
[SIP2.60.2] Remove all remaining Arks (Arbitrum Fleets)
| Parameter | Value |
|---|---|
| Fleets | LazyVault_LowerRisk_USDC_2, LazyVault_LowerRisk_USDC, LazyVault_LowerRisk_USDT |
| Network | Arbitrum |
| FleetCommanders | 0x71d77C39dB0eB5d086611a2e950198E3077cf58A, 0x4F63cfEa7458221CB3a0EEE2F31F7424Ad34bb58, 0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17 |
| Arks removed | 12 (1 + 10 + 1) |
| Unpause fleet | No (not paused) |
| Set tip rate | Already 0 |
| Risk mgmt | ba-risk-managed |
| Execution | Base governor → LayerZero (dstEid=30110) → arbitrum timelock 0x447BF9d1485ABDc4C1778025DfdfbE8b894C3796 |
Actions (in order):
removeArk() × 1 on USDC_2; removeArk() × 10 on USDC; removeArk() × 1 on USDT.
Arks removed:
LazyVault_LowerRisk_USDC_2: ERC4626-Sky_sUSDC-usdc-42161
LazyVault_LowerRisk_USDC: ERC4626-Fluid-usdc-42161, ERC4626-Gearbox-usdc-42161, MorphoVault-usdc-Gauntlet_USDC_Core-42161, MorphoVault-usdc-Yearn_OG_USDC-42161, MorphoVault-usdc-Steakhouse_Prime_USDC-42161, MorphoVault-usdc-MEV_Capital_USDC-42161, ERC4626-Euler_Arbitrum_USDC-usdc-42161, SiloManagedVault-greenhouse-usdc-42161, Silo-Swaap_Lend_susdx_usdc_127-usdc-42161, FluidFToken-usdc-42161
LazyVault_LowerRisk_USDT: CompoundV3-usdt-42161
Voting:
If YES - execute the above for the three Arbitrum Fleets (remove all remaining Arks).
If NO - leave the Fleets unchanged.
[SIP2.60.3] Remove all remaining Arks incl. Raft loss socialization (Sonic Fleet)
| Parameter | Value |
|---|---|
| Fleet | LazyVault_LowerRisk_USDCe |
| Network | Sonic |
| FleetCommander | 0x507A2D9E87DBD3076e65992049C41270b47964f8 |
| Raft | 0x2a828B0E5cB549eE568923E815D9A781b6f4F018 |
| Arks removed | 2 |
| Extra actions | 10 Raft calls (2 × socializeLosses + permission flips) |
| Unpause fleet | No (not paused) |
| Set tip rate | Already 0 |
| Risk mgmt | ba-risk-managed |
| Execution | Base governor → LayerZero (dstEid=30332) → sonic timelock 0x4c32A28AD95deaBc06bF7C83AdEbCF6fe6721ED9 |
Actions (in order):
For Silo-market_8-usdce-146 (0x42aade02…), token bUSDC-8 (0x4e216c15…):
Raft.setSweepableToken(ark, bUSDC-8, true)Raft.setNonSweepableToken(ark, bUSDC-8, false)— lift blacklistRaft.socializeLosses(ark, [bUSDC-8], 0xB0F53Fc4e15301147de9b3e49C3DB942E3F118F2)— sweeps 9,830 sharesRaft.setNonSweepableToken(ark, bUSDC-8, true)— restore blacklistRaft.setSweepableToken(ark, bUSDC-8, false)— restore whitelist
For Silo-market_20-usdce-146 (0x5c841955…), token bUSDC-20 (0x322e1d53…): 6–10. The same five-step sequence — socializeLosses sweeps 640 shares
Then on the Fleet: 11. removeArk(Silo-market_8-usdce-146) 12. removeArk(Silo-market_20-usdce-146)
Arks removed:
Silo-market_8-usdce-146, Silo-market_20-usdce-146
Notes on the socialization:
The permission changes are symmetric and self-restoring — each Ark’s sweep flags are flipped, one socializeLosses is performed, then both flags are restored, so the end state equals the start state. Each socializeLosses names exactly one Ark and one token; no other Ark or token is touched. The amounts are stranded residue, not user principal.
To confirm before posting: the recipient of the swept shares,
0xB0F53Fc4e15301147de9b3e49C3DB942E3F118F2, should be identified explicitly in this post (it is not a Fleet, the Raft, or the timelock).
Voting:
If YES - execute the above for LazyVault_LowerRisk_USDCe on Sonic (socialize the two stranded bUSDC residues, then remove both Silo Arks).
If NO - leave the Fleet unchanged.
[SIP2.60.4] Remove all remaining Arks incl. exploited USDC unpause (Mainnet Fleets)
| Parameter | Value |
|---|---|
| Fleets | DAO_LazyVault_USDC_1, DAO_LazyVault_WETH_1, LazyVault_HigherRisk_WETH, LazyVault_LowerRisk_USDC, LazyVault_LowerRisk_USDT, LazyVault_LowerRisk_WETH |
| Network | Mainnet |
| Arks removed | 37 |
| Unpause fleet | Yes — LazyVault_LowerRisk_USDC only |
| Set tip rate | Already 0 |
| Risk mgmt | mixed — dao-risk-managed (2 Fleets) + ba-risk-managed (4 Fleets) |
| Execution | Base governor → LayerZero (dstEid=30101) → mainnet timelock 0x447BF9d1485ABDc4C1778025DfdfbE8b894C3796 |
Actions (in order):
removeArk() × 11 on DAO_USDC_1; × 6 on DAO_WETH_1; × 7 on HigherRisk_WETH; then unpause() + removeArk() × 1 on LowerRisk_USDC; then removeArk() × 6 on LowerRisk_USDT; × 7 on LowerRisk_WETH. 39 calls total.
Arks removed:
DAO_LazyVault_USDC_1 — 0xd77F9a9F2b0C160dB3e9dC2Cce370c1a740C76fc (dao-risk-managed) MorphoVault-usdc-Gauntlet_USDC_RWA-1, MorphoVault-usdc-Smokehouse_USDC-1, MorphoV2Vault-usdc-Clearstar_USDC_Core-1, MorphoV2Vault-usdc-Steakhouse_High_Yield_Instant-1, MorphoV2Vault-usdc-Steakhouse_Prime_Instant-1, MorphoV2Vault-usdc-Steakhouse_Reservoir_USDC-1, SkyRewards-SPK-USDC-1, Syrup-usdc-1, MorphoV2Vault-usdc-Yearn_OG_USDC_v2-1, MorphoV2Vault-usdc-Steakhouse_3Fx_USDC-1, MorphoV2Vault-usdc-Gauntlet_USDC_Prime-1
DAO_LazyVault_WETH_1 — 0x0C1FBCCC019320032D9acD193447560C8C632114 (dao-risk-managed) MorphoV2Vault-weth-Gauntlet_WETH_Prime_V2-1, MorphoV2Vault-weth-Steakhouse_Prime_Instant_V2-1, MorphoVault-weth-Steakhouse_WETH-1, MorphoVault-weth-Yearn_OG_WETH-1, MorphoVault-weth-Gauntlet_WETH_Prime-1, MorphoV2Vault-weth-Yearn_OG_WETH_V2-1
LazyVault_HigherRisk_WETH — 0x2E6abcbCCeD9Af05bc3B8a4908e0c98c29A88e10 MorphoVault-weth-Yearn_OG_WETH-1, Spark-weth-1, CompoundV3-weth-1, AaveV3-weth-1, FluidLite-weth-1, Origin_ARM-weth-steth-1, Origin-weth-1
LazyVault_LowerRisk_USDC — 0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17 (exploited Fleet) unpause() — not before 2026-07-23T10:38:35Z (minimum pause time, now elapsed); then Syrup-usdc-1
LazyVault_LowerRisk_USDT — 0x17Ee2D03e88b55E762c66C76ec99C3A28A54AD8d MorphoV2Vault-usdt-Sky_USDT_Savings_V2-1, AaveV3-usdt-1, MorphoV2Vault-usdt-Steakhouse_Prime_Instant-1, Spark-usdt-1, MorphoVault-usdt-Gauntlet_USDT_Prime-1, MorphoVault-usdt-Steakhouse_USDT-1
LazyVault_LowerRisk_WETH — 0x67e536797570b3d8919Df052484273815A0aB506 Spark-weth-1, MorphoVault-weth-Steakhouse_WETH-1, AaveV3-weth-1, CompoundV3-weth-1, MorphoV2Vault-weth-KPK_ETH_Prime_v2-1, MorphoV2Vault-weth-Steakhouse_Prime_Instant_V2-1, MorphoVault-weth-Gauntlet_WETH_Prime-1
Voting:
If YES - execute the above for the six Mainnet Fleets (remove all remaining Arks; unpause LazyVault_LowerRisk_USDC so its final Ark can be removed).
If NO - leave the Fleets unchanged.
Still outstanding for full coverage
LazyVault_HigherRisk_USDC(Mainnet, exploited) not covered by any payload in this batch. Its Ark set needs enumerating and a proposal raising, either here or on the SIP1.X track alongside SIP1.8.- HyperEVM Fleets (
0x252E5Aa42c1804b85b2ce6712cd418A0561232Ba,0x2cC190fb654141DfBEaC4c0f718F4d511674D346) understood to have no remaining registered Arks after SIP2.59.10–11
Tagging @Recognized_Delegates for a checkup.
–jensei