Gauge Creation Instructions

Follow these steps to create and propose a gauge on Balancer:


Step 1: Create the Gauge

Create your Gauge with the Balancer Gauge creator tool

  • For Ethereum Mainnet pools: only create the root gauge for a given pool and note down the root gauge address after successful transaction execution.

  • For L2 networks you need to create a ChildChain and a Root gauge. For the proposal only the root gauge is needed

  • Optional (advanced step): check-in a PR for your gauge creation here

    • Copy the human readable specification text into the Technical specification field in your proposal (see step 2)

Follow these guidelines for gauge caps


Step 2: Write Your Proposal

Create a proposal using the template below and post it on the Balancer Forum under the appropriate category.
This proposal is required and needs to be voted in before the gauge can receive BAL emissions.


Proposal Template

Summary

  • For Mainnet Pools:
    This is a proposal to enable the gauge 0xGaugeAddress on Ethereum, for the pool 0xPoolAddress (PoolSymbol).

  • For Non-Mainnet Pools:
    This is a proposal to enable the root gauge 0xRootGaugeAddress on Ethereum, [which redirects rewards to the child gauge 0xChildGaugeAddress on Chain], for the pool 0xPoolAddress (PoolSymbol).

References / Useful Links

Include:

  • Website

  • Documentation

  • GitHub

  • Communities

  • Other relevant links

Protocol Description

Describe:

  • The proposed asset(s) and related protocol(s)

  • Historical token prices (from the source of highest liquidity)

Motivation

Explain why this pool should receive incentives.

Specifications

Governance:

  • Describe the protocol’s governance structure.

  • Include admin/multisig addresses and their powers.

  • Mention any planned changes to governance.

Oracles:

  • Indicate whether external oracles are used and describe their implementation.

Audits:

  • Provide links to audit reports and security details.

Centralization Vectors:

  • Identify any centralized elements (e.g., single dev control, centralized oracles, bot dependencies, etc.).

Market History:

  • Discuss asset volatility, depegs (for stables), or major price events.

  • Provide pool-specific details: how long it’s been active, TVL, historical volume.

  • Include direct links to both the pool and its gauge.

Value:

  • Explain whether this pool is the main liquidity source for the token(s).

  • If not, clarify its value to Balancer (e.g., consistent fee generation).

Technical Specification

The Omni Multisig (eth:0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e)
will call the GaugeAdderV4 (0x5DbAd78818D4c8958EfF2d5b95b28385A22113Cd) with:

gauge(address): 0xRootGaugeAddress

gaugeType(string): Network


Step 3: Community Discussion

Once posted, allow discussion in the forum.
There’s no minimum required time, but 1 week is common practice, please refer to our Governance guidelines for timelines.


Step 4: Request a Snapshot Vote

When discussion is complete, request a vote (preferably by replying to your forum thread).

Any gauge vote proposal that meets all requirements by Thursday 8PM CET will be automatically included in the next snapshot round starting at Friday 8PM CET (see Governance Guidelines)


Step 5: Snapshot Voting

  • Snapshot votes start every Friday 8PM CET .

  • For L2 gauges, emissions begin one week after a successful vote.
    Example: if voting ends on June 8, emissions start June 15.

  • Gauges receiving less than 0.1% of total votes may not receive emissions every week due to gas costs.


Step 6: Post-Vote & Security Note

After approval:

  • The gauge begins receiving BAL emissions.

  • Balancer’s Emergency subDAO may “kill” pools or gauges in case of malicious activity.

  • veBAL holders can also vote to disable gauges at any time.

  • Vote performance is evaluated on a quarterly basis and may be killed if it doesn’t meet the minimum requirements as per BIP-795 which are

    • The gauge is flagged as worth killing if it has not received veBAL votes for >60 days, and the median TVL has been under 100k USD equivalent for >60 days ( tracked by a dune query).

    • Gauges can still be killed at any time due to externalities, the rules above are simply meant to keep the system lean and efficient.

    • A current list of potential gauges to be killed can be checked here: https://balancer.defilytica.tools/gauge-kill-list


Additional Conditions for Custom Pools

For custom pools, the following conditions must be met:

  1. Analytics Dashboard available showing:

    • Swap volume over time

    • Deposit balances in LP

    • Fees earned

  2. 50% of all collected fees must be sent to the Balancer Treasury.

  3. At least one example trade must exist.

5 Likes