default
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:185
Lido liquid staking for EVM wallet accounts: stake ETH → stETH, exit through the two-phase withdrawal queue (request → finalization → claim), wrap to and unwrap from the non-rebasing wstETH form, and read APR / rewards.
Withdrawal requests are permit-first: one EIP-2612 signature rides inside the request transaction, so the whole exit costs a single transaction. The permit is PROVEN with an eth_call before broadcasting — a bad signature must fall back to the two-transaction approve + request path, not burn gas. The fallback’s approval is awaited to a mined receipt before the request is sent, because the request’s gas estimate reverts against an unmined allowance.
Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new default(
account,config?):LidoProtocolEvm
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:200
Creates a new interface to the Lido protocol for evm blockchains.
Parameters
Section titled “Parameters”account
Section titled “account”The wallet account to use to interact with the protocol (a @anywalletkit/wallet-evm account, or a read-only account for views).
config?
Section titled “config?”LidoProtocolConfig = {}
The protocol’s configuration.
Returns
Section titled “Returns”LidoProtocolEvm
Overrides
Section titled “Overrides”Properties
Section titled “Properties”_account
Section titled “_account”
protectedreadonly_account:IWalletAccountReadOnly|IWalletAccount
Defined in: core/dist/index-QWdcwE6y.d.ts:309
Inherited from
Section titled “Inherited from”_config
Section titled “_config”
protectedreadonly_config:LidoProtocolConfig
Defined in: core/dist/index-QWdcwE6y.d.ts:310
Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”claimWithdrawals()
Section titled “claimWithdrawals()”claimWithdrawals(
options?):Promise<ClaimWithdrawalsResult>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:496
Claims finalized withdrawal requests — ETH lands on the account.
Parameters
Section titled “Parameters”options?
Section titled “options?”Returns
Section titled “Returns”Promise<ClaimWithdrawalsResult>
Overrides
Section titled “Overrides”StakingProtocol.claimWithdrawals
describeActivity()
Section titled “describeActivity()”describeActivity(
tx,ctx):ActivityItem|null
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:696
Recognize this deployment’s Lido transactions offline (stETH submit, wstETH
wrap / unwrap, WithdrawalQueue requestWithdrawals* / claimWithdrawals*).
See lido-activity.ts for the rule.
Parameters
Section titled “Parameters”ChainTx
DescribeActivityContext
Returns
Section titled “Returns”ActivityItem | null
Overrides
Section titled “Overrides”StakingProtocol.describeActivity
getApr()
Section titled “getApr()”getApr():
Promise<number>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:533
Lido’s 7-day SMA staking APR, in percent.
Returns
Section titled “Returns”Promise<number>
Overrides
Section titled “Overrides”getRewardHistory()
Section titled “getRewardHistory()”getRewardHistory(
options?):Promise<RewardEvent[]>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:673
Daily rebase reward history for the account, newest first. Decoration: failures return an empty array, never throw.
Parameters
Section titled “Parameters”options?
Section titled “options?”The history’s options.
limit?
Section titled “limit?”number = 14
Returns
Section titled “Returns”Promise<RewardEvent[]>
Rebase events (reward in stETH base unit, timestamp unix seconds).
getRewards()
Section titled “getRewards()”getRewards():
Promise<RewardTotals|null>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:649
Lifetime staking rewards for the account, from the same backend stake.lido.fi uses. Decoration: failures return null, never throw.
Returns
Section titled “Returns”Promise<RewardTotals | null>
Lifetime stETH rewards (base unit) and average APR (percent).
getStakedBalance()
Section titled “getStakedBalance()”getStakedBalance():
Promise<StakedBalance>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:514
The account’s staked position: stETH, wstETH and the live rate.
Returns
Section titled “Returns”Promise<StakedBalance>
Overrides
Section titled “Overrides”StakingProtocol.getStakedBalance
getWithdrawalEta()
Section titled “getWithdrawalEta()”getWithdrawalEta(
ids):Promise<Map<string,number>>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:602
Finalization ETA per queued request, in seconds, from Lido’s withdrawal queue API. Decoration: failures return an empty map, never throw.
Parameters
Section titled “Parameters”bigint[]
The request ids.
Returns
Section titled “Returns”Promise<Map<string, number>>
Request id (as string) → ETA seconds. Finalized requests are absent.
getWithdrawalEtaForAmount()
Section titled “getWithdrawalEtaForAmount()”getWithdrawalEtaForAmount(
amount):Promise<number|null>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:629
Rough finalization ETA for a NEW withdrawal request of the given size, in seconds, from Lido’s withdrawal queue API (which takes ETHER units). Decoration: failures return null, never throw.
Parameters
Section titled “Parameters”amount
Section titled “amount”number | bigint
The amount to withdraw (in base unit).
Returns
Section titled “Returns”Promise<number | null>
ETA seconds, or null.
getWithdrawalRequests()
Section titled “getWithdrawalRequests()”getWithdrawalRequests():
Promise<WithdrawalRequestsView>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:433
The account’s live withdrawal queue.
Returns
Section titled “Returns”Promise<WithdrawalRequestsView>
Overrides
Section titled “Overrides”StakingProtocol.getWithdrawalRequests
quoteClaimWithdrawals()
Section titled “quoteClaimWithdrawals()”quoteClaimWithdrawals(
options?):Promise<Omit<ClaimWithdrawalsResult,"hash">>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:505
Quotes the costs of a claim operation.
Parameters
Section titled “Parameters”options?
Section titled “options?”Returns
Section titled “Returns”Promise<Omit<ClaimWithdrawalsResult, "hash">>
Overrides
Section titled “Overrides”StakingProtocol.quoteClaimWithdrawals
quoteRequestWithdrawal()
Section titled “quoteRequestWithdrawal()”quoteRequestWithdrawal(
__namedParameters):Promise<Omit<WithdrawalRequestResult,"hash"|"approveHash">>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:416
Quotes the costs of a withdrawal request, assuming the queue already holds an allowance (the executed request needs none — it carries a permit).
Parameters
Section titled “Parameters”__namedParameters
Section titled “__namedParameters”Returns
Section titled “Returns”Promise<Omit<WithdrawalRequestResult, "hash" | "approveHash">>
Overrides
Section titled “Overrides”StakingProtocol.quoteRequestWithdrawal
quoteStake()
Section titled “quoteStake()”quoteStake(
__namedParameters):Promise<Omit<StakeResult,"hash">>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:293
Quotes the costs of a stake operation.
Parameters
Section titled “Parameters”__namedParameters
Section titled “__namedParameters”Returns
Section titled “Returns”Promise<Omit<StakeResult, "hash">>
Overrides
Section titled “Overrides”requestWithdrawal()
Section titled “requestWithdrawal()”requestWithdrawal(
__namedParameters):Promise<WithdrawalRequestResult>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:354
Queues stETH or wstETH for withdrawal through the Lido queue. Permit-first (one signature, one transaction); falls back to approve + request if the permit leg fails. Over-cap amounts split into several requests inside the same transaction.
Parameters
Section titled “Parameters”__namedParameters
Section titled “__namedParameters”Returns
Section titled “Returns”Promise<WithdrawalRequestResult>
Overrides
Section titled “Overrides”StakingProtocol.requestWithdrawal
requireSigningAccount()
Section titled “requireSigningAccount()”
protectedrequireSigningAccount(methodName):IWalletAccount
Defined in: core/dist/index-QWdcwE6y.d.ts:322
The account, narrowed to a signing one, or a ReadOnlyAccountError naming the caller.
Parameters
Section titled “Parameters”methodName
Section titled “methodName”string
Returns
Section titled “Returns”IWalletAccount
Inherited from
Section titled “Inherited from”StakingProtocol.requireSigningAccount
stake()
Section titled “stake()”stake(
__namedParameters):Promise<StakeResult>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:283
Stakes ETH — stETH lands on the account 1:1.
Parameters
Section titled “Parameters”__namedParameters
Section titled “__namedParameters”Returns
Section titled “Returns”Promise<StakeResult>
Overrides
Section titled “Overrides”unwrap()
Section titled “unwrap()”unwrap(
options):Promise<StakeResult>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:584
Unwraps wstETH back to stETH — a single transaction, no approval needed.
Parameters
Section titled “Parameters”options
Section titled “options”The unwrap’s options (amount in wstETH base unit).
Returns
Section titled “Returns”Promise<StakeResult>
wrap()
Section titled “wrap()”wrap(
options):Promise<WithdrawalRequestResult>
Defined in: protocol-staking-lido-evm/src/lido-protocol-evm.ts:555
Wraps stETH into the non-rebasing wstETH. wstETH has no wrap-with-permit, so this is approve (awaited to a mined receipt) + wrap.
Parameters
Section titled “Parameters”options
Section titled “options”The wrap’s options (amount in stETH base unit).
Returns
Section titled “Returns”Promise<WithdrawalRequestResult>
The wrap’s result (approveHash null if the allowance already covered it).