Dashboard · VantagePlanned

stETH Withdrawal Queue: Lido Unstaking Wait Time

How long does it take to withdraw stETH from Lido right now?

stETH waiting to be withdrawn from Lido, how fast requests are finalized and the wait a new request faces, beside the market rate.

ShareEmail itvoltfincrypto.com/apps/steth-withdrawal-queue
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

  • Period

Queue

stETH waiting now, recent finalization times and the wait a new request faces.

stETH waiting

stETH

stETH in requests not yet finalized, from unfinalizedStETH() at the latest block read.

Figurelst_rates_dailyAwaiting data

Requests waiting

count

Requests between the last finalized id and the last request id at the same block.

Figurelst_rates_dailyAwaiting data

Median wait, last 30 days

days

The median time from request to finalization for requests finalized in the last 30 days.

Figurelst_rates_dailyAwaiting data

Expected wait for a new request

days

An estimate for a request made now: stETH ahead in the queue against ETH arriving from deposits, rewards and exits at recent rates, shown with its inputs.

Figurelst_rates_dailyAwaiting data

ETH available to finalize

ETH

ETH available to pay requests at the latest report: buffered deposits, the withdrawal vault and the execution-rewards vault.

Bar chartlst_rates_dailyAwaiting data

stETH to ETH market rate

ETH

The stETH to ETH rate in the main Curve pool by day, against the one to one rate at which Lido redeems.

Line chartdex_liquidity_dailyAwaiting data

History

Requests, finalizations and finalization times over time.

stETH requested

stETH

stETH requested for withdrawal over the selected period.

Figurelst_rates_dailyAwaiting data

ETH finalized

ETH

ETH locked for finalized requests over the same period.

Figurelst_rates_dailyAwaiting data

Requested and finalized by day

ETH

stETH requested and ETH finalized each day, so a growing queue shows as requests outpacing finalizations.

Bar chartlst_rates_dailyAwaiting data

Time to finalization by request day

days

The median and the slowest time to finalization for requests made each day, beside Ethereum's exit queue wait.

Line charteth_staking_dailyAwaiting data

Period
Last 30 days, last 90 days or since withdrawals opened
About

What it answers, and for whom.

Withdrawing stETH from Lido takes two steps: a request that locks the stETH in the withdrawal queue, and a finalization that sets aside ETH to pay it, after which the holder claims. This dashboard reads both from Lido's withdrawal queue contract, so it shows how much stETH is waiting, how long recent requests took to finalize and what a new request is likely to face.

Requests are finalized at Lido's accounting oracle reports, normally once a day, with ETH from new deposits, rewards and validators that have exited. When that is not enough, validators must exit and the wait follows Ethereum's own exit queue, which the dashboard shows beside it. The alternative is to sell stETH for ETH on the market, so the stETH to ETH rate in the main pool is shown too.

Each figure is pinned to a block with the contract calls and events behind it, so the wait estimate can be checked against the requests and finalizations it was built from.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. Requests come from WithdrawalRequested events of Lido's WithdrawalQueueERC721 contract, with each request's id, owner and stETH amount; finalizations come from WithdrawalsFinalized events with the range of ids and the ETH locked.
  2. Unfinalized stETH, the last request id and the last finalized id are read with unfinalizedStETH(), getLastRequestId() and getLastFinalizedRequestId() at the latest block read.
  3. A finalized request's wait is the time between its request block and the block of the report that finalized it; the dashboard shows the median and the slowest for each period.
  4. The ETH available for withdrawals is Lido's buffered ether plus its withdrawal and execution-rewards vault balances; the market rate is the stETH to ETH quote from the main Curve pool at the same block.
  5. Every figure carries a receipt: the block, its hash and the calls or logs it came from.

The data it needs

Read from chain state and history

  • lst_rates_dailyTo buildLiquid staking ratesExchange rates of liquid staking and restaking tokens (wstETH, rETH, cbETH, weETH and others) at day end, and the realized yield they imply.
  • eth_staking_dailyTo buildEthereum staking and validatorsActive validators, ETH staked, deposits, withdrawals and the entry and exit queues on the Ethereum beacon chain, by day, with staking-provider labels where known.
  • dex_liquidity_dailyTo buildDEX liquidityLiquidity held by each DEX pool at day end, in tokens and valued in USD, with fee tier and pool age.
  • WithdrawalQueueERC721 WithdrawalRequested events (requestId, owner, amountOfStETH)
  • WithdrawalsFinalized events (from, to, amountOfETHLocked, timestamp) and WithdrawalClaimed events
  • unfinalizedStETH(), getLastRequestId() and getLastFinalizedRequestId() at a pinned block
  • Lido buffered ether and the withdrawal and execution-rewards vault balances
  • stETH/ETH Curve pool get_dy for the market rate
  • Beacon state exit queue for Lido's exiting validators
Questions

Questions people ask.

How long does it take to withdraw stETH?

When Lido has enough ETH on hand, a request is usually finalized at one of the next daily oracle reports. When validators must exit to pay it, the wait follows Ethereum's exit queue and can stretch to weeks. The dashboard shows how long recent requests actually took.

Why is my stETH withdrawal request still pending?

A request is finalized only at an accounting oracle report, and only when enough ETH is available to cover every request ahead of it. A long queue, pending validator exits or Lido's bunker mode after large penalties all make finalization take longer.

What is the difference between withdrawing and swapping stETH?

Withdrawing redeems stETH for ETH one to one through Lido, after a wait. Swapping sells stETH for ETH at once on a market, at whatever rate the market offers, which can fall below one to one when many holders want to leave at the same time.

What is Lido's bunker mode?

A protective state Lido's oracle enters when the protocol sees large penalties or a negative rebase. Finalization slows down so that holders who stay are not left with the losses of those who leave first.

What is the stETH discount?

The gap between the market rate of stETH in ETH and the one to one rate at which Lido redeems it. A wide discount means holders are paying to skip the queue; the dashboard reads it from the main Curve pool at each pinned block.

Finalization
The step at which a Lido oracle report sets aside ETH for a range of withdrawal requests, after which their owners can claim.
Accounting oracle
The Lido contract that receives a committee's daily report on validator balances and withdrawals and then triggers rebases and finalization.
Withdrawal NFT
The ERC-721 token Lido mints for each withdrawal request; whoever holds it can claim the ETH once the request is finalized.
Exit queue
Ethereum's queue of validators waiting to stop validating, limited by a churn rate per epoch.

Build stETH Withdrawal Queue: Lido Unstaking Wait Time on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.