Skip to main content

Overview

Withdrawal represents a validator withdrawal from the beacon chain to the execution layer. Introduced in EIP-4895 (Shanghai/Capella upgrade), withdrawals enable validators to exit with their stake or receive periodic reward payments. Type: Object containing index, validatorIndex, address, and amount

Structure

Key Concepts

  • Amount: Specified in Gwei (10^9 wei), not Wei
  • Two types: Full exits (32 ETH) and partial withdrawals (rewards)
  • Automatic: No transaction needed, processed by protocol
  • Rate limited: Maximum 16 withdrawals per block

Methods

Withdrawal.from(params)

Create Withdrawal from components.

Withdrawal.equals(a, b)

Check if two withdrawals are equal.

Usage Examples

Process validator exit

Track partial withdrawals

Convert amounts

Build withdrawal tree

Important Notes

Amount is in Gwei, not Wei! Always multiply by 10^9 when converting to Wei for execution layer operations.
Maximum 16 withdrawals per block - The protocol rate-limits withdrawals to prevent excessive state changes.

References