What it is
Snapshot governance (named after the popular Snapshot tool, but describing the general pattern) lets token or NFT holders vote on proposals off-chain by cryptographically signing their vote with their wallet, instead of submitting an on-chain transaction. Voting power is calculated from a snapshot of token balances at a specific past block, so nobody can buy tokens after a proposal appears just to swing the vote.
How it works
- Someone with proposal rights (often anyone holding a minimum token amount) publishes a proposal with a description and voting options to an off-chain platform.
- The platform records a specific past block number as the snapshot point, and voting power for every participant is calculated from token (or NFT) balances at that exact block.
- During the voting window, holders sign a message expressing their choice (e.g., "yes," "no," or a ranked/weighted option) using their wallet's private key — this is a cryptographic signature, not a blockchain transaction, so it costs no gas.
- The signed votes are collected and stored off-chain (often on a decentralized storage layer) along with the signatures, so anyone can independently verify who voted for what and that the signature is genuine.
- Voting power is typically weighted by token balance, sometimes with delegation (holders can assign their voting power to another address without transferring tokens).
- When voting closes, the platform tallies results based on the recorded balances and signatures.
- The outcome is usually advisory: a multisig, core team, or DAO executor reads the result and then manually or programmatically executes the corresponding on-chain action — the vote itself does not automatically move funds or change contract state.
Why designers use it
- Removes gas costs as a barrier to voting, letting even small holders participate without paying to express an opinion.
- Enables fast, low-friction signaling on proposals before committing to an expensive or irreversible on-chain vote.
- Keeps a fully auditable, signed record of sentiment without requiring every voter to interact with a smart contract.
- Lets communities experiment with voting formats (quadratic, ranked-choice, weighted) that would be costly or complex to implement in a fully on-chain contract.
Failure modes
- Non-binding execution gap: because the vote doesn't directly trigger on-chain action, whoever holds execution power (a multisig or team) can, in principle, ignore or delay implementing the result.
- Low-stakes voter apathy or capture: since votes cost nothing to cast, participation can be low, letting a small, motivated bloc (or a single whale) swing outcomes that affect the whole community.
- Vote buying and delegation abuse: because voting power is just a balance snapshot, tokens can be borrowed or rented (including via flash loans in on-chain variants) or delegated in ways that obscure real ownership behind the vote.
- Sybil and wallet-splitting: without identity verification, a single actor can split holdings across many wallets to appear as multiple independent voters if the tally weights participation rather than pure balance.
- Platform or storage dependency: if the off-chain voting platform or its storage layer goes down or is compromised, historical votes and ongoing proposals can become unavailable or disputed.
What to check before using it
- Clarify explicitly, in governance docs, whether snapshot votes are binding or advisory, and who is accountable for executing the result.
- Set a minimum quorum and proposal threshold so a tiny minority can't pass or block decisions that affect everyone.
- Decide how (or whether) delegation works and make delegated voting power visible to reduce hidden concentration.
- Choose a snapshot block far enough before voting opens that it can't be gamed by last-minute token acquisition.
- Confirm the voting platform's data (proposals, votes, signatures) is stored somewhere durable and independently verifiable, not solely on a single company's servers.