Skip to main content
Looking for Contributors! This Skill needs an implementation.Contributing a Skill involves:
  1. Writing a reference implementation with full functionality
  2. Adding comprehensive tests
  3. Writing documentation with usage examples
See the ethers-provider Skill for an example of a complete Skill implementation.Interested? Open an issue or PR at github.com/evmts/voltaire.
Skill — Copyable reference implementation. Use as-is or customize. See Skills Philosophy.
Stake ETH with Lido and manage stETH/wstETH positions.

Planned Implementation

Staking

import { Lido } from './Lido.js';

const lido = Lido({ provider });

// Stake ETH for stETH
await lido.submit({
  amount: parseEther('10'),
  referral: ZERO_ADDRESS,
  signer,
});

// Wrap stETH to wstETH (non-rebasing)
await lido.wrap({
  amount: stethBalance,
  signer,
});

Withdrawals

// Request withdrawal
const requestIds = await lido.requestWithdrawals({
  amounts: [parseEther('5')],
  signer,
});

// Check withdrawal status
const status = await lido.getWithdrawalStatus(requestIds);

// Claim when ready
await lido.claimWithdrawals({
  requestIds,
  signer,
});

Resources