snapshot
Blog
  • Welcome to Snapshot docs
  • User guides
    • Spaces
      • What is a space?
      • Create a space
        • Register an ENS domain
        • Alternative way to create a space
      • Settings
      • Sub-spaces
      • Space verification
      • Space hibernation
      • Add a custom domain
      • Add a skin
      • Space roles
      • Space badges
      • Snapshot Pro
      • Space handbook
        • Most common
        • Voting threshold
        • Anti-whale
        • Sybil resistance, scam & spam prevention
        • Liquidity / staking pool
        • Delegation
        • NFT voting
          • Most common: ERC-721
          • Multi-token: ERC-1155
          • POAP - Proof of Attendance
        • Custom calculations
    • Create a proposal
    • Voting
      • Vote on a proposal
      • Delegate your voting power
    • Voting strategies
    • Validation strategies
    • Using Safe multi-sig
    • Delegation
  • Developer Guides
    • Create a voting strategy
    • Create a validation strategy
    • Identify integrator activity
    • Add a network
  • Tools
    • Tools overview
    • Snapshot.js
    • API
      • API Keys
    • Webhooks
    • Subgraphs
    • Mobile notifications
    • Bots
  • Snapshot X
    • Overview
    • User guides
      • Create a space
      • Proposals
      • Voting
      • Safe execution setup
    • Protocol
      • Overview
      • Space actions
      • Space controller actions
      • Authenticators
      • Proposal validations
      • Voting strategies
      • Starknet specifics
      • Execution strategies
      • Audits
    • Services
      • Architecture
      • API
      • SX.js
      • UI
      • Mana
  • V1 interface
    • Email notifications
    • Plugins
      • What is a plugin?
      • Create a plugin
      • oSnap
      • SafeSnap
      • POAP
      • Quorum
      • Domino notifications
      • Galxe
    • Boost
  • Community
    • Help center
    • Discord
    • X (Twitter)
    • GitHub
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. FAQs
  2. I'm a Snapshot user

Voting strategies

Last updated 1 year ago

Was this helpful?

What is a strategy?

Voting strategy is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. You can read more about them in our documentation: Voting strategies

I want to test a strategy, how can I do it?

You can use the playground on Snapshot available from the strategy’s page:

How to limit voting to only those users who own a specific amount of the token(s)?

You need to setup a basic voting validation which allows you to select a specific strategy and define the minimum threshold required for the user to vote. Have a look at our documentation here to learn more: Validation strategies

Why is my voting power equal to 0?

There might be multiple reasons for that. Most usually your voting power is equal to 0 as you didn’t have the required tokens in you wallet at the time of proposal creation. Have a look at to explore other potential reasons.

Why is my voting power reduced? I’m a delegate.

If the proposal’s space is using the and the address which delegated its voting power to you casts a vote on the specific proposal, your total voting power is reduced by the delegation which you received from the other address.

To give an example (using the delegation strategy):

  • B has voting power of 20 of its own.

  • A has voting power of 10 and delegates it to B.

  • B has now a voting power equal to 30.

  • If A does not vote, B’s voting power is 30.

  • If A does vote, B’s voting power is 20. (30 reduced by 10)

I'm looking to set up our Snapshot space with 3 different voting strategies for 3 types of proposals. How can I do it?

You can use sub-spaces on Snapshot. This solution allows you to link different spaces and set different settings for each of them depending on your needs. Have a look at our documentation to learn more: Sub-spaces

I want to give one vote per one wallet to the voters of my space, regardless of their wallets’ balance. Which strategy should I use?
How can I give 1 voting power to all voters holding a specific token regardless of its amount?

Here is an example of the basic strategy setup for voters holding DAI tokens:

{
  "minScore": 1, # define the minimum required amount of token
  "strategies": [
   {
      "name": "erc20-balance-of",
      "params": { # define the specific token details
        "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
        "symbol": "DAI",
        "decimals": 18
      }
  ]
}

2. Voting strategy

I am not a developer, can someone work on my strategy for money?

Snapshot is not reponsible for the agreement between you and the contributors.

You can use the strategy.

It's a two step process - you have to define a and a for your space. 1. Voting validation In order to allow users to participate in voting, setup a Basic voting validation in the space settings. You can find it in the voting section in space settings: When defining the voting validation parameters, you have the option to specify the strategies for the tokens and the minScore required for voters to be eligible to vote:

Use the strategy to give voting power equal to 1 to any user eligible to vote - users that passed the voting validation described in step 1.

Yes. You can create an issue on and then post in on the channel on Discord.

🙎
✨
ticket
https://github.com/snapshot-labs/snapshot-strategies/issues
#developers
this discussion
delegation strategy
validation strategy
voting strategy
Ticket