[BIP-862] Deploy Balancer v3 on HyperEVM

Summary

This proposal seeks governance approval to deploy and operate Balancer v3 on HyperEVM through an innovative multi-stage deployment framework. This approach initially grants all operational permissions to the Maxis, enabling the DAO to operate with greater flexibility and responsiveness in the rapidly evolving multi-chain landscape while establishing meaningful success criteria for each deployment phase.

Introduction

Hyperliquid has established itself as one of the most respected decentralized perpetual DEXes, demonstrating strong fundamentals through its committed team and successful HYPE token generation event that drove significant adoption. HyperEVM represents the next evolution of innovation from the Hyperliquid team, launching an EVM-compatible execution environment that extends their proven infrastructure.

HyperEVM presents a unique opportunity for Balancer, as the current DEX landscape on this emerging chain lacks a truly programmable AMM solution. The chain’s early-stage development, combined with Hyperliquid’s established user base and technical credibility, positions Balancer v3 to capture significant market share and establish itself as foundational infrastructure.

Motivation

Strategic Market Positioning: HyperEVM offers Balancer an opportunity to be an early infrastructure provider in a promising ecosystem backed by a proven team. By deploying before the market becomes saturated with competing AMM solutions, Balancer can establish itself as the go-to liquidity infrastructure.

Technical Synergy: Balancer v3’s advanced features—including custom hooks, boosted pools, and flexible pool architecture—align perfectly with the sophisticated trading infrastructure that Hyperliquid users expect. This deployment will showcase v3’s capabilities in an environment that appreciates technical innovation.

Multi-Stage Risk Management: Rather than committing fully upfront, this proposal introduces a phased deployment approach that allows the DAO to validate market fit and technical performance before investing significant resources in ecosystem development and BAL token deployment.

Multi-Stage Deployment Approach

Phase 1: Technical Deployment and Infrastructure (Months 1-2)

Objective: Establish full technical functionality of Balancer v3 on HyperEVM with complete front-end and back-end integration.

Success Metrics:

  • Successful deployment of core v3 pool types such as boosted pools and hooks
  • Full frontend integration on balancer.fi
  • Subgraph deployment and API functionality
  • Basic pool creation functionality
  • $2.5M+ TVL (at least 3 pools with $500k+)
  • Ecosystem aggregator integration to facilitate trading volume

Timeline: 8 weeks from governance approval

Exit Criteria: If for whatever reason technical blockers are identified that would hinder further deployments or growth, no actions will be taken to enter phase 2.

Phase 2: Growth and Strategic Partnerships (Months 2-8)

Objective: Drive initial adoption through ecosystem partnerships and targeted incentive campaigns with third parties, be it with points programs or token incentives.

Key Activities:

  • Establish partnerships with key HyperEVM protocols
  • Deploy boosted pool integrations with lending protocols
  • Community outreach and developer relations initiatives

Success Metrics:

  • Minimum of 15 active pools
  • $15M+ total value locked across all pools
  • At least 5 strategic protocol integrations with Hyperlend, HypurrFi, Hyperwave and other ecosystem market pioneers
  • Average daily trading volume $1M+ (10 days average)

Risk Mitigation: If metrics are not achieved within 6 months, the deployment will be reassessed with potential wind-down procedures.

Exit Criteria: If the deployment doesn’t get enough traction as outlined above and it does not achieve at least >$5M in TVL, no BAL integration will be considered (phase 3).

Phase 3: BAL Integration and Core Pool Framework (Month 8+)

Objective: Full integration into Balancer’s tokenomics and governance framework.

Prerequisites:

  • Achievement of Phase 2 success metrics
  • Technical infrastructure for BAL token deployment completed
  • Cross-chain bridging solution implemented
  • Reward distribution infrastructure established

Success Metrics:

  • $25M+ TVL within 6 months of BAL deployment
  • At least 5 pools above $500k+ TVL
  • Sustainable weekly trading volume of $6M+

Technical Requirements:

  1. BAL token deployment on HyperEVM
  2. Verified cross-chain bridge for BAL tokens (e.g. LayerZero)
  3. Reward distribution infrastructure (OpenZeppelin Defender or equivalent)
  4. Gauge system integration for veBAL voting
  5. Transition of governance authority to a DAO multisig from the Omni-Multisig

