CRV
CRV is the native token of the Curve protocol - a leading stablecoin DEX. The veCRV gauge system enables programmatic, onchain value direction by tokenholders.
veCRV holders control all protocol operations through Aragon v1's Voting Contract and Agent. The CRV token is immutable with programmatic inflation and no censorship capabilities. Core protocol and pool contracts are immutable.
Governance is enforced through Aragon v1's Voting Contract, which authorizes execution via the Agent contract. The Agent contract is set as the owner for all protocol-gated functions, ensuring veCRV holders control all operations.
All protocol roles are controlled by the Agent contract, ensuring veCRV holders maintain control over gauges, fees, and protocol expansion.
Gauge Addition
Only the Agent can add new gauges via add_gauge on GaugeController.
Pool Factory Ownership
New pools are deployed by Factory contracts controlled by OwnerProxy. Agent is responsible for adding new pools, giving veCRV holders control over protocol expansion.
Core protocol and pool contracts are immutable. Governance contracts (Agent, Voting) are upgradeable only by veCRV holders.
Core Contracts
Core protocol and pool contracts are immutable. The CRV Token and GaugeController have admin set to Agent but cannot be upgraded.
Agent Contract
Can be upgraded by calling setApp(Agent, ...) on the Kernel contract, which is only allowed by the Agent itself. Only veCRV holders can upgrade the Agent contract through governance voting.
Voting Contract
Can be upgraded by calling setApp(Voting, ...) on the Kernel contract, which is only allowed by the Agent itself. Only veCRV holders can upgrade the Voting contract through governance voting.
The CRV token contract is immutable with no proxy patterns or upgrade mechanisms.
CRV has a programmatic inflation schedule with yearly epochs and decreasing emission rate. All minting flows through the Minter contract based on gauge participation.
Supply Schedule
CRV inflation is released in yearly epochs: each year allows a fixed maximum amount to be minted linearly over time, and at the end of the year the minting rate is reduced by a factor of 2^(1/4). Any unminted supply from a year is permanently lost.
Minting Access
Mint can only occur through the Minter contract which validates gauge participation. Amount minted depends on veCRV balance and provided LP tokens in a gauge.
Core protocol functions are either permissionless or gated by Agent contract (hence veCRV holders). For gate control related to fees/revenues, see accrual section.
Add/Kill Gauge
To add a new gauge in GaugeController, veCRV holders must vote in majority. The admin on GaugeController is set to the Aragon Agent Contract, which sits as the final step in the governance process. Governance starts with the Aragon Voting contract that uses veCRV token for voting. veCRV holders can also kill a gauge, permanently setting its rewards to 0.
The CRV token has no transfer restrictions, blacklist functionality, or pausable transfers. There's Admin set (Agent) on the CRV token, but it can only update token's name and symbol.
veCRV holders receive 50% of all trading fees distributed as crvUSD rewards. Value flows are programmatic through the gauge system. Offchain structure shows Swiss Stake AG controls the interface and trademark.
veCRV holders receive 50% of all trading fees distributed as crvUSD rewards, plus boosted CRV emissions for liquidity provision. They also receive 80% of the accrued interest from all crvUSD markets.
CRV Emissions Rewards
Liquidity Providers deposit LP tokens into Gauge Contracts. Once the gauge receives CRV emissions, LPs can claim proportional rewards. LPs can boost rewards up to 2.5x by locking CRV for veCRV.
Pool Rewards in crvUSD
Pools have swap fees with an admin portion collected by StableSwapProxy. Fees flow through burner contracts to FeeCollector, which converts all tokens to crvUSD via CowSwapBurner and sends to FeeDistributor for veCRV holders to claim.
Borrow Rewards in crvUSD
Borrowing interest (paid in crvUSD) from controllers are sent to FeeSplitter. FeeCollector receives proportional crvUSD and sends to FeeDistributor for veCRV holders.
50% of all trading fees are distributed to veCRV holders through crvUSD rewards, while the remaining 50% goes to the respective liquidity providers of the pools. Only veCRV holders can change this behaviour, hence Curve has no separate treasury. All revenue to the people.
Gauge weights are determined programmatically by veCRV votes, not discretionary decisions.
Pool Fee Control
Pool fee changes are executed via commit_new_fee, which can only be called by the pool owner (StableSwapProxy) which in turn is restricted to parameter_admin (Agent contract).
Burner Attachment
set_burner on StableSwapProxy is gated by ownership_admin (Agent contract).
Burn Execution
The burn function invokes each coin's attached burner contract. Can be disabled by either the Agent contract or the emergency Safe multisig.
Aragon has not verified additional offchain value accrual flows to the CRV token
CRV token source (Vyper) is publicly available on GitHub and verified on Etherscan. Curve DAO contracts are open source and verified.
The CRV token contract source code (ERC20CRV.vy) is publicly available on GitHub and verified on Etherscan.
Curve DAO protocol contracts are open source on GitHub.
Aragon has not verified if the majority of veCRV voting power lies with a single party.
Aragon has not yet verified if the majority of veCRV voting power lies with a single party
Future CRV unlocks are determined by the programmatic supply schedule and veCRV system. Emissions decrease yearly by 2^(1/4). Aragon is not aware of any significant vesting cliffs.
Swiss CRV trademark is held by Swiss Stake AG. Curve interface terms identify Swiss Stake AG (Zug, Switzerland) as the contracting party.
The Swiss CRV trademark registration lists Swiss Stake AG as the owner.
The Curve interface terms identify Swiss Stake AG (Zug, Switzerland) as the contracting party.
Aragon has not yet verified all the licensing criteria associated with the CRV token or the corresponding protocol and assets
Stay up-to-date on the latest token reports
Get an email when we publish a new token report or release major updates to the Framework.
