Governance, DAOs & tokenomics

vote delegation

Vote delegation lets a token holder keep their tokens but hand the voting power those tokens carry to someone else — a delegate who will actually show up and vote. It is a direct response to a stubborn reality: most token holders never vote, because reading proposals, understanding contract upgrades, and voting on-chain costs time, attention, and gas. Delegation lets the apathetic-but-aligned majority lend their weight to informed, active representatives without giving up ownership of a single token.

Technically, voting-enabled tokens (like Compound's COMP or any ERC20Votes token) track a separate 'voting power' that follows a delegate pointer rather than the raw balance. Calling delegate(address) moves all of your voting weight to that address; the contract keeps historical checkpoints so a proposal can read each delegate's voting power at its snapshot block. A subtle and frequently-missed detail in these systems is that you must delegate — often to yourself — for your tokens to count at all; tokens that have never been delegated carry zero voting power. Delegation is also revocable and re-assignable at any time, and your tokens never leave your wallet.

This produces a form of liquid democracy: representation that you can rebind whenever you like, rather than a fixed term. Well-known delegates (university blockchain clubs, DeFi researchers, professional delegate firms) publish voting rationales and build reputations, which raises both participation and the average quality of decisions. The risks mirror representative democracy generally: delegation concentrates power in a handful of large delegates, voters rarely re-evaluate their choice, and a delegate can be bribed or captured. Many DAOs now run delegate platforms and incentive programs precisely to keep the delegate set diverse, accountable, and active.

// COMP / ERC20Votes-style delegation
comp.delegate(myAddress);        // activate my own tokens' voting power
comp.delegate(trustedDelegate);  // lend my voting power to a delegate; tokens stay in my wallet
// a proposal later reads comp.getPastVotes(delegate, proposalSnapshotBlock)

Delegation moves voting power, not tokens — and unactivated tokens count for nothing.

A common surprise: in Compound/ERC20Votes-style systems, simply holding the token gives you no voting power until you call delegate() — even if you only ever delegate to yourself. Undelegated supply is, governance-wise, silent.