Pier Two is working hard for its customers to prepare for Ethereum’s Pectra (Electra + Prague) Upgrade on 7 May 2025.
We recently released an article which detailed the full scope of the Pectra Upgrade.
A common question we’ve been answering, particularly from ETF issuers, asset managers and exchanges, is: what does Pectra mean for withdrawals, and therefore ETH liquidity?
So, we thought it would be helpful to set out exactly how ETH withdrawals will work after Pectra.
Summary for ETFs, Asset Managers and Exchanges
- Partial Withdrawals will dramatically speed up the time it takes to get ETH back into your non-custodial account, compared to pre-Pectra withdrawals.
- It will always be faster to partially withdraw ETH, compared to a full exit, if you have more than 32 ETH on a single validator.
- Understanding Partial Withdrawals is important for stakers looking to maximise earnings and liquidity.
- If the ETH withdrawal queue is empty, it will take ~28 hours to complete a partial withdraw of approximately 2000 ETH.
- With the same logic of empty queues, If 1% (~341k ETH) of the network partially withdraws at the same time, it will take approximately 7 days and 2 hours for that ETH to be in your withdrawal address, still less than the current full validator withdrawal period.
- There are transaction fees associated with User-Triggered Withdrawals that increase if there is more demand for withdrawals.
Play around with a basic tool we've built to simulate how long unstaking will take here.
Ethereum's Timing Terminology
Constant | Value |
---|---|
Slot | 12 seconds |
Epoch | 32 Slots |
3 Options to Withdraw ETH Post-Pectra
After the Pectra Upgrade, stakers will have 3 options for ETH withdrawals:
- User-triggered Partial Withdrawals;
- Automatic Withdrawals; and
- Full Exit Withdrawals.
1. Partial Withdrawals: User-Triggered, Withdrawing from Maximum 2048 to Minimum 32
User-triggered withdrawal for validator with 0x02
credentials, newly introduced in Pectra.
Details | |
---|---|
Withdrawal Limit | You may request any amount ≤ (current balance − 32 ETH). The validator must keep the 32 ETH to stay active. A single large request is allowed; the protocol automatically spreads the reserved balance over as many future epochs as needed (Partial Withdrawal Minimum Time + 256 ETH per epoch churn limit). |
Per Block Limit | 8 maximum user-triggered partial withdrawals can be processed per block. |
Minimum Time | 27 hours 50 minutes (see Working: Minimum Time below) |
Maximum Time | 28 hours 42 minutes (see Working: Maximum Time below) |
Working: Minimum Time
Working: Maximum Time
2. Automatic Withdrawals: Rewards if Validator Balance ≥ 2048
Excess balance sweep for validators with 0x01
credentials or those with 0x02
credentials that have a balance greater than 2048 ETH, still present in Pectra.
Details | |
---|---|
Withdrawal Limit | All excess balance above the validator’s effective balance. Validators with 0x01 credentials, any excess balance greater than 32 ETH will be withdrawn. Validators that have upgraded to 0x02 credentials, any excess balance greater than 2,048 ETH will be withdrawn. |
Per Block Limit | 16 maximum withdrawals can be processed per block. Note: Pending withdrawals will take processing priority, so if a block already includes 8 Partial Withdrawals, the remaining capacity for automatic withdrawals will be 8. |
Minimum Time | This is only subject to the Sweep Delay which, as explained below, can change depending on how many eligible validators are active in the Beacon Chain. For example, if the sweep delay is 9 days, each validator will have to wait a maximum of 9 days for their subsequent withdrawal to be processed. See validatorqueue.com for the upper bound on the Sweep Delay. |
Maximum Time | This is only subject to the Sweep Delay which, as explained below, can change depending on how many eligible validators are active in the Beacon chain. For example, if the sweep delay is 9 days, each validator will have to wait a maximum of 9 days for their subsequent withdrawal to be processed. See validatorqueue.com for the upper bound on the sweep delay. |
3. Full Exit Withdrawals: Exiting your Validator
Full Exit Withdrawal, only possible if the user has no pending withdrawals, either by submitting a validator-signed exit message or a user-triggered withdrawal (EIP-7002) with the amount set to 0.
Details | |
---|---|
Withdrawal Limit | Entire validator balance. The request is treated as a full exit; the validator leaves the active set in the Beacon chain. |
Per Block Limit | Same limit applied as Automatic Withdrawal. |
Minimum Time | Calculated same as the minimum time for Partial Withdrawal, plus the Sweep Delay. |
Maximum Time | Calculated same as the maximum time for Partial withdrawal, plus the Sweep Delay. |
How Long is the Sweep Delay?
The Sweep Delay is the moving wait-time between two consecutive Automatic Withdrawal sweeps of the same validator. It exists because the protocol can process only a fixed number of auto-withdrawals every block, so a round-robin cursor (“sweep cursor”) walks through the validator registry over multiple blocks.
Relationship to other timings
- Partial withdrawals ignore the Sweep Delay entirely – they come from their own FIFO queue (up to 8 per block).
- Full exits and automatic excess-balance withdrawals do wait for the sweep.
Because the sweep cursor keeps advancing during the 256-epoch withdrawal delay, the additional wait that delay can be anywhere between zero and one full sweep-delay:
- Minimum Sweet Delay (best case): the sweep is about to reach the validator’s index → 1 epoch (6 minutes 24 seconds).
- Maximum Sweep Delay (worst case): the sweep has just passed the index → nearly an entire sweep-delay of extra wait. An entire Sweep Delay currently equals 9.2 days but is variable, so make sure you keep an eye on it!
Scenario Planning: Partial Withdrawals
Percentage of ETH being withdrawn | ETH Amount | Partial Withdrawal time for the ETH (including 27 hours 50 minutes minimum time) |
---|---|---|
0.1% | 34,165 ETH | ≈ 390 epochs ≈ 1 day 17 hrs 36 mins |
1% | 341,653 ETH | ≈ 1,592 epochs ≈ 7 days 1 hrs 49 mins |
10% | 3,416,532 ETH | ≈ 13,609 epochs ≈ 60 days 10 hrs 18 mins |
25% | 8,541,331 ETH | ≈ 33,621 epochs ≈ 149 days 12 hrs 54 mins |
50% | 17,082,662 ETH | ≈ 66,985 epochs ≈ 297 days 17 hrs 4 mins |
The above table assumes that in each epoch only 256 ETH can be withdrawn or exited from the Beacon Chain.
Scenario Planning: Full Exit Withdrawals
Percentage of ETH being withdrawn | ETH Amount | Withdrawal time for the validator last in the queue (including 27 hours 50 minutes minimum time) |
---|---|---|
0.1% | 34,165 ETH | ≈ 390 epochs ≈ 1 day 17 hrs 36 mins + Sweep Delay |
1% | 341,653 ETH | ≈ 1,592 epochs ≈ 7 days 1 hrs 49 mins + Sweep Delay |
10% | 3,416,532 ETH | ≈ 13,609 epochs ≈ 60 days 10 hrs 18 mins + Sweep Delay |
25% | 8,541,331 ETH | ≈ 33,621 epochs ≈ 149 days 12 hrs 54 mins + Sweep Delay |
50% | 17,082,662 ETH | ≈ 66,985 epochs ≈ 297 days 17 hrs 4 mins + Sweep Delay |
The above table assumes that in each epoch only 256 ETH can be withdrawn or exited from the Beacon Chain.
Gas Fee Considerations: User-Triggered Withdrawals Cost
When the Pectra hard-fork is activated on Mainnet, every user-triggered withdrawal will carry an additional withdrawal-request fee. This fee, paid in ETH on top of normal gas, rises or falls with network load: it is adjusted block-by-block according to the size of the backlog—that is, how many withdrawal requests have recently been processed above the target of two per block. The fee is computed with the formula:
Where:
- fee is the withdrawal-request fee, denominated in wei;
- backlog is the running total, for each block, of withdrawal requests processed above 2 per block; and
- Note: 1 ETH = 10¹⁸ wei.
The minimum fee is always 1 wei, so if backlog is 0, then the withdrawal-request fee will be 1 wei. As backlog grows, the fee increases exponentially—about 12.5% more each time the queue grows by two. During quieter periods when there are fewer than two requests per block, backlog will decrease towards zero.
Scenario Planning: Withdrawal Request Fee Table
To further explain how the withdrawal request fee changes depending on backlog requests, the following table illustrates this using an example:
Backlog (Requests Above Target) | Withdrawal-Request Fee (ETH) |
---|---|
50 | 0.000000000000000019 |
200 | 0.000000000000128632 |
500 | 0.000005934267440044 |
600 | 0.002128337699255548 |
650 | 0.040306700584467864 |
680 | 0.235385266837020000 |
700 | 0.763332864222730400 |
Ready to Stake?
Pier Two is Pectra-ready. Contact Pier Two today to learn how we can help you stake ETH and prepare for the Pectra Upgrade.