- This endpoint retrieves the complete withdrawal history for your validators, including: partial sweeps of rewards, full withdrawals after validator exits
- The data matches what you'd see in the Beacon Chain Explorer's withdrawals tab, but aggregated across all your validators.
- Only shows consensus layer rewards and withdrawals that have already been transferred or swept to your designated withdrawal address.
- You can query up to 50 validator accounts in a single request.

### Parameters

- **start**  
  `string`  
  *required*  
  Lower bound of withdrawal data expressed as epoch number (for epoch rollup only) or timestamps (as strings "YYYY-MM-DD"). This parameter is ignored when all_time rollup is requested.

- **end**  
  `string`  
  *required*  
  Upper bound of withdrawal data expressed as epoch number (for epoch rollup only) or timestamps (as strings "YYYY-MM-DD"). This parameter is ignored when all_time rollup is requested.

- **network**  
  `string \\| null`
  *enum*  
  Defaults to mainnet
  - mainnet
  - hoodi

- **withdrawal_addresses**  
  `array of strings \\| null`  
  A set of withdrawal addresses (or withdrawal credentials) to include in the results.

- **pubkeys**  
  `array of strings \\| null`  
  A set of validator public keys to include in the results.

### Response

#### 200 List of validator withdrawals.

- **data**  
  `array of objects`

- **data**  
    `object`
    - **index**  
      `integer`  
      The unique index of the withdrawal on chain (from round robin process).
    - **pubkey**  
      `string`  
      The public key of the validator.
    - **validator_index**  
      `integer`  
      The index of the validator.
    - **withdrawal_address**  
      `string`  
      The withdrawal address of the validator.
    - **amount_text**  
      `string`  
      The withdrawal amount (as text).
    - **currency**  
      `string`
    - **amount_numeric**  
      `integer`  
      The withdrawal amount (as an integer) - needs exp below.
    - **exp**  
      `integer`  
      The exponent used to calculate the final ETH amount.
    - **full_withdrawal**  
      `boolean`  
      Whether the validator exited or not.
    - **slot**  
      `integer`  
      The consensus layer slot at which the withdrawal occurred.
    - **block_number**  
      `integer`  
      The execution layer block at which the withdrawal occurred.
    - **epoch**  
      `integer`  
      The epoch in which the withdrawal sweep happened.
    - **timestamp**  
      `string`  
      The timestamp of the end of the epoch.

- **meta**  
  `object`
  - **protocol**  
    `string`  
    The name of the protocol queried.
  - **network**  
    `string`  
    *enum*  
    Name of the network on which rewards were earned.
    - mainnet
    - hoodi

#### Error Codes
- **400**  
  Parameter error
- **401**  
  Unauthorized
- **500**  
  System error

### Example Request

```
curl --request POST \
     --url https://api.figment.io/ethereum/withdrawals \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: your-api-key-here' \
     --data '{
  "network": "mainnet"
}'
```

### Example Response

```json
{
  "data": [
    {
      "index": 7642977,
      "pubkey": "0x9999e34d7049e81fb48cefdfa0e671b920ea1a1a292c3596041da2698a9ed303b802806c5ffd49498413c4b97748239f",
      "validator_index": 626955,
      "withdrawal_address": "0xe187d594402c8f6b147f22d443406d1b1edebdc7",
      "amount_text": "32",
      "currency": "ETH",
      "amount_numeric": 32000000000000000000,
      "exp": 18,
      "full_withdrawal": true,
      "slot": 6694928,
      "block_number": 17512592,
      "epoch": 209216,
      "timestamp": "2023-06-19T08:25:36Z"
    }
  ],
  "meta": {
    "protocol": "ethereum",
    "network": "mainnet"
  }
}
```

### Update
Updated 3 months ago
