Snapshot: Voting, Weight & Proposal Creation
How to give specific hats voting access & voting weight in Snapshot polls
The Basic Steps
Snapshot is an off-chain voting platform that allows communities to participate in the decentralized governance. But even though Snapshot votes happen off-chain, Snapshot can still read what hats an address is wearing to determine eligibility to create proposals, vote on proposals, and/or assign a specific voting weight.
There are three primary ways to attach Snapshot authorities to Hats:
Only allowing certain hats to create a new proposal
Only allowing certain hats to vote on a proposal
Assigning different voting weights to different hats
Following is a guide to implement each of these authorities.
Note: Distinct sets of strategies require distinct Snapshot spaces. If you want to enforce different space settings for proposal creation, voting access, and voting weight (e.g., giving a specific hat voting access to vote on some proposals but not others), you will need to set up a different Snapshot space for each collection of settings. Fortunately, Snapshot makes it possible for organizations to create multiple spaces and link them together. See here for more details on how to set up multiple spaces and link them together.
1. Only allowing certain hats to make a new proposal
As an admin of your Snapshot space:
Enter the Settings
Select Proposal
Then under Validation, select Basic.
In the window that appears:
Set "Minimum score" to 1
Select "Use custom strategies"
Select "erc1155-balance-of-ids" for the strategy
Select the network your hats are on
Then enter the following under Params:
2 & 3: Only allowing certain hats to vote on a proposal + assigning different voting weights to different hats
These use cases are combined because they are implemented simultaneously.
As the admin of the Snapshot space:
Enter the Settings
Select Strategies
Here you can set up to 8 strategies for your Snapshot space. For the purposes of hat-gating voting access and voting weight, you will only need to set up one strategy (unless your hats are on different networks, in case you'll need one strategy per network).
To set up a strategy:
Click the "+ Add" button
Select "erc1155-weighted-by-id" for the Strategy type
Select the network your hats are on
Enter the following into the box:
And where X = the voting weight you want to assign to Hat-ID-1, Y = the voting weight for Hat-ID-3, and so on.
NOTE: Voting weight from Snapshot strategies is cumulative! So if someone is wearing two different hats that are each allowed to vote on a proposal, one of which comes with a voting weight of 1 and the other with a voting weight of 2, they will actually be able to vote on the proposal with a voting weight of
Link your Hats tree to Snapshot to automatically display Snapshot authorities
This step will enable the Hats app to automatically detect and display Snapshot related authorities in your Hats tree:
Skip this step if your tree's top-hat already includes the relevant Snapshot space(s).
Select "Edit Tree"
Locate and select the tree's top-hat
In the "Hat Basics" section, add the relevant Snapshot spaces. A space ID can be found in its URL. For example, if the Snapshot space page is https://snapshot.org/#/hatsprotocol.eth, then its ID is 'hatsprotocol.eth'.
Snapshot authorities will now be displayed on the relevant hats:
Last updated