Skip to Content

Lido

Lido is the largest liquid staking protocol on Ethereum. Users stake ETH and receive stETH, a rebasing token that accrues staking rewards. wstETH is a non-rebasing wrapper around stETH, suitable for DeFi protocols and cross-chain bridging. The wstETH/stETH exchange rate increases over time as staking rewards accrue.

Supported chains: Ethereum Mainnet (wrap/unwrap + all reads), Base (bridged wstETH: balance and total supply only), Sepolia Testnet. Read-only actions work without credentials. Write actions require a connected wallet.

Actions

ActionTypeCredentialsDescription
Wrap stETH to wstETHWriteWalletWrap stETH tokens into non-rebasing wstETH
Unwrap wstETH to stETHWriteWalletUnwrap wstETH back to rebasing stETH
Approve stETH SpendingWriteWalletApprove a spender to transfer stETH
Get stETH by wstETHReadNoConvert a wstETH amount to stETH value
Get wstETH by stETHReadNoConvert a stETH amount to wstETH value
stETH Per Token (Exchange Rate)ReadNoGet the stETH value of 1 wstETH
wstETH Per stETH (Inverse Rate)ReadNoGet the wstETH value of 1 stETH
Get wstETH BalanceReadNoCheck wstETH balance of an address
Get wstETH Total SupplyReadNoGet total wstETH tokens in circulation
Get wstETH Balance (L2)ReadNoCheck wstETH balance of an address on Base
Get wstETH Total Supply (L2)ReadNoGet total bridged wstETH tokens on Base
Get stETH BalanceReadNoCheck stETH balance of an address

Every action above except the two marked (L2) targets the canonical wstETH or stETH contract, which is on Ethereum Mainnet and Sepolia. The two (L2) actions target the bridged wstETH token on Base.


Wrap stETH to wstETH

Wrap stETH tokens into non-rebasing wstETH. Requires stETH approval to the wstETH contract first (use the Approve stETH Spending action). The amount of wstETH received depends on the current exchange rate.

Inputs:

InputTypeDescription
_stETHAmountuint256stETH Amount (wei)

Outputs: success, transactionHash, transactionLink, error

When to use: Convert stETH to wstETH for use in DeFi protocols that do not support rebasing tokens, prepare for cross-chain bridging, or hold a non-rebasing staking position.


Unwrap wstETH to stETH

Unwrap wstETH back to rebasing stETH at the current exchange rate. The amount of stETH received will be greater than the original wrap if staking rewards have accrued since wrapping.

Inputs:

InputTypeDescription
_wstETHAmountuint256wstETH Amount (wei)

Outputs: success, transactionHash, transactionLink, error

When to use: Convert wstETH back to stETH to receive rebasing rewards directly, or exit a wstETH position.


Approve stETH Spending

Approve the wstETH contract (or another spender) to transfer stETH on your behalf. This must be done before wrapping stETH to wstETH.

Inputs:

InputTypeDescription
spenderaddressSpender Address
amountuint256Approval Amount (wei)

Outputs: success, transactionHash, transactionLink, error

When to use: Grant stETH spending approval before wrapping, or approve other DeFi protocols to use your stETH.


Get stETH by wstETH

Convert a wstETH amount to its equivalent stETH value at the current exchange rate. Useful for calculating the underlying stETH value of a wstETH position.

Inputs:

InputTypeDescription
_wstETHAmountuint256wstETH Amount (wei)

Outputs:

OutputTypeDescription
stETHAmountuint256stETH Value (wei), 18 decimals

When to use: Calculate the stETH value of wstETH holdings, display human-readable staking position values, build portfolio dashboards.


Get wstETH by stETH

Convert a stETH amount to its equivalent wstETH value at the current exchange rate. Useful for previewing how much wstETH a given stETH amount would produce when wrapped.

Inputs:

InputTypeDescription
_stETHAmountuint256stETH Amount (wei)

Outputs:

OutputTypeDescription
wstETHAmountuint256wstETH Value (wei), 18 decimals

When to use: Preview wrap amounts before executing, calculate wstETH equivalents for stETH positions, compare rates across protocols.


stETH Per Token (Exchange Rate)

Get the current stETH value of 1 wstETH. This is the primary exchange rate that increases over time as staking rewards accrue. The rate starts above 1.0 and grows monotonically.

Inputs: None

Outputs:

OutputTypeDescription
rateuint256stETH per wstETH (wei), 18 decimals

When to use: Monitor staking yield accrual, track the wstETH exchange rate over time, trigger actions based on rate changes, compare with other liquid staking protocols.


