Introducing Sablier’s Snapshot Voting Strategies

Voting on governance proposals using streamed tokens? It’s now possible.

Introducing Sablier’s Snapshot Voting Strategies

A lot of Sablier users are DAOs with decentralized governance systems in place. They use Sablier for vesting, airdrops, grants etc.

One of the power features of decentralized organizations is being able to vote on governance proposals and impact the future of the DAO as a token holder. For assets locked in Sablier, this means being able to use them as voting power while they are still being streamed.

This is now possible for Snapshot users, thanks to our new voting strategies. Let’s dive right in!

Voting Strategies (Sablier V2)

To enable off-chain governance, we designed a collection of Snapshot Strategies that compute the score (voting power) of assets stored in Sablier streams.

Sablier Docs | Sablier Docs
Documentation and guides for Sablier

Based on the internal requirements of every DAO, we provide a couple of different sub-strategies for how the voting power will be decided. We call thesepolicies.

Primary policies ⭐️

  • withdrawable-recipient — Tokens available/withdrawable by the stream’s recipient.
  • reserved-recipient— Tokens available/withdrawable aggregated with unstreamed tokens (future).

Secondary policies

  • deposited-recipient, deposited-sender, streamed-recipient and unstreamed-recipient

Recommendations

For the best results, we recommend using the primary policies alongside classic erc20 holdings.

  1. The first option is to use the withdrawable-recipient policy alongside erc20-balance-of. Doing so will aggregate tokens streamed but not withdrawn yet, as well as tokens in the user's wallet.
  2. The second best option is using reserved-recipient with erc20-balance-of. Will aggregate: tokens streamed but not withdrawn yet, unstreamed funds (accessible in the future) and finally, tokens in the user's wallet.

Voting Strategies (Sablier V1)

The Sablier V1 strategy will regard the voter as a stream recipient. It returns the power for any voter as the sum of all deposits made by a sender towards the recipient (the voter) for a specific ERC20 token (similar to v2’s streamed-recipientpolicy).


If you have any questions, ideas, or issues, ping us on Discord or Twitter — we’d love to hear from you.