Hello mDAO. This proposal is the continuation of the original proposal that was rejected on-chain in its first iteration.
The Marinade team sought a legal opinion on this matter, identified the main blockers for the community regarding the original proposal, and would like to suggest an updated proposal.
As the proposals are very similar, this is a tl;dr of the changes:
- The delay before a ticket would be archived would go from 2 to 4 months.
- In order for the user to never lose immediate access to his funds, the user would be able to get back mSOL instantly when they come back on Marinade’s app and claim their archived ticket.
- Marinade would not take 100% of the rewards, but only its 6% fees as per the protocol rules. 94% of the staking rewards would accumulate into mSOL and a user coming back to claim their funds will have benefited from this re-stake operation.
What do you propose?
Marinade would like to suggest a change in how the protocol deals with long unclaimed Delayed unstake tickets:
- If a Delayed Unstake ticket stays unclaimed for more than 4 months, it would be archived and the underlying SOL would be re-staked. The ticket belonging to the original user would transform into an archived ticket allowing the user to claim the mSOL instantly if they come back and would like to access their funds. The rewards accumulated would also belong to the user.
- Users would never lose ownership of their ticket and the archived ticket containing mSOL would never expire.
Currently, if you use the “Delayed unstake” feature on Marinade, you receive a ticket allowing you to claim the SOL as soon as it’s been unstaked from validators and made available. This process usually takes 1-2 days, and it’s possible to use Dialect to be notified when claiming is available.
A ticket has no expiry date and can be claimed years after it’s been created, but as soon as a delayed unstake is required by a user, the mSOL is burnt and Marinade’s smart contract will unstake from validators to make the SOL available. This SOL is then kept idle in the smart contract, doing nothing, waiting to be claimed.
As can be seen on our stats page, not all users will claim their tickets in a timely manner, and as of today, more than 1.5M of SOL is waiting to be claimed by users that created a delayed unstake ticket. We currently have more than 800 Delayed Unstake tickets that have been unclaimed for more than two months, some for almost a year.
Those SOL are currently held in Marinade’s smart contract, waiting to be claimed, and therefore cannot be staked to any validator to secure the network.
Marinade would like to suggest a time period of 4 months after which a ticket would be “archived”, and the SOL re-staked to validators. The user would have an archived ticket allowing them to instantly claim the mSOL and access their funds.
This change would not remove the ownership of the user on his SOL, as immediately after the SOL is restaked when the ticket is archived, the user would be able to claim the mSOL belonging to them by claiming their archived ticket.
What is the rationale behind the proposal?
The rationale behind this proposal is mainly that 1.5M SOL in hundreds of tickets is currently inactive in Marinade smart contract. Those SOL cannot be used to secure the network and help validators, and also bring no revenues to anyone.
If users are using the delayed unstake tickets to keep access to liquid SOL, we believe that they should claim the ticket and hold the SOL in their wallet instead of keeping it for a long amount of time in Marinade’s smart contract.
We believe that re-staking those SOL could improve the growth of Marinade and benefit the validator’s network by having more stake to distribute.
Concerned users would keep ownership over their funds at all times, and the only change for them would be that they’d get back mSOL instead of SOL when claiming an archived ticket, and would have to unstake again or swap the mSOL on the market. They would also benefit from all the accumulated rewards generated by this re-stake.
Obviously, if this proposal was to come through, an emphasis would be put on communicating this change as much as possible so that no user is surprised by this new mechanism, and we would also leave a grace period of two weeks after the proposal is executed before applying this change.
What are the implementation details?
If this proposal is agreed upon by the DAO, the implementation would go as follows:
- Proposal is executed on-chain after a successful vote
- A two-week time period starts during which a large communication effort is being done to inform all users of this change and invite any user that would be concerned by the change to take action
- After the period, the tickets becoming older than 4 months are gradually archived and the SOL is re-staked to validators. All users keep the ability to claim their archived ticket and get back mSOL immediately if their unstake ticket was archived.
This change would require a smart contract update (only the addition of new instructions, no change to existing ones) that would have to be signed by our ecosystem multisig.
What is the expected positive impact of this change?
The expected positive impact of this change is to allow more than a million SOL to be restaked to validators, greatly improving the number of SOL that Marinade can distribute (more than a 20% increase). This would have a positive effect on gauges, for validators receiving Marinade stake, and for the network as a whole.
This change would also bring some revenue to Marinade. As stated in the recent Kitchen Stories, Marinade is struggling to achieve a positive monthly balance as the price of SOL decreased and the TVL stagnated. This change would be a helpful step in the right direction, as Marinade would be able to earn fees on top of those funds being restaked.
The concerned users would also conserve access to their funds at all times, and this change would only allow Marinade’s stake pool to be more efficient when tickets are forgotten by their owners.
Any other considerations?
We have to consider that this proposal suggests a change in how Delayed unstake works.
This proposal suggests automatically archiving tickets, which means automatically adding a waiting period after four months of inactivity for the ticket. The user would not get SOL back but mSOL, to allow them to directly access their funds.
Thanks for reading and for sharing your thoughts on those updates. I specifically would like to hear from @Nope and @spleen that expressed some concerns over the first iteration.