What are Voting Strategies?
A voting strategy is a contract that:- Validates user eligibility - Checks if a user can vote or propose
- Calculates voting power - Returns the user’s voting weight
- Provides parameters - Generates proof data needed for the calculation
Strategy Interface
All strategies implement a common interface:EVM Strategies
Snapshot X supports multiple strategies for EVM-based spaces:Vanilla Strategy
The simplest strategy - gives everyone 1 vote.Token Balance Strategies
OpenZeppelin Votes (ozVotes)
Reads voting power from ERC20Votes or ERC721Votes tokens:params field contains the token contract address.
Use case: Token-weighted voting using OpenZeppelin’s Votes extension.
Compound (comp)
Reads voting power from Compound-style governance tokens:params field contains the COMP token address.
Use case: Token-weighted voting using Compound’s voting token interface.
Whitelist Strategy (merkleWhitelist)
Allows only whitelisted addresses with predefined voting power:params: Merkle root hashmetadata: Array of{ address, votingPower }entries
Starknet Strategies
Starknet spaces support additional strategies for cross-chain governance:EVM Slot Value (evmSlotValue)
Reads storage slots from Ethereum contracts and proves them on Starknet:params: Comma-separated config valuesmetadata:{ contractAddress, slotIndex }
ERC20 Votes (erc20Votes)
Reads voting power from ERC20Votes tokens on Starknet. Use case: Token-weighted voting using Starknet tokens.OZ Votes Storage Proof (ozVotesStorageProof)
Proves OpenZeppelin Votes balances from Ethereum to Starknet using storage proofs. Configuration:params: { trace: 208 | 224 } for different proof types.
Use case: Cross-chain voting with cryptographic proofs instead of bridges.
Offchain Strategies
Offchain spaces can use custom validation strategies:Only Members
Only allows space members to vote:Remote VP
Delegates voting power calculation to Snapshot’s scoring API:Remote Validate
Delegates validation to external services:Using Strategies
When creating a space, configure voting strategies:Strategy Resolution
Strategies are resolved from network configuration:Spaces
Learn about governance spaces
Authenticators
Understand user authentication
Creating Proposals
Create your first proposal
Custom Strategies
Build custom voting strategies