🗓️Changelog

All major modifications to Marinade protocol will be detailed here and communicated to our users in advance.

01/08/2024

Incident Report: Marinade Earn Season 1 - Incorrect claimable balance

Status: Fixed

On January 8th, a user reported abnormal amounts of MNDE being claimable in the context of Marinade Earn Season 1. Marinade developers investigated and discovered a bug in the off-chain script used to calculate the claimable balance for users, affecting a subset of wallets. The incentives contract was paused and the following steps were taken:

  • Recalculate and republish on-chain the correct balances for all users that have not claimed yet

  • Collect all the information on past claims and compare to what the correct values should have been

Once all unclaimed rewards were updated, the contract was unpaused. A full post-mortem can be found here:

Next steps:

  • All wallets that are underclaimed will receive the missing MNDE directly in their wallet at the beginning of February.

  • All wallets that are overclaimed will be able to conserve the additional MNDE tokens but are invited to send them back to the Marinade Treasury.

To cover the losses for the Marinade DAO Treasury, 441,686 MNDE from the budget allocated to the contributors' team to reach 16M SOL TVL will be sent back to the Treasury. This transfer will not affect advisors.

The complete list of affected wallets can be found in the files below:

10/12/2023

Incident Report: Native unstaking issue

Status: Fixed

At the beginning of epoch 544 some users were not able to unstake from MNDE using our web. 706 users submitted unstake operations and 98 of them failed.

The reason identified was errors regarding the system's MQ nodes. The system could not determine the order of messages and did not send the operations.

Mitigations so far: Fixed QoS, scaling up Rabbit MQ and the whole system to better handle incoming users, improved alerting to give Marinade early warning. Also planned are adding priority to claim requests, so these requests are not blocked by stake re-balancing.

11/14/2023

Smart contract update - Liquid staking contract v2

Status: Confirmed and applied.

10/27/2023

Smart contract update - Liquid staking contract v2

Status: Communication phase. On November 7th, the multisig signers will be asked to start signing and the transaction will be executed when 6/13 signatures have been reached.

As shared in this article, Marinade will be upgrading its liquid staking contract to include a number of important improvements, notably:

  • Upgrade to Anchor v0.27

  • Support for the "Redelegate" instruction to be activated in Solana

  • Creation of an emergency pause mechanism

  • Support for withdrawing a stake account from the contract when delayed unstaking mSOL

Those changes have been audited by both Neodyme and Sec3. Their audit reports are available here:

05/17/2022

Smart contract update - Partial unstake added to the delegation strategy

Status: Confirmed and applied.

05/12/2022

Smart contract update - Partial unstake added to the delegation strategy

Status: Communication phase. Changes will be applied on May 16th 2022.

  • Marinade's Delegation Strategy will be updated to include a new mechanism, partial unstaking. Before this upgrade, the Delegation Strategy had to work around the fact that it could not unstake SOL from an overstaked validator without performing an emergency unstake where all SOL would get unstaked. This situation led to some rules in place to avoid overstake in the first place. Those rules will no longer apply and partial unstake will allow for a better management of the stake.

Example: Validator A received 100K SOL accumulated stake in previous epochs. In the last few epochs, Validator A performance is degraded, but Marinade users keep staking SOL (no net unstake at the end of the epoch). In that situation the bot can now use partial-unstake, to remove 20K from Validator A and move it to Validator B which is producing at a better rate.

See the planned code modification on Github: https://github.com/marinade-finance/liquid-staking-program/commit/7264daf94d3827d5ca15a555ec2814f2ff08e53d

Documentation will be updated on May 16th to reflect the future changes once they are implemented. See Delegation Strategy

03/02/2022

Incident report - Validators' management

Status: Fixed. Compensation is to be determined and announced.

On March 2nd, an issue occurred with the bot responsible for staking/unstaking operations leading to the unstake of most of the SOL handled by Marinade.

This issue did not put funds at risk. Only rewards for epoch 285 have been affected.

You can download and consult the full post-mortem file below.

Changes applied to prevent this issue from happening again:

• Emergency brake has been fixed.

• Sanity check for the total score returned by the processing was added.

• Marinade is no longer using stakeview.app to control emergency unstakes (it is only used for informative purposes)

02/21/2022

Improvement - Validators' management

Status: Online.

Marinade stakes SOL to validators using a set delegation strategy where all validators have a score calculated each epoch.

Before this update, Marinade was using the Solana program Stake-O-Matic, before post-processing those scores to determine the stake and unstake operations to perform.

This program has been forked and modified in order to add small improvements and allow better post-processing of the on-chain scores. Those changes have minor impacts on how the score is calculated.

This new repository is open-source and available here:

Another set of changes has been applied to the post-processing rules in order to improve the distribution of the stake and reach more validators than before, with the goal to spread the stake more evenly and decentralize the network even more. Some improvements have also been implemented to avoid 'overstaking' to validators and unstake them in some situations. Please check the Delegation Strategy page for details.

pageDelegation Strategy

If you are a validator and have questions or want to participate in future discussions related to the delegation strategy, please join our Discord.

01/14/2022

Incident report - Bot operations delayed

Status: Fixed.

On January 14th, the permissionless bot responsible for moving the staking rewards to the pool (causing the mSOL price to go up each epoch) was not able to finish all the planned operations because it ran out of SOL to perform them. This issue was resolved in a few hours and the operations were resumed and completed.

This incident resulted in a delay of 24 hours in the mSOL/SOL price update.

A monitoring tool has been added on the same day to prevent this issue from happening in the future.

01/09/2022

Smart contract update - Delayed unstake period

Status: Confirmed and applied.

01/04/2022

Smart contract update - Delayed unstake period

Status: Communication phase. Changes will be applied on January 4th, 2022.

  • The number of epochs you have to wait when withdrawing your funds via the "Delayed unstake" function is reduced by one epoch.

See the planned code modification on Github: https://github.com/marinade-finance/liquid-staking-program/commit/028c6e579f662e8cc5b92344f96797f49c4eec88

Documentation will be updated to reflect future changes once the change is active. See Delayed Unstake.

For more information about the process, please see our Medium article.

Last updated