Curveswap

Curveswap gauge voting directs CRV emissions through veCRV allocations

· last updated

Curveswap gauge voting directs Curve’s CRV emissions toward approved gauges through voting power held as veCRV on Ethereum. Holders allocate a percentage of their influence to selected gauges, and the GaugeController schedules changes for the next weekly cycle. A gauge’s relative weight determines its share of emissions. That allocation supports eligible liquidity providers or lending-market suppliers; voting alone does not create an LP position or automatically pay the voter.

Bottom line: Gauge votes take effect at the next weekly boundary, while each address must wait 10 days before changing its allocation to the same gauge.

Can one veCRV holder support several gauges?

A veCRV holder can split voting power across several approved gauges, provided the address’s total allocation stays within 100% of its available voting power. Each percentage describes how that address directs its influence. A holder may leave part unallocated, while each gauge receives support from everyone voting for it. The interface expresses these choices as percentages; the controller stores them in basis points. Allocating all personal voting power to a gauge still leaves its final emissions share dependent on the other effective weights.

Lock duration gives each allocation its voting strength

Four years is the maximum CRV lock duration, and remaining lock time determines voting strength alongside the amount locked in Ethereum’s VotingEscrow contract. veCRV represents vote-escrowed CRV and declines linearly toward the unlock date. A longer remaining duration gives the same locked amount greater influence. The lock continues independently of gauge selection, so choosing a gauge does not shorten it. Once the lock expires, its voting contribution reaches zero.

Relative weights connect individual votes to protocol emissions

The GaugeController combines each gauge’s voting weight with its gauge-type weight, then compares that product with the corresponding system-wide total. This normalization determines the gauge’s relative emissions share. Different type weights can change the relationship between raw voting weight and final allocation. Raw vote totals therefore do not describe the complete calculation. The controller records contributions with a size, decay rate and scheduled end. This allows support to decline as locks approach expiry. An unchanged allocation percentage can consequently carry less absolute influence over time.

A partial allocation leaves capacity for another gauge

Consider a hypothetical address with no other gauge allocations assigning 37.5% of its voting power to one approved gauge and 24% to another. Assume its lock extends beyond the next weekly boundary and both votes satisfy their cooldowns. How much influence remains available, and what do those percentages describe?

The allocations total 61.5%, leaving 38.5% unallocated. The first gauge receives 37.5% of that address’s applicable voting influence. Its protocol-wide share still depends on the other effective gauge weights and the applicable type weight. Increasing the first allocation reduces the address’s remaining capacity. It does not establish a fixed CRV payment to either the voter or the gauge.

Weekly activation and vote changes follow different clocks

Thursday at 00:00 UTC starts the weekly weight period, while a separate 10-day cooldown controls changes to an address’s allocation for each gauge.

The Ethereum GaugeController requires at least 10 days between votes from the same address for the same gauge. The restriction applies separately to each selected gauge for that address. Other gauge allocations retain their own update times, subject to the address’s total allocation limit.

The block timestamp of a successful vote determines which weekly boundary applies. A transaction that remains pending across the boundary cannot establish an allocation for the earlier period. New weight changes enter the next weekly cycle.

The Thursday update does not erase existing allocation percentages. They carry forward while their underlying voting strength decays. Repeating an unchanged vote every week is unnecessary, although changes to the CRV lock can require a refreshed vote.


Added CRV and lock extensions require refreshed votes

Adding CRV or extending an existing lock can increase veCRV, but previously recorded gauge votes do not automatically incorporate that extra voting power. Recasting the allocation refreshes its contribution using the updated lock. The per-gauge cooldown still governs that vote, and the change follows the normal weekly activation schedule.

A replacement vote can update the percentage directly. Setting it to zero first counts as a vote and starts the cooldown for that gauge. That prevents an immediate second change there. Moving influence between gauges also remains subject to the total-percentage limit, even when their next eligible update times differ.


DAO approval admits a gauge to the emissions system

DAO approval admits a gauge to the emissions system (Curveswap gauge voting) - illustration

View image file

A gauge must be added to the GaugeController through DAO governance before it becomes eligible for CRV emissions. Deploying a pool or gauge contract alone does not grant that eligibility.

An admission proposal can authorize adding the gauge. Weight voting then allocates influence among admitted gauges. Approval does not reserve an ongoing CRV allocation.

A gauge with zero effective relative weight receives no CRV allocation through that weight. The same distinction between admission and allocation applies to stablecoin pools and lending-market gauges.

Staking and boosting determine the depositor’s reward share

Voting selects where CRV emissions flow, while a liquidity gauge measures eligible deposited positions to calculate who earns that gauge’s rewards over time.

From pool liquidity to gauge rewards

A liquidity provider receives LP tokens representing a pool share. Staking eligible LP tokens in the pool’s gauge allows the position to accrue applicable CRV rewards. The voter and liquidity provider need not be the same address. Lending-market gauges can instead track eligible vault shares. Their deposited asset differs, although gauge voting supplies the common emissions-allocation mechanism.

The boost applies within the receiving gauge

The gauge’s CRV allocation

The controller determines the gauge-level emissions share. Increasing support can increase that share, subject to the other effective weights. The CRV emission rate also determines how much CRV that share represents.

The depositor’s CRV participation

