Chains API

A block's validator withdrawals

The beacon-chain withdrawals one named Ethereum block paid out: which validators, to which addresses and how much. An empty list for a block that paid none, null for a block that does not exist.

GET/api/external/chain-analysis/block-withdrawals/{chain}

What it returns

The beacon-chain withdrawals ONE Ethereum block paid out, in payload order: the withdrawal index, the validator it came from, the address credited and the amount in wei (a decimal string). A block's withdrawals are part of its payload rather than its transaction list, so they do not appear among its transactions and pay no gas. A block carries at most sixteen of them, and most are small automatic reward skims — a 32 ETH-sized amount is usually a validator exiting. withdrawals is a real empty array for a block that paid none (every block before the Shapella fork of April 2023, and any block after it whose withdrawal queue was empty) and null for a block the chain does not have, whether because it has not been produced yet or because it never will be.

Chains

  • Ethereum ETH

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/chain-analysis/block-withdrawals/ETH?blockNumber=<blockNumber>"
Parameters
ParameterDescription
blockNumber

query · integer · required

The block number to read, on the chain named in the path.
chain

path · string · required

ETH only. Validator withdrawals are an Ethereum consensus-layer event; every other chain returns 400.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of A block's validator withdrawals
FieldTypeDescription
blockNumberintegerThe block number asked about.
withdrawalsobject[] | nullIn payload order, index ascending. A real empty array for a block that paid none; null only when the chain has no such block.
withdrawals[].indexintegerThe withdrawal index: it counts up by one per withdrawal across the whole chain from 0, so it is a position in the chain's withdrawal history, not a position in this block.
withdrawals[].validatorIndexinteger | nullThe validator the balance was withdrawn from.
withdrawals[].receiverstring | nullThe execution-layer address credited, lower-cased.
withdrawals[].amountWeistring | nullThe amount credited, in wei, as a decimal string (never Number() it).

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key