Safe guards for the access to the SNS treasury

Background & goal

  • Via the proposal action “Transfer SNS Treasury funds” an SNS can vote on transferring funds from its treasury (for example to pay developers for work on code extensions).
  • Currently there are no special restrictions in place on treasury proposals.
  • Proposals are approved
    • immediately if they reach more than 50% of the voting power.
    • after the initial voting period + wait for quiet, if there are more yes than no votes and if the yes votes exceed MIN_NUMBER_VOTES_FOR_PROPOSAL_RATIO which is a constant set to 3%.
  • The initial voting period (typically 4 days) and the wait for quiet increase (typically 1 days) are already configuration parameters which are set in the SNS init file.
  • There is the risk that a malicious treasury transfer is approved because
    • Voters might be overwhelmed with many proposals submitted in parallel.
    • (Some) voters are not yet actively voting, in particular in the first days/weeks after SNS launch, where participants are still configuring their following set-up.

Suggested approach (short-term)

  • Approve treasury transfer proposals only if they reach 50% approval. This would require a small adaption of the function “is_accepted” within sns/governance/src/

Ideas for further enhancements (mid-term)

  • The mid-term approach should be reviewed after the community has gained further experiences with SNS launches and SNS Treasury management.
  • Potential ideas
    • Introduce configuration parameters for treasury transfer proposals which are set in the SNS init file. In particular the ability to set specifically for treasury transfer proposals the minimum number of votes and the initial voting period
    • The minimum number of votes could decrease over time, for example starting at 50% and going down to 40% after 3 months. This would give the SNS treasury a higher protection directly after the SNS launch, and allow a lower threshold later on for operational reasons.

Next steps

  • Syndication in the forum.
  • Implementation and inclusion in one of the upcoming SNS releases.


The original idea for a NNS treasury fell flat because the community was understandably worried about corruption and self dealing. The same risks exist for the SNS treasury.

The SNS treasury will be a live experiment on how this should work and all the things that can go wrong.

Once our system is hardened for the SNS maybe we can rethink the NNS treasury again…