Lido fi

Lido fi withdrawals limit checks and retry diagnostics

Lido fi withdrawals fail or stall for different reasons: an out-of-range request, insufficient token balance or allowance, paused processing, pending finalization or insufficient ETH for gas. First determine whether the wallet transaction was rejected, reverted or confirmed. Do not submit another request merely because the existing request's NFT is hidden or the queue is slow. Match the visible state to the affected stage, correct any blocking condition and retry only when no withdrawal request was created.

· updated
Before retrying, check whether the prior attempt failed, created a pending request or produced a claimable withdrawal.

Fixed request bounds differ from live queue conditions

The contract applies fixed bounds to each withdrawal request, while available balances, allowances, gas estimates and queue time can change. Treating these values as one limit leads to the wrong remedy. A smaller amount can correct a size error, but it cannot finalize a valid request that is already waiting.

Each request must represent at least 100 wei of stETH and no more than 1,000 stETH. A larger total can be divided into multiple requests. The interface can create those requests together, yet every individual request must remain within the contract range.

The displayed waiting estimate is neither an input ceiling nor permission to resubmit. It reflects the queue and protocol state visible at that time. If a transaction created a request, changing the amount afterward affects only a new request and does not alter the existing position.

stETH and wstETH reach the queue through different inputs

Both assets can enter the native Ethereum withdrawal queue, but the contract evaluates them differently. A stETH request uses the submitted token amount directly. A wstETH request unwraps the token and records the resulting stETH amount, so the displayed queue amount can differ from the wstETH balance entered.

Asset balance and queue denomination

The connected Ethereum account must hold the selected asset and authorize the withdrawal contract to transfer it. The account also needs ETH for transaction gas. A balance on another network does not satisfy the Ethereum contract, even when a wallet displays the same token name.

stETH input

For stETH, compare the intended amount with the spendable token balance, approved allowance and per-request bounds. A separate approval may remain valid for a later request. If the withdrawal call reverts, the reverted transaction does not create an unstETH NFT or move stETH into the queue.

stETH input: For stETH, compare the intended amount with the spendable token balance, approved allowance and per-request bounds. A separate approval may remain valid for a later request.; If the withdrawal call reverts, the reverted transaction does not create an unstETH NFT or move stETH into the queue.

View full-size image

wstETH input

For wstETH, inspect the converted stETH amount shown for the request. The contract applies its minimum and maximum to that stETH equivalent. Manual unwrapping is not required for the native withdrawal path because the request process handles the conversion.

Four withdrawal stages have different prerequisites

A withdrawal passes through authorization, request creation, queue finalization and claiming. The visible evidence changes at each stage. Finding the last completed stage prevents a pending or finalized request from being mistaken for a failed submission.

At a glance: Four withdrawal stages have different prerequisites
Stage Required state before it can proceed
Authorize token spending The connected Ethereum account holds the selected stETH or wstETH and enough ETH for gas.
Submit the request An allowance or valid permit covers the input, each request fits the bounds and new requests are not paused.
Wait for finalization A confirmed request exists and remains unclaimed while the queue advances to a finalizable state.
Claim ETH The request is finalized, the connected account owns the unstETH NFT and the account can pay claim gas.

The protocol does not collect a withdrawal fee, but Ethereum transactions still require gas. A separate approval, the request and the later claim can therefore produce distinct network costs. A rejected wallet prompt is different: without a broadcast transaction, it consumes no gas and creates no request.

A submitted request is not a failed withdrawal

A confirmed request can be pending, finalized or claimed. Pending means the queue has accepted it but ETH is not ready. Finalized means the owner may claim. Claimed means the ETH transfer completed and the NFT was burned. A stale NFT image does not change these states, and a confirmed request cannot be canceled simply to start again.

Queue time changes without changing request limits

The withdrawal queue processes requests in first-in, first-out order. A request behind more unfinalized stETH can wait longer even though its amount satisfies every contract bound. Splitting a total creates valid smaller requests, but it does not grant priority over earlier positions.

Under normal conditions, the published estimate is 1-5 days, although it is not a deadline. The live estimate can move as new requests enter, ETH becomes available or Ethereum validator exits take longer. Waiting beyond an earlier estimate does not by itself show that the request failed.

Finalization also requires enough ETH to satisfy a request completely. The protocol can source ETH from its buffer, incoming staking activity, validator withdrawals and execution-layer rewards. A single request is not partially finalized, so available liquidity must cover that request before its state changes.