Exit Criteria: If there is no sustainable traction for pools to achieve core pool status, the DAO can propose to kill gauges and remove BAL rewards entirely

Key Performance Indicators and Success Metrics

Quantitative Metrics

  • Total Value Locked: $30M+ by month 12
  • Trading Volume: $200M+ cumulative in first 12 months
  • Pool Diversity: 25+ unique pools of which at least 10 have TVL >$100k
  • User Adoption: Top 5 DeFi protocol by TVL and volume on HyperEVM
  • Protocol Revenue: $200k+ in protocol fees within first year

Qualitative Metrics

  • Successful integration with at least 3 major HyperEVM protocols
  • Recognition as a top-3 DEX on HyperEVM by TVL
  • Active developer community building on v3 infrastructure
  • Positive community sentiment and ecosystem support

Risk Indicators

  • Monthly TVL decline >30% for 2 consecutive months
  • Average daily volume <$10k for 4 consecutive weeks
  • Inability to establish meaningful protocol partnerships within 6 months
  • Technical issues requiring >72 hours downtime

Technical Specifications

Balancer v3 has been deployed in “experimental status” as outlined in Phase 1. The Maxi Omnisig at 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e maintains full administrative permissions to grant operational roles during the initial phases.

Initial Configuration:

  • All current v3 pool types enabled
  • Emergency pause functionality enabled
  • Gradual decentralization of admin privileges

Governance Transition: Upon successful completion of Phase 2 milestones, the Maxis Omin-multisig will transfer administrative privileges to a newly established DAO multisig following the standard DAO signer set.

Timeline

  • Month 1-2: Phase 1 deployment and technical verification
  • Month 2-3: Initial bootstrap campaign launch
  • Month 3-6: Partnership development and ecosystem integration
  • Month 6-8: Phase 2 evaluation and BAL infrastructure preparation
  • Month 8+: Phase 3 implementation (subject to success metrics)

Budget and Resource Allocation

  • Phase 1: Technical deployment costs covered by standard deployment budget
  • Phase 2: Points integration and partner incentive programs
  • Phase 3: BAL token bridging and infrastructure costs (< $2k)

Risk Management

This multi-stage approach provides natural checkpoints for the DAO to evaluate deployment success and make informed decisions about continued investment. Each phase has clear exit criteria, allowing for graceful wind-down if market conditions or technical challenges emerge.

Conclusion

Deploying Balancer v3 on HyperEVM through this structured, multi-phase approach positions Balancer to capitalize on an emerging ecosystem while managing risk through measurable milestones. The deployment leverages Balancer’s technical advantages in programmable liquidity while establishing meaningful success criteria that benefit both the Balancer DAO and the broader HyperEVM ecosystem.

By establishing Balancer as foundational infrastructure in this promising new environment, this deployment can serve as a model for future chain expansions while contributing to Balancer’s multi-chain growth strategy.

5 Likes

Exciting to see this, and congratulations on the multi-phased approach. Full support!

2 Likes

HyperBAL

<20 characters>

2 Likes

Awesome work, guys!

This is a very well thought out and structured proposal. A great way to approach new chain deployments.

Having clear KPIs is definitely the right move. Really appreciate all the effort that went into this @Xeonus!

1 Like

https://snapshot.box/#/s:balancer.eth/proposal/0x9cd16d8bd89820d6f1575decf678425528a8811237fe01ac329dea1368c3e086

As outlined with this BIP, the Maxis have authority to manage this deployment by currently holding admin permissions on the Omni-multisig. As a result of this BIP being voted in successfully, we have granted following permissions to self plus permissions to a newly set up Emergency SubDAO safe. Details in the report below:

Roles for the Emergency subDAO multisig at 0x44613a28347206F5E26C1B8Db7Dc73f450219746:

