Skip to content

Delegation and Governance

Sage token-governed DAOs use ERC20Votes delegation: you hold SXXX, delegate voting power, then vote on proposals. There is no stake-to-vote flow.


Governance Shapes

Your participation steps depend on the DAO’s governance profile:

  • Operator / Council DAOs: no token voting; a council Safe or operator EOA proposes/executes.
  • Token-governed DAOs: token holders propose and vote; execution is either council-only or permissionless after timelock.

Check your DAO's governance profile:

sage governance dao info 0xYourDAO

Delegation (Required)

With ERC20Votes, tokens have 0 voting power until delegated.

Self-delegate on-chain:

# Using cast (foundry)
cast send $SXXX_TOKEN 'delegate(address)' $YOUR_ADDRESS \
  --rpc-url $RPC_URL --private-key $PRIVATE_KEY

# Or use the web app delegation UI

Check delegation on-chain:

cast call $SXXX_TOKEN 'delegates(address)(address)' $YOUR_ADDRESS \
  --rpc-url $RPC_URL

Voting Requirements (minVotesToVote)

Token-governed DAOs enforce a low-friction vote gate:

  • You can vote iff your effective votes at the proposal snapshot are minVotesToVote (default: 1 SXXX).
  • This prevents 0-weight vote spam and makes per-voter incentive farming via wallet-splitting more costly.

Check your delegation status to confirm you have enough voting power:

cast call $SXXX_TOKEN 'getVotes(address)(uint256)' $YOUR_ADDRESS \
  --rpc-url $RPC_URL

Proposing Requirements (proposalThreshold)

Proposing is gated separately from voting:

  • You can propose iff your effective votes at the proposal snapshot are proposalThreshold (typically much higher than 1 SXXX).

Check your delegation status to confirm you meet the threshold:

cast call $SXXX_TOKEN 'getVotes(address)(uint256)' $YOUR_ADDRESS \
  --rpc-url $RPC_URL

NFT Voting Multipliers (Optional)

Some DAOs use NFT-based voting multipliers to reward contributors with increased governance influence.

Base Votes (from SXXX delegation) × Multiplier NFT = Effective Votes

Check multiplier status:

sage multiplier status --dao 0xYourDAO

Quick Reference

# Check DAO governance profile
sage governance dao info 0xDAO

# Activate voting power (on-chain delegation via cast or web app)
cast send $SXXX_TOKEN 'delegate(address)' $YOUR_ADDRESS

# Check delegation status
cast call $SXXX_TOKEN 'getVotes(address)(uint256)' $YOUR_ADDRESS

# List proposals
sage governance proposals list --dao 0xDAO

# Vote
sage governance proposals vote <id> for --dao 0xDAO

# Execute (after timelock, if applicable)
sage governance proposals execute <id> --dao 0xDAO