veBAL FAQ (Historical)

Deprecated — veBAL economic and governance rights ended in Q2 2026

This FAQ describes the legacy veBAL system and is no longer accurate. Per BIP-919open in new window and BIP-921open in new window, BAL emissions are halted, protocol fees route 100% to the DAO Treasury, and Snapshot voting is denominated in raw BAL (veBAL no longer earns fees, directs emissions, or confers an escrow voting multiplier).

Per BIP-920 (veBAL Compensation Airdrop)open in new window, veBAL holders received a one-off compensation payment of 500,000 USDC, distributed via direct CSV airdrop proportional to veBAL balance at the proposal snapshot. The bulk landed in major wrapper lockers (Aura, StakeDAO, Tetu); those wrappers will unwind their veBAL positions and distribute the rewards to underlying users (sdBAL, auraBAL, tetuBAL holders) accordingly.

See the Governance Overview, Voting, and veBAL (Historical) pages for the current state. Retained below for historical reference only.

How did users get veBAL?

When a user provided liquidity into a Balancer pool, they received an ERC-20 token called a "Balancer Pool Token", or BPT. For veBAL, the relevant BPT was from the B-80BAL-20WETH pool.

A user needed BAL or WETH to invest in the B-80BAL-20WETH pool. They could deposit a single asset (incurring price impact) or both assets at the correct weights. Once received, the BPT could be time-locked to receive veBAL.

The lock duration determined how much veBAL was received. veBAL was a function of time and asset: 1 veBAL equalled 1 BPT locked for 52 weeks; a 1-week lock of 1 BPT yielded 1/52 veBAL.

Could BPTs or veBAL be transferred?

BPTs were transferable; rewards accrued in the wallet where they were held.

veBAL was a non-standard ERC-20 token and could not be transferred.

Did veBAL holders receive a portion of the protocol fees?

Yes (historical). veBAL holders received a share of protocol fees in USDC. As of BIP-919open in new window, all protocol fees route 100% to the DAO Treasury and veBAL holders no longer receive fee distributions. See Protocol Fee Operations for the current model.

How were the protocol fees paid?

veBAL holders received protocol fees distributed in USDC. The fee distribution varied depending on whether fees came from core pools or non-core pools — see the Protocol Fee Model (historical) for the distribution splits that applied at the time.

When were incentives paid?

Incentives on mainnet accrued each block. Protocol fees were distributed on a weekly basis.

Was there a way to view total veBAL?

The information was available on the veBAL Dune Dashboardopen in new window.

How much BPT (B-80BAL-20WETH) was needed to maximize the multiplier? What amount needed to be staked at 1 year to hit the 2.5x boost for liquidity incentives?

The incentives boost was a function of a user's share of the pool and share of total veBAL — range-limited from 1x to 2.5x.

Community contributors built a veBAL Boost Calculatoropen in new window tool; the underlying math is explained in the historical boost-calculations reference (the page itself was retired alongside the gauge system).

If veBAL was on mainnet, could it boost staking incentives on L2?

Yes. Balancer supported cross-chain gauges, and veBAL boosted staking incentives on L2 gauges. The boost depended on the user's share of the gauge's staked liquidity and their share of total veBAL.

How did one extend their veBAL lock?

Via the veBAL UI: open the "Lock until" widget, click "+", choose the desired time, and confirm.

Did voters decide how emissions were split across networks, or was that preset?

Voters determined the amount of emissions going to gauge-listed pools on Ethereum mainnet and on L2 chains. The voting happened on Ethereum mainnet.

Was the veBAL gauge vote on-chain, and did it require gas?

Yes. Gauge votes were on-chain and cost gas. They were cast in the Balancer dApp. Other governance decisions (e.g., approving new gauges) happened via Snapshotopen in new window and were gasless.

A weekly vote for veBAL holders ended at 00:00 UTC each Thursday. If the same pool allocation persisted across epochs, no new vote or gas was needed — veBAL holders voted once unless they wanted to change their allocation.

Could votes be delegated?

veBAL gauge voting could not be delegated. Snapshot voting (covering general DAO governance and gauge approvals) could be delegated via the Snapshot delegation pageopen in new window. A list of delegates and their vote rationales lived in the Delegate Citadelopen in new window on the Balancer Forum. Note that the BIP-921 voting model now uses raw BAL across seven chains — see Voting.

How did one make a pool eligible for gauge voting?

A governance proposal was required. See the Governance Process. With BAL emissions halted by BIP-919open in new window, no new gauges are being added for BAL emissions.

Did veBAL support Gnosis Safe?

Vote-escrowed (ve) systems typically did not allow arbitrary contracts to lock — otherwise the ve token would be trivial to tokenize, defeating the lock-up's purpose. Users could lock veBAL from an EOA and delegate it to a Gnosis Safe to receive the boost. Entities interested in locking a large veBAL position via a multisig could appeal to governance for whitelisting.

Was there a repository of contract addresses for the staking and veBAL contracts?

The veBAL and gauge contracts remain deployed on-chain (locks persist until natural expiry) but are no longer used for fee distribution, voting weight, or BAL emissions.

ContractPurpose
veBALopen in new windowLocked BPTs and reported veBAL balances
Gauge Controlleropen in new windowManaged gauges and emissions
Gauge Adderopen in new windowAdded new gauges approved by governance
Mainnet Uncapped Gauge Factoryopen in new windowCreate gauges with no cap on Mainnet
Mainnet Capped Gauge Factoryopen in new windowCreate gauges with possible cap on Mainnet
Polygon Capped Gauge Factoryopen in new windowCreate gauges with a possible CAP on Polygon
Polygon Child Chain Gauge Factoryopen in new windowCreate child gauge to hold LP tokens on Polygon
Arbitrum Capped Gauge Factoryopen in new windowCreate gauges with a possible CAP on Arbitrum
Arbitrum Child Chain Gauge Factoryopen in new windowCreate child gauge to hold LP tokens on Arbitrum