[SIP2.60] Remove all remaining Arks and neutralize Fleets

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()s LazyVault_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 on LazyVault_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…):

  1. Raft.setSweepableToken(ark, bUSDC-8, true)
  2. Raft.setNonSweepableToken(ark, bUSDC-8, false) — lift blacklist
  3. Raft.socializeLosses(ark, [bUSDC-8], 0xB0F53Fc4e15301147de9b3e49C3DB942E3F118F2) — sweeps 9,830 shares
  4. Raft.setNonSweepableToken(ark, bUSDC-8, true) — restore blacklist
  5. Raft.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_10xd77F9a9F2b0C160dB3e9dC2Cce370c1a740C76fc (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_10x0C1FBCCC019320032D9acD193447560C8C632114 (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_WETH0x2E6abcbCCeD9Af05bc3B8a4908e0c98c29A88e10 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_USDC0x98C49e13bf99D7CAd8069faa2A370933EC9EcF17 (exploited Fleet) unpause() — not before 2026-07-23T10:38:35Z (minimum pause time, now elapsed); then Syrup-usdc-1

LazyVault_LowerRisk_USDT0x17Ee2D03e88b55E762c66C76ec99C3A28A54AD8d 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_WETH0x67e536797570b3d8919Df052484273815A0aB506 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

1 Like

I am supportive of the overall actions outlined in this SIP and the subsequent sub-SIPs. Removing the remaining Arks, leaving each Fleet as a buffer-only, and neutralizing the Fleets is the sensible next step in completing the protocol’s wind-down.

1 Like