Validator Types
Execution-layer tips and MEV rewards are always paid directly to the fee recipient wallet set at validator creation, regardless of validator type.
Validator Status Reference
See ETH Validator Statuses in the Status Reference section for the full list of validator statuses.Provider Support Matrix
Staking Operations
Every staking operation is submitted the same way as any other Digital Asset Service Desk product: create the instruction withPOST /v3/api/servicedesk/create and a {"serviceId": ..., "payload": ...} body, then submit, confirm and approve it following the same steps described in Signing the Payload and demonstrated end-to-end in Wallet Creation. What follows is what’s specific to each staking operation; see Products & Services for the exact payload template of each one.
Stake (0x0020-008)
Staking ETH creates a new validator. Set isPectra to true to create an Auto-Compounding (0x02) validator, funded with an amount anywhere between 32 and 2048 ETH, or set it to false to create a Regular Payout (0x01) validator instead. Regular Payout validators are always funded with exactly 32 ETH, so amount isn’t required for them.
Unstake (0x0020-009)
To unstake, list the validators you want to exit by their public keys in unstakeValidators. This is required for both validator types: unlike the platform UI, which lets you specify a count of Regular Payout validators to unstake, the API always expects you to name them explicitly.
Once the service request is completed, Zodia broadcasts a Pre-Signed Exit Transaction (PSET) for each selected validator. From there, the validator’s status moves through EXIT_BROADCAST, then ACTIVE_EXITING, and finally EXITED_UNSLASHED — it can take up to an hour to move past EXIT_BROADCAST.
Top-up (0x0020-036)
Top-up adds ETH to an existing Auto-Compounding (0x02) validator. The target validatorAddress must already be active, and the amount you add must be at least 1 ETH without pushing the validator’s total balance above the 2048 ETH cap.
Partial Withdrawal (0x0020-037)
Partial Withdrawal lets you pull ETH out of an active 0x02 validator without exiting it. Two conditions apply: the validator must have been active for at least 256 epochs, and the amount withdrawn must leave at least 32 ETH behind.
Consolidation and Transition (0x0020-040)
This single operation covers two related moves, distinguished by whether source and destination are the same validator.
Consolidation merges one or more validators into another: source differs from destination, source can be either validator type, and destination must already be an active 0x02 validator. You can consolidate several sources into the same destination, or target multiple destinations within a single service request.
Transition converts a validator in place: source and destination are the same validator, which must be a 0x01 validator being upgraded to 0x02.
Each migrations entry describes one of these moves, and a single request can carry between 1 and 100 of them. (You may still see the field called sourceValidators in older integrations — it’s accepted as an alias, but migrations is the name to use going forward.)
Because each entry needs its own signature, a service request with more than one migrations entry produces more than one instruction to sign: v3/api/servicedesk/pending returns an array rather than a single object in that case, and all of them are signed and submitted together in a single v3/api/servicedesk/approve call. See Multiple pending instructions for a single service request for the exact request shape.
After any of the operations above, use Get ETH Staking Dashboard and List ETH Validators to track balances, rewards, and validator status.
FAQs
What’s the difference between Stake and Top-up?
Stake creates a new validator. Top-up adds ETH to an existing Auto-Compounding (0x02) validator without creating a new one.