+-----------------------+---------------------+--------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| function              | caller_name         | caller_address                             | fx_paths                                                  | action_ids                                                         |   bip   | tx_index |
+-----------------------+---------------------+--------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| Authorizer/grantRoles | multisigs/emergency | 0x44613a28347206F5E26C1B8Db7Dc73f450219746 | 20241204-v3-vault/VaultAdmin/pauseVault()                 | 0x461c5a059d49bcf53ff00ff0d6fe644f40cc96ff9f6012e75ea70824dba5f886 | BIP-862 |    0     |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/unpauseVault()               | 0xa3cc69d3a95a1b4020228f384f292c33a2db8f395442b06805d5195609d66b4e |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/pausePool(address)           | 0xae26501f09c96de9e98977fff0d65a23cb22db73a58ddef38127af1a616cf272 |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/unpausePool(address)         | 0xa4443105bdb833cb364c9f76caa2adf3c6e62427cb693ffd6f1d8d7f44ad1bb5 |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/pauseVaultBuffers()          | 0xe80d721d89f2236e9428bfba076cbbbb355faeb9d9b97b49890ebcf930d05bc9 |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/unpauseVaultBuffers()        | 0xf923c4af23349707476c28766c280b0178ab3c4ebfa546da8c25a546a066a2dc |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/enableRecoveryMode(address)  | 0xb1539e3ebdcf854dedf819f6232d1e447cfb129f7bf572e70295fb998bd8c85e |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/disableRecoveryMode(address) | 0x03aef606b4b82495d96af41cf1ed84b739a1de2bfb37bc1c0cfde2c53cf096aa |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/enableQuery()                | 0x130ac25c06d0a78c43cee16ed4147a8a2337d8dc08571f397ca9ac15e1fc2ec2 |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/disableQuery()               | 0x7b9f4d9b9d0380987936892409571a5e0b6e9b538806ac662699a305304bd15d |         |          |
|                       |                     |                                            | 20241204-v3-vault/VaultAdmin/disableQueryPermanently()    | 0x6832812101826d0b63748615617865e97f09b944c344d3bbd7d50b5be617eb16 |         |          |
|                       |                     |                                            | 20250324-v3-stable-pool-v2/StablePoolFactory/disable()    | 0xbfa319729db75b8353ded335e7417dfc38ee720f648a59250d04b81604452ff7 |         |          |
|                       |                     |                                            | 20241205-v3-weighted-pool/WeightedPoolFactory/disable()   | 0x77ff3dec18d58949bf76d17d30438c252828127846a6337e032250714ad98783 |         |          |
|                       |                     |                                            | 20250124-v3-gyro-eclp/GyroECLPPoolFactory/disable()       | 0x8039ea99622122bbc0a42fea6df252031b5b23df140d669e5ea064236369dcbc |         |          |
|                       |                     |                                            | 20250120-v3-gyro-2clp/Gyro2CLPPoolFactory/disable()       | 0xf27a3cfffd6082308886cb5ef66425202d4b3180e84c6852d7d8109b4228a5ec |         |          |
|                       |                     |                                            | 20250702-v3-reclamm-pool-v2/ReClammPoolFactory/disable()  | 0x2cb59d35a7a1b89d4ca6e466034d4d7bba7efe0e0dbb3bbe125e78def0cbdac1 |         |          |
+-----------------------+---------------------+--------------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+---------+----------+

Roles for the Omni-Multisig:

