Execution Chain Withdrawals API

A simple API to list withdrawals from the beacon to the execution chain.

curl -H "Authorization: Bearer YOUR-API-KEY" \
  https://api.exchrawals.dev/withdrawals/for-validator/12345
{
  "has_more": false,
  "withdrawals": [
    {
      "block_number": 17177142,
      "index": 2276236,
      "validator": 12345,
      "address": "0xDdc6ed6E6A9c1E55c87B155b9A40BAC4721A6dAC",
      "amount": 4697255291,
      "timestamp": 1683079703
    }
  ]
}

Documentation

Base URL

https://api.exchrawals.dev

Authentication

Pass your api key in the Authorization header, prefixed with the type Bearer .

With curl, do this with -H "Authorization: Bearer YOUR-API-KEY". For languages that use a dictionary / map for headers, it will look something like {Authorization: `Bearer ${YOUR-API-KEY}`}

GET /withdrawals/for-validator/:index

Returns the withdrawals for the Validator with the given index.

GET /withdrawals/for-address/:address

Returns the withdrawals that have been delivered to the given address.

Query Parameter: minimumIndex

Passing a minimumIndex query parameter (to either GET endpoint) will filter withdrawals in the response to only those have an index of at least the given value.

Note that the withdrawal index is different from the validator index.

Response

The response will be a JSON object with two fields:

  • has_more: A boolean indicating if the result was truncated.
  • withdrawals: A (potentially empty) array of withdrawal objects. It will be sorted by withdrawal index.

Each withdrawal object has six fields:

  • block_number: The integer execution chain block in which the withdrawal occurred.
  • index: The index of the withdrawal itself.
  • validator: The index of the validator from which the withdrawal came.
  • address: The execution chain address at which the withdrawal was received.
  • amount: The integer amount of the withdrawal, in gwei.
  • timestamp: The timestamp of the execution chain block in which the withdrawal occurred (in seconds past the unix epoch).

Pagination

There is a limit of 50 results per request. If the result was truncated to meet this limit, then the has_more property of the response will be true.

To get the next page of results, set the minimumIndex query parameter in the next request to one more than the highest withdrawal index in the current page.