> ## Documentation Index
> Fetch the complete documentation index at: https://dune-tables-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ethereum.withdrawals

> Description of the ethereum.withdrawals table on Dune

export const TableSample = ({tableName, tableSchema}) => <div>
    <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6c1ea=${tableSchema}&table_name_t6c1ea=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
  </div>;

export const ColumnDescriptions = ({tableName, tableSchema}) => <div>
    <iframe src={`https://dune.com/embeds/3424601/5785601?table_name_t6c1ea=${tableName}&table_schema_t6c1ea=${tableSchema}`} style={{
  width: "100%",
  height: "500px",
  border: "none",
  marginTop: "10px"
}} />
    <Info> Datatypes on Snowflake datashare are different in some cases, read more <a href="/datashare/datashare#datatypes">here</a>.  </Info>
  </div>;

<Note>Dune does not have beacon chain data yet. This table introduces the action of withdrawing from the beacon chain only.  </Note>

The [Ethereum Improvement Proposal (EIP) 4895](https://eips.ethereum.org/EIPS/eip-4895) introduces a system-level "operation" to support validator withdrawals that are "pushed" from the beacon chain to the EVM.

Withdrawals are represented as a new type of object in the execution payload, called an "operation", that cleanly separates this "system-level" operation from regular transactions. Withdrawals provide key information from the consensus layer such as a monotonically increasing index, validator index, recipient address, and the amount of ether given in Gwei.

Using this table you can observe beacon chain withdrawals.

## How to work with this table

In order to connect deposits and withdrawals, we must identify the `validator_index` of unique depositors. Since Dune doesn't have beacon chain data yet, we have to rely on a workaround using a query to obtain a list of valid and active deposits from the Ethereum deposit contract.

This [query](https://dune.com/queries/2364548) returns a list of valid and active deposits, which we can use to identify the `validator_index` of unique depositors. We can use this query to match the `validator_index` of depositors with the `validator_index` of withdrawers in the withdrawals table.

The Query is manually maintained and therefore may not always be up to date, but most historical data is available.

[LINK TO QUERY](https://dune.com/queries/2364548)

## Column Descriptions

<ColumnDescriptions tableSchema="ethereum" tableName="withdrawals" />

## Table Sample

<TableSample tableSchema="ethereum" tableName="withdrawals" />

## Examples

### Withdrawals per day

```sql
select
date_trunc('day', block_time) as dt,
sum(AMOUNT)/1e9 as withdraw_amount
from ethereum.withdrawals
group by 1
```

### Dashboards

[https://dune.com/hildobby/eth2-staking](https://dune.com/hildobby/eth2-staking)

[https://dune.com/hashed\_official/staking-as-a-service](https://dune.com/hashed_official/staking-as-a-service)

* [ETH Staking Dashboard](https://dune.com/hildobby/eth2-staking) - This dashboard provides an overview of the Ethereum 2.0 staking ecosystem. It includes data on the number of validators, the total amount of staked ETH, and the number of deposits and withdrawals.
* [Staking as a Service](https://dune.com/hashed_official/staking-as-a-service) - This dashboard provides a comprehensive overview of the staking-as-a-service ecosystem. It includes data on the number of validators, the total amount of staked ETH, and the number of deposits and withdrawals.

## References

* [Ethereum Improvement Proposal EIP 4895](https://eips.ethereum.org/EIPS/eip-4895)
* [Ethereum 2.0 Deposit Contract](https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa)
