veToken (Vote-Escrowed Token)
Learn what veTokens are and how vote-escrow locking drives DeFi governance and yield incentives.
Key Takeaways
- A veToken is a non-transferable governance token obtained by locking a protocol's native token for a fixed duration, granting voting power and yield boosts that scale with lock length.
- The model originated with Curve Finance's veCRV and has been adopted by dozens of protocols including Balancer, Velodrome, Aerodrome, and Frax, each adding variations to the core vote-escrow mechanism.
- veTokens align long-term holders with protocol health, but the illiquidity tradeoff spawned an ecosystem of liquid wrappers (cvxCRV, sdCRV) and bribe marketplaces that redirect governance influence.
What Is a veToken?
A veToken (vote-escrowed token) is a non-transferable token that represents locked governance rights in a DeFi protocol. Users obtain veTokens by depositing a protocol's native token into a vote-escrow contract for a chosen lock period. The longer the lock, the more veTokens a user receives, and the greater their voting power and reward multipliers.
The "ve" prefix stands for "vote-escrowed." Unlike standard governance tokens that can be bought, used to vote, and immediately sold, veTokens force holders to commit capital for months or years. This commitment mechanism filters out short-term speculators and gives the most influence to participants with the longest time horizons.
Curve Finance introduced the veToken model in 2020 with veCRV, establishing a template that reshaped how DeFi protocols think about tokenomics and governance. The model has since been adopted by roughly a third of major DAOs, according to industry research.
How It Works
The veToken mechanism centers on a time-weighted locking system. Using Curve's veCRV as the reference implementation:
- A user deposits CRV tokens into the VotingEscrow contract and selects a lock duration between one week and four years
- The contract mints veCRV proportional to both the amount deposited and the lock duration
- The user's veCRV balance decays linearly over time, reaching zero at the unlock date
- When the lock expires, the user can withdraw their original CRV tokens
The core formula is straightforward: voting power equals the locked amount multiplied by the remaining lock time divided by the maximum lock time.
# veCRV voting power formula
# w = a * t_remaining / t_max
#
# Example: 1,000 CRV locked for 4 years
# w = 1000 * 4/4 = 1,000 veCRV
#
# Same 1,000 CRV locked for 1 year
# w = 1000 * 1/4 = 250 veCRV
#
# After 3 years of a 4-year lock (1 year remaining)
# w = 1000 * 1/4 = 250 veCRV (decayed from 1,000)Locks are irreversible. Once CRV is deposited, it cannot be withdrawn until the lock period ends. veCRV tokens are non-transferable: they cannot be sent to another address, traded on a DEX, or used as collateral. A user can hold only one lock at a time, but can extend its duration or add more CRV at any point. Lock end times are rounded to the nearest whole week.
The VotingEscrow Contract
Curve's reference implementation is written in Vyper and deployed on Ethereum mainnet. The contract uses a checkpoint system that records slope and bias values for each user and globally, allowing it to compute any address's voting power at any timestamp without iterating over all users.
# Simplified VotingEscrow storage (Vyper)
# Deployed at: 0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2
struct Point:
bias: int128 # current voting power
slope: int128 # rate of decay per second
ts: uint256 # timestamp
blk: uint256 # block number
# Per-user lock state
user_point_history: HashMap[address, Point[1000000000]]
# Global aggregated state
point_history: Point[100000000000]
# Scheduled slope changes at future timestamps
slope_changes: HashMap[uint256, int128]
MAXTIME: constant(uint256) = 4 * 365 * 86400 # 4 yearsScheduled slope changes are recorded so the contract knows when locked balances expire, enabling efficient global balance calculations without periodic user check-ins.
What veTokens Control
In Curve's implementation, veCRV holders gain four capabilities:
- Voting rights on all DAO governance proposals (creating proposals requires a minimum of 2,500 veCRV)
- Gauge voting to direct weekly CRV emissions toward specific liquidity pools
- Boosted liquidity mining rewards of up to 2.5x on pools where they provide liquidity
- A share of protocol trading fees collected across all Curve pools
The gauge voting power is the most consequential feature. By directing CRV emissions, veCRV holders decide which pools receive the highest rewards, effectively controlling where liquidity flows. This power is what sparked the Curve Wars: a competition among protocols to accumulate veCRV and steer emissions toward their own pools.
Protocols Using veTokens
The veToken model has spread well beyond Curve. Each protocol adapts the core lock-for-governance pattern to its own needs:
| Protocol | veToken | Max Lock | Notable Variation |
|---|---|---|---|
| Curve | veCRV | 4 years | The original implementation; linear decay to zero |
| Balancer | veBAL | 1 year | Locks 80/20 BAL/WETH LP tokens instead of a single asset |
| Velodrome | veVELO | 4 years | ve(3,3) model; lock positions are transferable NFTs |
| Aerodrome | veAERO | 4 years | ve(3,3) on Base; NFTs can be merged, split, or made permanent |
| Frax | veFXS | 4 years | Voting power decays to a floor of 1 veFXS instead of zero |
The ve(3,3) variant, originally proposed by Andre Cronje through the Solidly protocol, combines Curve-style vote-escrow with game-theoretic incentives. In ve(3,3) systems, lockers receive anti-dilution rebases and trading fees flow directly to voters rather than LPs. This design has become particularly successful on Layer 2 chains through Velodrome (Optimism) and Aerodrome (Base).
Liquid Wrappers
The veToken model's greatest strength (forced illiquidity) is also its greatest friction point. Locking tokens for four years is a significant commitment, especially in volatile markets. Liquid wrapper protocols emerged to bridge this gap, accepting deposits and issuing tradeable receipt tokens that represent claims on locked veToken positions.
Major Liquid Wrappers for veCRV
- cvxCRV (Convex Finance): the largest wrapper by deposits, holding a significant share of the total veCRV supply. Convex aggregates CRV from many depositors, locks it permanently, and redistributes boosted rewards. Holders receive trading fees and CRV emissions but do not retain individual voting or bribe rights.
- sdCRV (Stake DAO): passes both bribes and governance voting power through to stakers, making it more aligned with the original veToken intent. Liquidity is thinner than cvxCRV.
- yCRV (Yearn Finance): auto-compounds all rewards (including bribes) back into more CRV. Its market price typically sits below a 1:1 CRV peg, reflecting the illiquidity discount.
These wrappers introduce a layer of DeFi composability: the receipt tokens can be staked, lent, or used as collateral in other protocols. However, they also concentrate governance power in the hands of wrapper protocols. Convex, for example, controls its entire veCRV position as a single voting bloc, giving it outsized influence over Curve's gauge emissions.
Use Cases
Emissions Direction
The primary use case for veTokens is directing protocol emissions through gauge voting. By voting for specific gauges, veToken holders determine which liquidity pools receive the highest token rewards. Projects seeking deep liquidity for their tokens will acquire veTokens (or pay bribes to existing holders) to steer emissions toward their pools.
Protocol Revenue Sharing
Many veToken systems distribute protocol trading fees to lockers. In Curve, a portion of all swap fees across every pool flows to veCRV holders proportional to their balance. This creates a direct link between protocol usage and holder returns, similar to how a fee switch works in other DeFi protocols.
Bribe Markets and Governance Influence
Because veToken votes control valuable emissions, a secondary market for votes has developed. Platforms like Votium (for veCRV) and Hidden Hand (multi-protocol) let projects deposit incentives that are distributed to voters who support specific gauges. This bribe marketplace ecosystem can make locking highly profitable: veCRV holders have earned annualized returns of 30% or more from bribes alone during peak demand periods.
Sustainable Tokenomics Design
For protocol designers, the veToken model offers a framework for reducing sell pressure and aligning incentives. By requiring locks, the circulating supply of the governance token decreases, potentially supporting price stability. The model also creates productive use for tokens beyond speculation: holders have a reason to lock rather than sell, and the protocol gains committed governors. For a deeper analysis of how DeFi protocols structure sustainable revenue models, see the DeFi revenue model research.
Risks and Considerations
Illiquidity Risk
The most obvious risk is capital lock-up. A four-year lock means the depositor cannot access their tokens regardless of market conditions. If the underlying token price drops 90%, the holder has no exit. Liquid wrappers mitigate this but introduce their own risks: wrapper tokens can trade below peg during market stress, and depositing into a wrapper means permanently giving up direct control of the locked position.
Governance Concentration
veToken systems tend to concentrate power among whales and meta-governance protocols. Research has shown that voting behavior in veCRV closely follows bribes set by higher-level protocols like Convex, meaning governance decisions are driven more by economic incentives than by informed protocol stewardship. A single entity controlling a large veToken position can steer emissions toward low-utility pools for its own benefit.
Complexity and Attack Surface
The VotingEscrow contract manages time-dependent state with slope and bias calculations, making it more complex than a standard ERC-20 token. The checkpoint mechanism, while gas-efficient, increases the audit surface. Protocols forking Curve's Vyper implementation into Solidity must carefully handle integer arithmetic and rounding behavior. Additionally, the interaction between veTokens, gauges, bribe markets, and liquid wrappers creates systemic dependencies: a bug or exploit in any layer can cascade through the stack.
Diminishing Influence Over Time
Because veToken balances decay linearly, a holder who locks and does nothing will see their influence shrink every day. Maintaining voting power requires either extending the lock repeatedly (recommitting to the full lock period) or depositing additional tokens. This creates a "treadmill" dynamic where passive holders gradually lose relevance to active participants who continuously extend.
Why It Matters
The veToken model introduced a new primitive for aligning incentives in decentralized systems: time-locked commitment as proof of long-term interest. Before veTokens, most governance tokens suffered from a mercenary voter problem where speculators could borrow tokens, vote for proposals that benefited them, and exit immediately. The vote-escrow lock makes this economically impractical.
Beyond governance, the model has implications for any protocol that needs to distribute resources among competing demands. Gauge-based emission direction, powered by veToken votes, has become the dominant pattern for liquidity mining programs that need to adaptively allocate rewards. For protocols building on Bitcoin Layer 2s like Spark, the principles behind veTokenomics offer a reference for designing incentive structures that reward committed participants without requiring centralized decision-making.
This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.