Skip to main content

Validator Exits

exits-1

Voluntary exits

Given the permissionless nature of CSM, NOs can voluntarily exit their validators at any moment.

Protocol-initiated exits

For consistency with the core protocol and other staking modules, CSM uses VEBO to request or trigger exits (to be implemented after the Pectra hardfork bringing EIP-7002 to life) for the validators.

info

Note: The actual implementation of the triggerable exits is not defined yet. There might be additional contracts to actually trigger exits on top of the VEBO.

From the core protocol side, validator exit can be requested to cover withdrawal requests from stETH holders, or according to the decision of the DAO.

From CSM side, validator exits can be requested for unbonded validators. These exits are requested automatically using the targetLimitMode = 2 (forced mode).

info

targetLimitMode = 2 (forced mode) was introduced within the updated version of Staking Router. In short, it is similar to the existing targetLimit but exits for the validators above targetLimit with targetLimitMode = 2 (forced mode) can be requested within the next VEBO report, even without a need to fulfill withdrawal requests from stETH holders.

Node Operators should follow VEBO events (for example, by using the Ejector) to ensure they exit validators on time. The following penalties and limiting measures should be applied if the Node Operator refuses to exit validators after the protocol request:

  1. Exclude Node Operator's keys from the CSM deposit queue and do not put them back until stuckKeysCount = 0;
  2. Exclude the Node Operator from the staking rewards allocation cycle within the reporting period of the Performance Oracle if the Node Operator's stuckKeysCount was > 0 during it;

Also, in exceptional cases, Lido DAO can trigger exits for Node Operator's validators (to be implemented after the Pectra hardfork bringing EIP-7002 to life).

Low performance for a long time

info

This mechanics is to be implemented after the Pectra hardfork bringing EIP-7002 to life.

If a validator is performing below the Performance threshold for 3 frames within 6 frames, it is treated as a bad performer violating the rule of good performance within the protocol. Validators with 3 "strikes" (frames of low performance) can be requested for ejection from the protocol using a permissionless method. There is also an option to confiscate missed profits by such validators from the Node Operator's bond. However, this option is still under consideration.

To learn more about bad-performers ejection please refer to the separate document.

Withdrawal balance reporting

The withdrawal balance of the validator is required to release the bond and calculate the exit penalty, if any. This balance is reported permissionlessly using EIP-4788 by the CSM bot or the Node Operator themselves.

Further reading