Skip to content

Proposal Voting

Voting is how you make your voice heard in your community. It's like participating in an election, but instead of choosing politicians, you're choosing what changes should happen to the platform you use.

How Voting Works

Think of DAO voting like a democratic election with some special features designed for fairness and security.

The Basic Idea

  • Everyone who owns governance tokens gets to vote
  • The more tokens you have, the stronger your vote (like having more shares in a company)
  • Important: Your voting power is locked in when the proposal starts (so you can't buy tokens just to influence a vote)
  • You have three options for every proposal

Your Voting Options

For every proposal, you have three choices:

Option What it means When to choose this Effect
👍 Yes (Support the Proposal) "I think this is a good idea and want it to happen" You believe the proposal will benefit the community Your vote counts toward making the proposal successful
👎 No (Oppose the Proposal) "I don't think this is a good idea" You think the proposal could harm the community or isn't necessary Your vote counts against the proposal
🤷 Abstain (No Strong Opinion) "I don't have a strong opinion, but I want to participate" You're neutral on the issue but want to help reach the minimum participation requirement Shows you participated but doesn't count for or against the proposal

When to Abstain

Abstaining is useful when you want to help the community reach the minimum participation threshold but don't feel qualified to judge the proposal, or when you have a conflict of interest.

How Your Vote Power is Calculated

Your voting power depends on how many governance tokens you owned when the proposal was created - not how many you have now.

Why This Matters

Imagine if voting power changed during voting:

  • Someone could buy a lot of tokens just before voting ends
  • Vote for their preferred option
  • Then sell the tokens immediately
  • This would be unfair to long-term community members

The "Snapshot" System

When a proposal starts accepting votes, the system takes a "photograph" (snapshot) of everyone's token holdings. Your voting power for that proposal is locked in based on this snapshot.

Example:

  • You owned 100 tokens when Proposal A started voting
  • You later bought 50 more tokens
  • For Proposal A, you still only have 100 votes
  • For any new proposals created after your purchase, you'd have 150 votes

Participation Requirements

For a proposal to pass, two things must happen:

1. Enough People Must Vote (Quorum)

  • There's a minimum participation threshold
  • This prevents a small group from making decisions for everyone
  • Both "Yes," "No," and "Abstain" votes count toward this requirement

2. More "Yes" Than "No" Votes

  • Simple majority rule among those who took a position
  • "Abstain" votes don't count for or against, only toward participation

Example:

  • 1000 people need to vote minimum (quorum)
  • Actual votes: 600 Yes, 300 No, 200 Abstain
  • Result: ✅ Passes (1100 people voted, meeting quorum, and Yes > No)

How to Vote

Step 1: Make Sure You Can Vote

Before voting, check that:

  • You owned tokens when the proposal snapshot was taken
  • You've "activated" your voting power (called delegation - don't worry, you can delegate to yourself)
  • The proposal is still accepting votes
  • You haven't already voted on this proposal

Step 2: Research the Proposal

Take time to understand:

  • What exactly is being proposed
  • Why the proposer thinks it's needed
  • What other community members are saying
  • How it might affect you and the platform

Step 3: Cast Your Vote

Once you're ready, go to the DeGov.AI voting interface and click the top right button to vote.

Step 4: Track the Results

Monitor:

  • How the voting is progressing
  • Whether enough people are participating
  • Discussion and reactions from the community

Letting Others Vote for You (Delegation)

Sometimes you might want someone else to vote on your behalf. This is called delegation.

Why Delegate?

  • Time constraints: You don't have time to research every proposal
  • Expertise: Someone else knows more about certain topics
  • Trust: You trust someone's judgment on governance matters

Types of Delegation

Vote for Yourself (Self-Delegation):

  • You keep control of your own votes
  • Most common choice for active participants
  • You must do this even to vote for yourself (it's a one-time setup)

Choose a Representative:

  • Pick someone you trust to vote on your behalf
  • They use their judgment plus your voting power
  • You can change your choice anytime

Choosing a Good Representative

Look for people who:

  • Vote regularly and thoughtfully
  • Explain their reasoning clearly
  • Share your values and priorities
  • Are active in community discussions
  • Have relevant expertise

Delegation is Flexible

You can change who you delegate to at any time, and you always keep ownership of your tokens. Only the voting power is shared.

Getting the Most from Voting

For New Voters

  1. Start small: Begin with proposals you understand well
  2. Ask questions: The community is usually happy to help explain things
  3. Watch and learn: Observe how experienced voters approach decisions
  4. Stay engaged: Follow up on proposals you voted for

For Experienced Voters

  1. Help newcomers: Share your knowledge and experience
  2. Write explanations: Help others understand why you vote certain ways
  3. Stay objective: Consider all sides before deciding
  4. Think long-term: Consider how decisions will affect the community's future

Building a Better Community

  1. Encourage participation: Help others get involved in voting
  2. Promote education: Share resources and explanations
  3. Foster respectful debate: Disagree constructively
  4. Celebrate good governance: Recognize when the system works well

Common Voting Issues and Solutions

"I Don't Have Any Voting Power"

Possible causes:

  • You bought tokens after the proposal snapshot
  • You haven't delegated your voting power (even to yourself)
  • Your wallet isn't connected properly

Solutions:

  • Check when you acquired your tokens vs. when the proposal was created
  • Complete the delegation process
  • Verify your wallet connection

"My Vote Didn't Go Through"

Possible causes:

  • The transaction failed due to network issues
  • You ran out of gas (transaction fee)
  • The voting period ended

Solutions:

  • Check your transaction history
  • Try again with higher gas fees
  • Verify the proposal is still accepting votes

"I Changed My Mind"

Unfortunately, once you vote on a proposal, you usually can't change it. This ensures the integrity of the voting process. Make sure you're confident in your choice before voting.

Learn More

Want to explore other aspects of governance?


Technical Implementation Details

For developers and technically-minded users:

Smart Contract Functions

Core voting functionality:

// Cast a vote
function castVote(uint256 proposalId, uint8 support) public returns (uint256)

// Vote with explanation
function castVoteWithReason(uint256 proposalId, uint8 support, string calldata reason) public returns (uint256)

// Vote using signature
function castVoteBySig(uint256 proposalId, uint8 support, uint8 v, bytes32 r, bytes32 s) public returns (uint256)

Vote Values

  • support = 0: Against
  • support = 1: For
  • support = 2: Abstain

Voting Power Calculation

function getVotes(address account) public view returns (uint256)
function getPastVotes(address account, uint256 blockNumber) public view returns (uint256)

Quorum Logic

function quorum(uint256 blockNumber) public view returns (uint256)
function hasVoted(uint256 proposalId, address account) public view returns (bool)

Security Features

  • Reentrancy protection on voting functions
  • Signature replay protection using nonces
  • Vote weight verification against snapshot
  • Proposal state validation before accepting votes

Last update: June 25, 2025
Created: June 25, 2025