What is withdrawal credentials?

The field on a validator that says where its staked ETH and rewards may be sent, fixed when the validator is created.

Not yet verifiedHow we verify

3 min read

In this entry

The field on a validator that says where its staked ETH and rewards may be sent, fixed when the validator is created.

This is the answer to the question people ask about staking without knowing it is the question: if I hand 32 ETH to a staking provider, what guarantees it comes back to me. On Ethereum the guarantee, or its absence, is written into this one field at the moment the validator is created, and it is not a promise in a contract but a value in the consensus layer.

The thing to understand is that whoever set this field controls where the principal returns, regardless of who supplied the money.

How it works

When a validator is activated, its deposit includes withdrawal credentials specifying the destination for any future withdrawal. The Ethereum consensus specifications define the formats by a leading prefix byte.

The original format, 0x00, pointed at a hash of a BLS key on the consensus layer, and no withdrawal was possible with it. The 0x01 format points at an execution-layer address, which is what makes withdrawals work. The Shapella upgrade in April 2023 both enabled withdrawals and provided a one-time, one-way operation letting operators convert 0x00 credentials to 0x01. A later format introduced with the Pectra upgrade supports consolidated validators with balances above 32 ETH.

Two properties matter. The change from 0x00 to 0x01 is irreversible, and once an execution address is set it cannot be changed again, so the destination is permanent for the life of the validator. And the credentials govern both types of withdrawal: partial withdrawals, which sweep rewards above the effective balance automatically, and full withdrawals of the principal after an exit.

If you stake through a provider, the provider set these credentials. The address is usually a contract the provider controls, and your claim on the returned ETH is whatever that contract and the provider's terms give you.

Example

Illustrative. You deposit 32 ETH with a staking service that runs the validator on your behalf.

If the withdrawal credentials point at an address you control, the principal and rewards return to you directly when the validator exits, and the provider can operate the validator but cannot redirect the money. If they point at the provider's contract, every withdrawal lands there first and reaches you through whatever mechanism that contract implements. Both are common arrangements. Only the first removes the provider from the path your principal takes home, and the difference is visible on chain before you deposit.

Why it matters when you buy

Anyone staking Ethereum through an exchange or a pool is relying on someone else's credentials. That is the actual counterparty question, ahead of the advertised rate. The yield pages show which exchanges offer staking for each asset and where, and the guide on staking for beginners covers the custody differences between exchange staking, pooled staking, and running your own validator.

Questions

Can I change my withdrawal address later?

No. Converting from the original consensus-layer format to an execution address is a one-time operation, and once set the address is fixed for that validator's life.

Where do staking rewards go?

To the address in the withdrawal credentials. Rewards above the effective balance are swept automatically as partial withdrawals, without the validator exiting.

Does this apply to staking other coins?

The specific mechanism is Ethereum's. The underlying question, which is who controls the address the principal returns to, applies to every staking arrangement on every chain.