The lifecycle of a validator

The lifecycle of an ETH validator (click to expand)

The lifecycle of an ETH validator (click to expand)

Statuses description

StatusDescriptionAction Needed
provisionedA validator has been created by Figment and is available for funding.Get a funding transaction
funding_requestedA funding transaction has been requested for this validator but the deposit is not yet confirmed. We use this status to help you prevent from double funding a validator.Sign and broadcast the funding transaction.
deposited_not_finalizedWe have detected a deposit transaction on the EL but it hasn't been finalizedNothing
:hourglass-flowing-sand: ~ 20 minutes
depositedWe have detected a deposit transaction and we consider it finalized but the validator is not in the activation queue yet.Nothing
:hourglass-flowing-sand: ~ 15/20 hours
pending_queuedThe validator is in the activation queue.Nothing
:hourglass-flowing-sand: ~ 37 days (as of July 2023)
active_ongoingThe validator is in the active set and earning rewards
active_exitingThe validator has requested to exit the active set but is still earning rewards:hourglass-flowing-sand: ~ 1 day (as of July 2023)
active_slashedThe validator is still part of the active set but has been slashed. It cannot earn rewards or perform a voluntary exit.
exited_unslashedThe validator has no slashing penalties and has voluntarily exited the active set. This occurs when making a full withdrawal.Exactly 256 epochs (~ 27.3h)
exited_slashedThe validator has been removed from the active set and has slashing penalties.Exactly 2^13 epochs (~36 days)
withdrawal_possibleThe validator has exited the active set and a withdrawal can be performed. Waiting on the sweep. Time in this state depends on the validator's index.:hourglass-flowing-sand: up to ~ 5 days (as of July 2023)
withdrawal_doneThe full withdrawal of the deposited 32 ETH to the withdrawal address has been completed

Where to find status

Our endpoint GET /validators returns validator metadata, among which are the 3 fields: status, status_synced_at and status_history

{
  "type": "validator",
    "attributes": {
	  // pub key, withdrawal credentials, deposit data root, etc
      "status": "deposited",
      "status_synced_at": "2023-02-03T15:00:21.420Z",
      "status_history": [
        {
          "status": "funding_requested",
          "changed_at": "2023-01-04T16:00:14.459Z"
        }
      ],
      // more attributes
}