Snapshot is an off-chain, gasless governance platform used by DAOs, DeFi protocols, and NFT communities to create proposals and vote with signed messages (EIP-712) stored on IPFS. Voting power is computed by pluggable strategies (ERC-20 balances, NFTs, POAPs, custom logic), and results can optionally trigger on-chain execution via the SafeSnap plugin (Safe + Reality.eth). Privacy-preserving shielded voting is available via Shutter.
Quick Facts
-
Product: Snapshot (governance client) • Storage: IPFS via Snapshot Hub (open-source).
-
Gasless UX: Proposals and votes are signed off-chain—no gas fees.
-
Voting types: Single choice, weighted, approval, quadratic, ranked choice, basic (for/against/abstain).
-
Voting power (“strategies”): Mix up to 8 strategies per space (default: erc20-balance-of; also NFTs/POAPs/custom).
-
Delegation: Built-in delegation flows (per-space or global).
Key Features
-
Gasless proposals & voting with EIP-712 signatures; results are easy to verify and widely indexed.
-
Flexible voting types: single/approval/weighted/quadratic/ranked choice; basic yes/no/abstain.
-
Pluggable strategies: compute voting power from ERC-20s, ERC-721/1155, POAPs, vesting, and custom strategies (dev guide).
-
Shielded voting (Shutter): hide votes during the window; reveal on close to reduce bandwagon effects.
-
Trustless execution (SafeSnap): execute off-chain outcomes on-chain via Safe + Reality.eth.
-
APIs & tooling: GraphQL Hub API (rate-limited, API keys), Subgraphs on The Graph, snapshot.js, webhooks.
How It Works (at a glance)
-
Create a space and pick your strategies (e.g., erc20-balance-of, plus any custom modules).
-
Propose: authors sign an off-chain message; content is stored on IPFS (via Snapshot Hub).
-
Vote: holders sign a message; Snapshot computes results by the chosen voting type and strategies.
-
(Optional) Execute: with SafeSnap, the passed proposal is resolved through Reality.eth and executed by a Safe—bringing the off-chain vote on-chain.
Chains & Compatibility
API & Integrations
-
Hub GraphQL API (hub.snapshot.org/graphql), 60 req/min by default; apply for API keys for higher limits.
-
Subgraphs: standardized endpoints on The Graph for on-chain governance data.
-
SDK & webhooks: snapshot.js for creating spaces/proposals/votes programmatically; webhooks for events.
Pricing & Fees
-
End-users: no gas to propose or vote on Snapshot.
-
On-chain execution: if you enable SafeSnap (or other on-chain actions), those transactions cost gas and follow Safe/Reality.eth rules.