Snapshot: Voting, Weight & Proposal Creation
How to give specific hats voting access & voting weight in Snapshot polls
Last updated
How to give specific hats voting access & voting weight in Snapshot polls
Last updated
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.
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.
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:
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
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:
Replace Hat-ID-1, Hat-ID-2, and Hat-ID-3 with the specific hat token IDs that you want to give permission to post a new Snapshot proposal in this space (be sure to keep the quotations around each ID). You can add as many different hat token IDs as you want, using the convention above. See for details on how to find specific hat token IDs.
Replace Hat-ID-1 and Hat-ID-2 with the specific hat token IDs that you want to give permission to vote on Snapshot proposals in this space (be sure to keep the quotations around each ID). You can add as many different Hat IDs as you want, using the convention above. See for details on how to find specific hat token IDs.