The following specifications are for Ethereum, since that is the only chain that requires governance approval for these actions. On all other chains, the core team will perform the analogous actions from their multisig.
Pause Pools
V2
- asap (DAO multisig): atomically grant itself the permissions, and then disable all official Balancer v2 pool factories that support disabling:
| Deployment | Contract | Address |
|---|---|---|
| 20220609-stable-pool-v2 | StablePoolFactory | 0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c |
| 20221207-aave-rebalanced-linear-pool-v3 | AaveLinearPoolFactory | 0x7d833FEF5BB92ddb578DA85fc0c35cD5Cc00Fb3e |
| 20230315-silo-linear-pool | SiloLinearPoolFactory | 0xfd1c0e6f02f71842b6ffF7CdC7A017eE1Fd3CdAC |
| 20230320-composable-stable-pool-v4 | ComposableStablePoolFactory | 0xfADa0f4547AB2de89D1304A668C39B3E09Aa7c76 |
- asap (DAO multisig): grant
pausevia theAuthorizerAdaptorEntrypointwithwhere=0x0for all official Balancer pools to EOA deployer0x4BC8121278056BFCaC2BD14D455659224d6dDf48 - 2026-10-30 (DAO multisig): atomically grant itself the permissions, and set the v2 protocol fee defaults to zero:
ProtocolFeePercentagesProvider.setFeeTypePercentage(0,0)(swap fee)ProtocolFeePercentagesProvider.setFeeTypePercentage(2,0)(yield fee)
- 2026-10-30 (permissionless): call
updateProtocolFeePercentageCache()orupdateCachedProtocolSwapFeePercentage()on all pools still active that accept fee logic from the fee provider: [BIP-XYZ] Onchain Wind-down of Protocol: Specs - Google Sheets - 2026-10-30 (EOA deployer): once official Balancer factories are disabled, we can create an exhaustive list of all official Balancer factory pools and pause those which are still in the pausable window
V3
- asap (DAO multisig): atomically grant itself the permissions and disable all official Balancer v3 pool factories that support disabling:
| Deployment | Contract | Address |
|---|---|---|
| 20241205-v3-stable-pool | StablePoolFactory | 0xB9d01CA61b9C181dA1051bFDd28e1097e920AB14 |
| 20241205-v3-weighted-pool | WeightedPoolFactory | 0x201efd508c8DfE9DE1a13c2452863A78CB2a86Cc |
| 20250120-v3-gyro-2clp | Gyro2CLPPoolFactory | 0xb96524227c4B5Ab908FC3d42005FE3B07abA40E9 |
| 20250121-v3-stable-surge | StableSurgePoolFactory | 0xD53F5d8d926fb2a0f7Be614B16e649B8aC102D83 |
| 20250124-v3-gyro-eclp | GyroECLPPoolFactory | 0xE9B0a3bc48178D7FE2F5453C8bc1415d73F966d0 |
| 20250324-v3-stable-pool-v2 | StablePoolFactory | 0xe42C2E153BB0A8899b59C73F5Ff941f9742F1197 |
| 20250404-v3-stable-surge-pool-factory-v2 | StableSurgePoolFactory | 0x355bD33F0033066BB3DE396a6d069be57353AD95 |
| 20251205-v3-fixed-price-lbp | FixedPriceLBPoolFactory | 0xeb1AA94421aEcFB1dc17dDB1068E4609c4bE8758 |
| 20260115-v3-weighted-pool-v2 | WeightedPoolFactory | 0x332694Ef46D880DF6Ea9593e04CB8ABEE5F81D99 |
| 20260116-v3-stable-pool-v3 | StablePoolFactory | 0x4eFcd8bcE8AC9b94bd76648e2c85bEf6c40F3228 |
| 20260117-v3-stable-surge-pool-factory-v3 | StableSurgePoolFactory | 0x187a05fb9e4234Dd310ae74215743560D1BAA6Ac |
| 20260123-v3-gyro-2clp-v2 | Gyro2CLPPoolFactory | 0x8902F9C211f91c84Da2076f633873F8266dCECC6 |
| 20260126-v3-gyro-eclp-v2 | GyroECLPPoolFactory | 0x04d584195a96DFfc7F8B695aA3C9D3c1606b69d1 |
| 20260428-v3-reclamm-pool-v3 | ReClammPoolFactory | 0x3ccD78683efFffdDc1A16f5553C896ac6D3ab7FF |
| 20260501-v3-liquidity-bootstrapping-pool-v4 | LBPoolFactory | 0x6642863979e66d995717A2B836A121700595069A |
| 20250409-v3-reclamm-pool | ReClammPoolFactory | 0x312600bc7645E47a4926dc658827398AF070D431 |
| 20250409-v3-reclamm-pool | ReClammPoolFactory | 0x7fA49Df302a98223d98D115fc4FCD275576f6faA |
| 20250204-v3-akron-weighted-pool | AkronWeightedPoolFactory | 0x83Fa05e5a37f9C10F4B729EC80F7D38290313596 |
| 20250404-v3-stable-surge-pool-factory-v2 | StableSurgePoolFactory | 0x92bad7860B85811E422eCaEAF38a672F8925fcfb |
| 20250409-v3-reclamm-pool | ReClammPoolFactory | 0xCF7608f0136DB42FDEC021f755BD66406F29158c |
| 20250419-v3-quantamm | QuantAMMWeightedPoolFactory | 0xD5c43063563f9448cE822789651662cA7DcD5773 |
- asap (DAO multisig): grant
pausePoolpermissions on theVaultwithwhere=0x0to EOA deployer0x4BC8121278056BFCaC2BD14D455659224d6dDf48 - 2026-10-30 (EOA deployer): if still within the pausable window, pause all pools belonging to the factories mentioned above and enable recovery mode, except for partners that asked for an extension (Parallel, Treehouse, Royco, Avant, Inverse, Rocket Pool, Blueberry, StakeWise, Neverland)
- 2026-11-30 (EOA deployer): pause partner pools mentioned above and enable their recovery mode
- 2026-11-30 (DAO multisig): atomically grant itself the permissions and pause the v3 vault:
Vault.pauseVault()andVault.pauseVaultBuffers()
- 2026-11-30 (DAO multisig): atomically grant itself the permissions and set global fees to zero:
ProtocolFeeController.setGlobalProtocolSwapFeePercentage(0)andProtocolFeeController.setGlobalProtocolYieldFeePercentage(0)
- 2026-11-30 (permissionless): call
ProtocolFeeController.updateProtocolSwapFeePercentage(address pool)andProtocolFeeController.updateProtocolYieldFeePercentage(address pool)
Note that the vault will unpause by itself 2029-05-12. All pools will unpause later that year, except for the ones that were created by the newest factories with the ~75 year pause window. This is unavoidable.
Revoke (Redundant) Permissions
- 2026-12-01 (DAO multisig): revoke all permissions from the authorizer except for
DEFAULT_ADMIN_ROLE - 2027-05-31: redemption round one starts
- 2027-06-01 (DAO multisig): revoke admin role; DAO governance ends