Hello Chefs, this forum post aims at introducing an idea that requires discussion and community buy-in. Please participate and share your point of view as much as possible.
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 2 months, it would be archived and would need to be re-activated by the user owning it, which would restart the 1-2 days period before being able to get back the SOL (wait until the end of the epoch).
- The SOL amount that archived tickets represent would be restaked to validators, and the accumulated rewards would be directed to Marinade’s treasury.
- Users would never lose ownership over their ticket and the ticket would never expire. As soon as the ticket is re-activated, the SOL is unstaked by Marinade’s smart contract and can be claimed at the beginning of the next epoch by the user. Only the availability of the SOL to be claimed would change once a ticket is archived.
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 2 months after which a ticket would be “archived”, and the SOL re-staked to validators.
In normal operation and for all delayed unstake operations, the user do not accumulate any more rewards. In the case of archived tickets, the gains from re-staking those SOL after two months of inactivity would be used to finance Marinade growth, to increase revenues and help the protocol achieve a positive balance.
This change would not remove the ownership of the user on his SOL. As soon as a user owning an archived ticket would go back on Marinade website and re-activate the ticket, the SOL would be unstaked from validators and would be claimable after the end of the epoch. This proposal would only add a timeframe of 2 months during which the ticket needs to be claimed, otherwise, the ticket would be archived.
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 and directing the staking revenues to Marinade could greatly improve the growth of Marinade and benefit the validator’s network by having more stake to distribute.
Concerned users, on the other hand, would have to unarchive the ticket if their ticket was archived for inactivity. They would suffer no loss and would only have to wait to the end of the epoch for the unarchiving process to complete.
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 older than 2 months are gradually archived and the SOL is re-staked to validators. All users keep the ability to un-archive their ticket and claim the SOL after the end of the epoch.
This change would require a smart contract update (only 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 of SOL to be restaked to validators, greatly improving the number of SOL that Marinade can distribute (more than a 20% increase).
This change would also bring a considerable amount of revenue to Marinade. As stated in the recent Kitchen Stories (December, November, October), Marinade is struggling to achieve a positive monthly balance as the price of SOL decreased and the TVL stagnated. This change would potentially revert this situation and allow Marinade to run with a positive monthly balance for the foreseeable future until the involved users withdraw their funds from their archived tickets.
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 two months of inactivity for Tickets, which is why I would like as much participation on this thread as possible to make sure that this decision is discussed by the community as a whole.