+-----------------------+---------------------+--------------------------------------------+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| function              | caller_name         | caller_address                             | fx_paths                                                                                                           | action_ids                                                         |   bip   | tx_index |
+-----------------------+---------------------+--------------------------------------------+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+
| Authorizer/grantRoles | multisigs/maxi_omni | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e | 20241204-v3-vault/VaultAdmin/setStaticSwapFeePercentage(address,uint256)                                           | 0x535f82655cb6a856d1452d97dc8e7b3393044c974f85cfcdd2c1d304c08ce34c | BIP-862 |    0     |
|                       |                     |                                            | 20250324-v3-stable-pool-v2/StablePool/startAmplificationParameterUpdate(uint256,uint256)                           | 0x11971873d8c537a6a0d7b55a1676679f0bac501979191aea9d0c1847eb5774a6 |         |          |
|                       |                     |                                            | 20250324-v3-stable-pool-v2/StablePool/stopAmplificationParameterUpdate()                                           | 0xb8a60ab16a3975d1d8414b14ff615d8ea4abbca34d776ec89188bbf2be5345fc |         |          |
|                       |                     |                                            | 20250403-v3-stable-surge-hook-v2/StableSurgeHook/setMaxSurgeFeePercentage(address,uint256)                         | 0x59716911f2e9dd53430d852b4dd126293317c56b0be75adfc7c95781046b573f |         |          |
|                       |                     |                                            | 20250403-v3-stable-surge-hook-v2/StableSurgeHook/setSurgeThresholdPercentage(address,uint256)                      | 0x5ada74259f2a3a7030cd62c4e87899779d0429ef95548b44fe8345cda2419909 |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/setGlobalProtocolSwapFeePercentage(uint256)                                | 0xd017dd98988dd56fee1d44cadb00bc6b14886626da16e19060a3cc92acf4040f |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/setGlobalProtocolSwapFeePercentage(uint256)           | 0xf3c486bff37d26d70d9ec35e95f59a3967efeae2006b151df3f925ace3fe8ed9 |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/setGlobalProtocolYieldFeePercentage(uint256)                               | 0x8e3e36d73cffa78076df8f76db769150ec14a9939c8a8c2999a4e594c8446490 |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/setGlobalProtocolYieldFeePercentage(uint256)          | 0x3fef70c8097cce35392087a74737d4861f412ec73028383037541fcc8ce240aa |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/setProtocolSwapFeePercentage(address,uint256)                              | 0x9b50ab496733616199be03f9adb07dedbc053ee47e3f069d57a7b1db51480332 |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/setProtocolSwapFeePercentage(address,uint256)         | 0xd8f952fca9feeca8075fa8cf14298353b4b424103a602b3879b031c57cf6def7 |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/setProtocolYieldFeePercentage(address,uint256)                             | 0xfa7026c16afe0a03f479e8790377bc3f4c3dd4b77c6702d9085b1e04d605cc5f |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/setProtocolYieldFeePercentage(address,uint256)        | 0xced1b31d9c0f121ad2cd90f5c5f014f080e7fb693953b15c6a31e3d01dad5e47 |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/withdrawProtocolFees(address,address)                                      | 0x5bded2622dcaefaefa7ba364ea7a17e4b0eb50193618fdf6cf43faefe3b3d9ab |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/withdrawProtocolFees(address,address)                 | 0x3836b797500f8a5a5f7e34ac882c1f373c6e7c761c625c497fa782bd0827b961 |         |          |
|                       |                     |                                            | 20241204-v3-vault/ProtocolFeeController/withdrawProtocolFeesForToken(address,address,address)                      | 0x05e6b8498af95fef525a5bb539007288969ef0e9ffa44acc38f068abd84800bc |         |          |
|                       |                     |                                            | 20250214-v3-protocol-fee-controller-v2/ProtocolFeeController/withdrawProtocolFeesForToken(address,address,address) | 0x344de8797afadb19e095b1a633eaae4de7e5d33713cf840cb7a0294d5fdb06a3 |         |          |
|                       |                     |                                            | 20250117-v3-contract-registry/BalancerContractRegistry/addOrUpdateBalancerContractAlias(string,address)            | 0xb53d9ba7314226baaefc2d1cae1386320df6fb00a6ee7ba11eb9216d31d0d611 |         |          |
|                       |                     |                                            | 20250117-v3-contract-registry/BalancerContractRegistry/deprecateBalancerContract(address)                          | 0x1e562847f863c8695817497e960e2baa046d17f94a3f12a70b1bbacccf62d1ba |         |          |
|                       |                     |                                            | 20250117-v3-contract-registry/BalancerContractRegistry/deregisterBalancerContract(string)                          |                                                                    |         |          |
|                       |                     |                                            | 20250117-v3-contract-registry/BalancerContractRegistry/registerBalancerContract(uint8,string,address)              |                                                                    |         |          |
|                       |                     |                                            | 20250702-v3-reclamm-pool-v2/ReClammPool/stopPriceRatioUpdate()                                                     |                                                                    |         |          |
|                       |                     |                                            | 20250702-v3-reclamm-pool-v2/ReClammPool/startPriceRatioUpdate(uint256,uint256,uint256)                             |                                                                    |         |          |
|                       |                     |                                            | 20250702-v3-reclamm-pool-v2/ReClammPool/setDailyPriceShiftExponent(uint256)                                        |                                                                    |         |          |
|                       |                     |                                            | 20250702-v3-reclamm-pool-v2/ReClammPool/setCenterednessMargin(uint256)                                             |                                                                    |         |          |
+-----------------------+---------------------+--------------------------------------------+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+---------+----------+