Proposal Information
Proposal Name: Introduction of SNT Staking Mechanism
Author(s): Status Core Contributors
Date of Submission: Nov 7 2023
External Discussions: N/A
What is the problem this project is trying to solve?
This New Initiative Proposal (NIP) outlines a proposal to introduce a new staking mechanism for the SNT token to better align the incentives of the Status community, increase engagement in governance decisions, and attract and retain users of the Status app.
The proposal is specially designed with mechanics to encourage long-term involvement while ensuring a smooth user experience.
Who is this problem being solved for?
As a messaging super app whose utility is a function of the number of contacts each user has that also use the same app to communicate, Status’ entire community of users benefits from increased utility due to user growth and retention.
Requirements / Constraints
Regulatory constraints to maintain the SNT tokens status as a utility token, and non-custodial nature of staking - Status must at no time ever take custody or control of user assets
Key Concepts
This proposal introduces a staking mechanism to the SNT token, in addition to a new governance utility related to the staking mechanism.
-
Staking Rewards
- Stakers of SNT can either stake with no lock-up period, or commit to a lockup period, to receive Multiplier Points (MP) and additional SNT
- The additional SNT distributed to stakers is not sourced from minting new tokens, instead partners with referral fee agreements with Status will use those accrued fees to repurchase SNT on the open market and deposit it into the staking smart contract to be claimed by SNT stakers.
- Alternatively, these partners with referral fee agreements will convert accrued fees into a common token such as ETH or LUSD and deposit this into the staking smart contract to be claimed by SNT stakers
-
Multiplier Points (MP)
- MPs are soulbound (non-transferable)
- MPs are accrued at a given rate per each SNT token staked, up to a certain maximum ratio of MPs to SNT
- Stakers that optionally elect to commit to a lockup period immediately mint an MP token balance equivalent to the accrued rate during that lockup period
- MPs are used to calculate each stakers’ share of earned staking rewards
- MPs are used in governance decisions, with the weight of one’s vote corresponding to the number of MP tokens
- When SNT is unstaked, MPs are permanently burned on a pro-rata basis to the proportion of SNT that is unstaked
-
Staking Vaults
- In order to simplify MP management for users, each time SNT is staked creates a unique vault (one address can control multiple vaults)
- Each vault has its own MP balance, and maximum MP balance according to the number of SNT staked parameters discussed below
- Vaults’ SNT balances grow from re-staking (compounding) rewards
- Vaults ensure that when unstaking users only burn MP for that vault (preventing the need to use multiple addresses to achieve the same effect)
-
Contract Immutability
- Safety and security of the contract holding SNT rewards to be distributed is paramount, thus the contract must be immutable upon deployment
- Users can opt-in to future contracts but the staking contract itself can not be updated or altered, except for an emergency stop function via governance vote. In this case, once a contract with a fix is deployed (by any party) users can opt-in, changes can not be forced on them, the contract itself remains immutable
User Journey
-
Initiating stake
- Users elect to stake their SNT and optionally select one of the below options.
- No lockup commitment. MPs initially minted on a 1:1 basis with SNT. E.x. staking 200 SNT with no lockup mints 200 MPs
- Commit to lockup between the minimum and maximum allowed lockup durations, and immediately mint additional MPs that would be earned for that period given the SNT staked and MP APY% parameter. E.x. staking 200 SNT with a 0.5 year lockup mints 200 MPs the same as if no lockup was chosen, plus an additional (200 * (0.5 * MP APY)). If MP APY is 100%, this would lead to an additional 100 MP, so 300 MP total being minted
- MPs are accrued per the MP APY% parameter in either case, meaning it is favorable to commit to a lockup.
- The act of staking SNT opens a new vault for the user, but vaults are consolidated for users in the UI (with an optional vault-specific view), and handle unstaking SNT from the vaults that will burn the least MPs automatically.
- Each vault accrues its own SNT rewards and MPs, up to the maximum MPs for that vault, based on the number of staked SNT in the vault and the maximum_MP_multiplier parameter.
- Users elect to stake their SNT and optionally select one of the below options.
-
Reward Accrual
- Accrued SNT rewards can be either:
- A user’s share of SNT rewards is determined by their pro-rata share of total supply of MPs. These rewards accrue to their respective vaults based on the vault’s balance of MPs
- Immediately re-staked (compounded) into the respective vault
- Claimed after the cooldown_period has elapsed. This requires users to first trigger the cooldown_period to begin, and then claim the rewards once the cooldown has ended.
- MP continues to accrue automatically in each vault based on the number of staked SNT and the MP APY parameter.
- Accrued SNT rewards can be either:
-
Unstaking SNT
- SNT can not be unstaked if there is remaining time for a lockup that the user optionally choose to apply when initially staking the SNT
- For SNT that is not still in a lockup period, an unstaking request can be made at any time, which immediately triggers:
- Burning of pro-rata amount of MPs. I.e. unstaking 10 SNT tokens of 100 total SNT staked tokes the vault will burn 10% of MPs in that vault
- Begins the cooldown period to withdraw this SNT
- Once the cooldown period has elapsed, users can claim their SNT to their wallet
-
Governance Votes
- MPs may be used in the future as the governance token. Every SNT staker always has at least 1:1 ratio of MPs to staked SNT
- This ensures users who have a long-term alignment with the protocol via SNT staking have the greatest contribution to governance processes.
Recommended Initial Parameters and Analysis [Optional]
- cooldown_period: 14 days
- min_lockup: 7 days
- max_lockup: 4 years
- maximum_MP_multiplier: (4 + # of Years Lockup)
- E.x. a vault with 100 SNT staked and no initial lockup period has a multiplier of 4, so a maximum of 400 MP can be earned
- E.x. a vault with 100 SNT staked and a 0.5 year lockup period has a multiplier of 4.5, so a maximum of 450 MP can be earned
- multiplier_point_APY = 100% APY
These parameters optimize for a balance between incentivizing long term alignment with preventing exiting users and whales from preventing newer users from achieving comparable benefits.
Benefits
- Incorporate sustainable, non-dilutive rewards for SNT stakers
- Staking reward shares determined by pro-rata MP balances incentivizes long-term alignment between the community and the protocol
- MP token-weighted governance helps increase governance weight for long-term users vs short-term mercenary farmers
- Maximum caps to accrued MPs and being able to mint MPs allows newcomers to still share benefits of the ecosystem and have a voice in governance, helps balance new users who commit to being aligned and long-time existing users
- Vaults retain a user-friendly design and UX that does not require complex juggling
- Flexible lockup terms allow each user to stake for their desired time frame
- Cooldown periods prevent short-term gaming and timing exploits of rewards
Risks
- Smart contract bugs given the desired contract immutability, though the emergency shutdown governance vote drastically reduces this compared to other immutable contracts