Is there a way to link the withdrawal_credentials from a deposit into the eth2 deposit contract with the address which will receive the validating rewards?

For example, I know that Lido uses the following withdrawal_credentials: 010000000000000000000000B9D7934878B5FB9610B3FE8A5E441E8FAD7E293F and that the rewards are received in the following address 0x388c818ca8b9251b393131c08a736a67ccb19297. Is there a way to extract the address from the withdrawal credentials ?

1 Answer 1


You might be confusing things between execution layer rewards and consensus layer rewards. The withdrawal credential used by Lido is pointing all the withdrawals to 0xB9D7934878B5FB9610B3FE8A5E441E8FAD7E293F. Now that the merge has occured, validators have to propose the blocks on the execution layer. Just like miners, validators are receiving the rewards from the transaction tips or mev bribes. These execution layer rewards are actually never leaving the execution layer and are available right away. In the case of Lido, operators are asked to send the rewards to 0x388c818ca8b9251b393131c08a736a67ccb19297.

To answer the initial question:

  • withdrawal credentials starting with 01 are using regular addresses for the withdrawal destination (so the last 20 bytes represent the address)
  • the ones starting with 00 are handled by BLS keys that will probably need to perform an extra operation on the execution layer to specify where the rewards can go on the execution layers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.