Turbo mode uses available ETH to process the ordinary queue. Bunker mode is an emergency state intended to preserve orderly processing during severe validator penalties or related conditions, and it can extend waiting time. Neither mode changes the fixed per-request bounds. A mode-related delay therefore calls for monitoring rather than another request.


The transaction result determines whether a retry is valid

Start a retry by checking the transaction result. If nothing was broadcast, review the account, network, amount and gas balance before retrying. If the transaction reverted, inspect the on-chain failure before resubmitting. If it succeeded, follow the request that already exists.

Rejection before broadcast

A wallet rejection, wrong connected account or insufficient ETH for the proposed gas reservation can stop the transaction before it reaches Ethereum. There will be no transaction receipt or request ID. Reconnect the intended account, select Ethereum, leave enough ETH for gas and review the amount again before retrying.

Reversion after broadcast

A reverted request transaction can still consume gas, but Ethereum rolls back its token transfer and request creation. The blocking input may be an inadequate allowance, insufficient token balance, out-of-range request amount or paused request function. Change the condition identified by the receipt instead of raising the gas limit without evidence.

Confirmation without a visible request

A successful receipt for the request transaction means the next check is ownership and status, not another submission. Reconnect the account that received the unstETH NFT and inspect its request records. Some wallets do not refresh dynamic NFT artwork promptly, so an unchanged image is weaker evidence than the request status.

Only an absent request following a rejected or reverted transaction leaves the original action available for a clean retry. A pending request needs finalization, while a finalized request needs a claim transaction. Do not create another withdrawal only because the wallet display did not refresh.

A secondary-market swap is a separate exit path

The native queue converts a withdrawal claim into ETH after asynchronous finalization. A secondary-market swap instead exchanges stETH or wstETH against available liquidity and settles when that trade confirms. It avoids queue waiting, but it does not promise one ETH for each stETH.

Compare the swap quote, minimum received amount, price impact, route charges and network gas with the queue outcome. Those inputs can move between quotation and signing. The relevant alternative is the executable quote, not a remembered exchange rate or an assumption that deep liquidity will remain available.

Tokens held outside Ethereum cannot enter the Ethereum withdrawal contract directly. The holder must use a compatible route back to Ethereum before requesting a native withdrawal or choose available liquidity on the current network. Bridging introduces its own confirmation stages, so it is not a retry for an existing queue request.

Completion requires a confirmed ETH claim

A ready-to-claim status reserves ETH for the request, but it does not place ETH in the wallet. The current owner of the unstETH NFT must submit the claim transaction and pay Ethereum gas. Transferring that NFT also transfers the right to claim, so verify the current owner before signing.

Claiming remains available for finalized requests even when new request placement or finalization is paused. Once the claim succeeds, the contract sends ETH to the recipient and burns the NFT. The transaction receipt and resulting ETH balance provide stronger completion evidence than the disappearance or appearance of wallet artwork.

A claimed request cannot be claimed twice. A pending request cannot be accelerated by repeating it, and a hidden NFT does not justify creating a replacement. The practical limit is the recorded request state: retry only before creation, wait after creation and claim after finalization.

Lido fi withdrawals - common questions

Why can the maximum wstETH input look lower than 1,000 tokens?

The withdrawal contract tests a wstETH request by its converted stETH amount, not merely by the numerical wstETH balance. Because wstETH represents an underlying stETH amount through the protocol share rate, the two token quantities are not interchangeable. Use the stETH equivalent shown for the request when checking the 1,000 stETH upper bound and the 100 wei lower bound.

When may an existing token approval be reused for a retry?

A confirmed standalone approval can remain usable when the later withdrawal request fails before consuming the authorized token amount. Check the current allowance, selected asset and approved spender before relying on it. A rejected approval was never recorded, while a replaced or reduced allowance may no longer cover the request. The retry still needs a separate successful withdrawal transaction.

Does a pending Lido withdrawal continue earning staking rewards?

A pending request does not receive additional staking rewards on the locked stETH or wstETH submitted for withdrawal. The claimable ETH is determined during finalization and cannot exceed the amount represented when the request entered the queue. Significant protocol losses, including penalties or slashing, can also make the final amount lower than the original expectation.

Why might ready-to-claim ETH be lower than the requested stETH amount?

The final claim can be lower if protocol losses from validator penalties or slashing affect the share rate used during finalization. The withdrawal process caps the result by the value represented when the request was created, so waiting does not add rewards to the locked amount. Read the finalized claim value before submitting the claim transaction.