wstETH Per stETH (Inverse Rate)

Get the current wstETH value of 1 stETH. This is the inverse of the exchange rate and decreases over time as staking rewards accrue.

Inputs: None

Outputs:

OutputTypeDescription
rateuint256wstETH per stETH (wei), 18 decimals

When to use: Calculate how much wstETH 1 stETH can produce, compare inverse rates, build rate conversion utilities.


Get wstETH Balance

Check the wstETH balance of any address. On Ethereum Mainnet and Sepolia this reads the canonical wstETH contract, which is not deployed on Base; on Base the slug resolves to the bridged token instead, so it works there too. Get wstETH Balance (L2) below is the preferred name for new work on Base.

Inputs:

InputTypeDescription
accountaddressWallet Address

Outputs:

OutputTypeDescription
balanceuint256wstETH Balance (wei), 18 decimals

When to use: Monitor wstETH holdings, track staking positions across wallets, trigger alerts when balances change.


Get wstETH Total Supply

Get the total supply of wstETH tokens currently in circulation on Ethereum Mainnet or Sepolia. For the bridged supply on Base, use Get wstETH Total Supply (L2) below.

Inputs: None

Outputs:

OutputTypeDescription
totalSupplyuint256Total wstETH Supply (wei), 18 decimals

When to use: Monitor protocol adoption, track total wrapped stETH, analyze wrapping trends.


Get wstETH Balance (L2)

Slug: get-wsteth-balance-l2. Check the wstETH balance of any address on Base. wstETH on Base is a bridged token: it holds balances and reports a total supply, but implements none of the wrap, unwrap, or exchange-rate functions, so this action exists separately from Get wstETH Balance rather than extending it to another chain.

Inputs:

InputTypeDescription
accountaddressWallet Address

Outputs:

OutputTypeDescription
balanceuint256wstETH Balance (wei), 18 decimals

When to use: Monitor bridged wstETH holdings on Base. Returns the same wei-denominated, 18-decimal value as the Ethereum action, so a workflow moving from Mainnet to Base needs no unit change.


Get wstETH Total Supply (L2)

Slug: get-wsteth-total-supply-l2. Get the total supply of bridged wstETH on Base. This is the supply of the Base token, not of canonical wstETH on Ethereum.

Inputs: None

Outputs:

OutputTypeDescription
totalSupplyuint256Total wstETH Supply (wei), 18 decimals

When to use: Track how much wstETH has been bridged to Base, compare Base supply against Mainnet supply.


Get stETH Balance

Check the stETH balance of any Ethereum address.

Inputs:

InputTypeDescription
accountaddressWallet Address

Outputs:

OutputTypeDescription
balanceuint256stETH Balance (wei), 18 decimals

When to use: Monitor stETH holdings, check available balance before wrapping, track rebasing rewards.


Example Workflows

wstETH Exchange Rate Monitor

Schedule (hourly) -> Lido: stETH Per Token -> Code (rate / 1e18) -> Discord: Send Message

Track the wstETH exchange rate over time and send hourly updates to a Discord channel. Useful for monitoring staking yield accrual.

wstETH Position Value Tracker

Schedule (daily) -> Lido: Get wstETH Balance -> Lido: stETH Per Token -> Code (balance * rate / 1e36) -> SendGrid: Send Email

Calculate the current stETH value of your wstETH position and email a daily summary. Combines exchange rate with balance to show total staked value.

stETH/wstETH Rate Alert

Schedule (hourly) -> Lido: stETH Per Token -> Code (rate / 1e18) -> Condition (> threshold) -> Discord: Send Message

Monitor the wstETH exchange rate and alert when it crosses a threshold, useful for tracking significant yield milestones.

wstETH Total Supply Dashboard

Schedule (daily) -> Lido: Get wstETH Total Supply -> Lido: stETH Per Token -> Code (supply * rate / 1e36) -> Webhook: Send HTTP Request

Track total wstETH supply and its stETH value, sending daily data to an external dashboard or analytics service.


Supported Chains

ChainContracts Available
Ethereum (1)wstETH, stETH
Base (8453)wstETH (bridged: balance and total supply)
Sepolia (11155111)wstETH, stETH (testnet)

On Ethereum Mainnet, all wrap/unwrap and conversion functions are available. On Base, wstETH is a bridged ERC-20 token: it answers balance and total-supply reads, under the get-wsteth-balance-l2 and get-wsteth-total-supply-l2 slugs, and implements none of the wrap, unwrap, or exchange-rate functions. Sepolia provides testnet versions for development.