The boost calculation uses the depositor’s eligible veCRV balance and share of staked liquidity. It can reach 2.5 times the unboosted reward-weight calculation when the gauge’s requirements are met. The percentage voted to that gauge does not enter this calculation. The boost leaves the gauge’s total CRV allocation unchanged, and external reward tokens cannot receive it.

External LP rewards and vote incentives have different recipients

External gauge rewards pay eligible depositors from supplied reward tokens, while vote incentives can compensate holders who direct voting power toward a gauge. These arrangements have separate funding and distribution conditions. Externally supplied LP rewards do not derive from the CRV inflation allocation.

Permissionless LP rewards do not require the DAO admission needed for native CRV emissions. Contract permissions still control reward administration. In LiquidityGaugeV6, the gauge manager or factory admin can register a reward token and its distributor. Only the assigned distributor can deposit that reward token. A voter-incentive arrangement has its own eligibility conditions, so an ordinary gauge vote does not automatically create a payment entitlement.


Cross-chain gauges receive Ethereum votes through root gauges

Ethereum remains the voting network when a supported gauge serves another chain, with a root gauge connecting the Ethereum allocation to its child gauge. The root receives weight through the GaugeController. Its linked child on the destination network handles deposited positions and local reward accounting. The voting target is the approved Ethereum root gauge; the child gauge serves the destination network.

In RootGauge version 1.0.0, emissions from a vote’s effective week can be minted for bridging only after that week ends. Root and child gauges need the proper linkage, and delivery also depends on their configured bridging infrastructure. The vote’s effective week alone does not establish when destination-chain rewards arrive.


Recorded votes and active weights describe different states

A vote record identifies an address’s allocation, while current relative-weight data identifies the share applying to a particular gauge and emissions week. A successful Ethereum transaction records the vote. A submitted transaction hash alone does not establish success. Voting incurs network gas costs independently of whether the voter supplies liquidity. Current and projected weight figures also need the same time basis for a meaningful comparison.

The gauge’s address, associated pool or lending market and destination network identify the target more precisely than its name alone. Voting history shows individual allocation changes. Historical relative weights show the collective outcome across time. Neither record, taken alone, describes an individual depositor’s claimable CRV balance.

Future emissions change with support and gauge status

A gauge’s future CRV allocation changes with its effective relative weight and the protocol’s emission rate, even when one voter leaves their percentage untouched. Increased support elsewhere can reduce its relative share. Changes in staked liquidity can also alter rewards per deposited share without changing that gauge’s emissions total.

In RootGauge version 1.0.0, the killed state sets its inflation rate to zero. A displayed vote allocation therefore cannot establish an active CRV stream by itself. Restoring root-gauge emissions requires the root-gauge factory’s owner to change that state. Additional voting weight does not perform that action.

Curveswap gauge voting: reader questions

What is the smallest nonzero gauge allocation the controller accepts?

The Ethereum GaugeController accepts allocations in increments of 0.01% of an address’s voting power. One basis point represents that increment. It measures the proportion of the holder’s influence assigned to a gauge. The veCRV balance determines the strength behind that percentage; the increment does not specify a minimum CRV reward.

Is 2500 veCRV required to cast a gauge-weight vote?

The 2500 veCRV threshold concerns creating an on-chain DAO proposal, not casting a gauge-weight allocation. Gauge voters use the power from their own eligible CRV lock. A smaller positive balance can participate, provided the lock-expiry and cooldown conditions are satisfied. Creating a proposal to admit a gauge is a separate governance action.

Why can a positive veCRV balance still fail the lock-expiry check?

The Ethereum GaugeController requires the lock to end strictly after the next weekly boundary. A positive balance before that boundary does not establish eligibility if its lock expires too soon. This condition concerns when the recorded support would begin. It is separate from the amount of CRV locked.

Does allocating a gauge vote transfer my locked CRV into the pool?

A gauge-weight vote records an allocation without transferring the holder’s locked CRV into the selected pool. The CRV remains in VotingEscrow under its existing lock. Providing pool liquidity and staking LP tokens involve different assets and operations. A voting percentage does not represent ownership of the pool’s reserves.

Can I vote on a DAO proposal after allocating veCRV to gauges?

Allocating veCRV influence to gauges does not spend the balance or prevent proposal voting. Proposal eligibility follows its own rules, including holding veCRV when that proposal began and participating while it remains open. The gauge allocation limit applies across gauge votes.

Are my gauge vote allocations public?

Gauge-weight votes are public on-chain transactions tied to the voting address. The GaugeController’s vote event records the address, gauge, allocation and timestamp. This makes allocation history observable even when an address does not display a personal name.

Will changing gauge weights alter CRV that an LP has already accrued?

A new gauge-weight vote changes the future allocation from its effective weekly period. It does not redirect previously accrued CRV to the voter. Liquidity gauges account for depositor rewards over elapsed periods, and the applicable claiming contract tracks amounts already minted. Future reward rates and an existing accrued balance are different quantities.

Does casting a gauge vote also claim my veCRV fee revenue?

Casting a gauge vote does not claim the protocol revenue attached to holding veCRV. Fee revenue has a separate claiming mechanism, accessible through Claim Fees in the DAO’s Lock CRV interface. Pool-level CRV rewards are another category.