← Protocols
Stader
01Description

Multi-chain liquid staking provider issuing ETHx (Ethereum), MaticX (Polygon PoS), BNBx (BNB Chain), HBARx (Hedera), FTMx, and SD-staking. Permissionless validator onboarding via the Stader Permissionless Pool on Ethereum.

02Best for
  • 01ETHx liquid staking
  • 02MaticX / BNBx / HBARx multi-chain LST
  • 03running a Stader permissionless validator
  • 04DeFi composability of ETHx
03Install
  • pnpm add viem
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_ETHX_ADDRESSClientETHx on Ethereum mainnet: 0xA35b1B31Ce002FBF2058D22F30f95D405200A15b.
NEXT_PUBLIC_STADER_STAKE_POOL_MANAGERClientStaderStakePoolsManager (proxy) on Ethereum mainnet: 0xcf5EA1b38380f6aF39068375516Daf40Ed70D299. Public entry point for ETH→ETHx and unstake requests.
NEXT_PUBLIC_STADER_USER_WITHDRAW_MANAGERClientUserWithdrawalManager on Ethereum mainnet (see docs.staderlabs.com → smart contracts). Manages unstake requests and finalization.
05Prompt snippet
Integrate Stader ETHx. Stake ETH: `StaderStakePoolsManager.deposit{value: ethAmount}(address receiver)` mints ETHx at the current `getExchangeRate()` (wei ETH per ETHx, monotonically increasing — non-rebasing). Read APR off-chain from `https://www.staderlabs.com/eth/api/...` or compute via `(ER_now / ER_24h_ago - 1) * 365`. Unstake: `UserWithdrawalManager.requestWithdraw(uint256 ethxAmount, address receiver)` mints a non-transferable WithdrawRequest; once finalized (oracle reports validator exits), call `claim(uint256 requestId)`. For MaticX/BNBx, each chain has its own `ChildPool` / `BnbX` contract with the same deposit/request/claim pattern but different addresses and different exit queues. The Permissionless Pool lets node operators bond 4 ETH + SD instead of 32 ETH and run a validator on behalf of stakers.
06Gotchas
  • ETHx is NON-rebasing — DO NOT assume 1 ETHx == 1 ETH; convert via `getExchangeRate()` for display and accounting.
  • Unstake finalization depends on Ethereum validator exit queue + Stader oracle reports; total time-to-cash can exceed 7-14 days during congestion.
  • Permissionless Pool node operators put up 4 ETH + SD as bond — operator slashing is socialized into the ETHx exchange rate via the next oracle report (peg risk during mass-slashing events).
  • MaticX uses Polygon PoS validator unbonding (~3-4 days); BNBx uses BNB Chain validator unbonding (~7 days); HBARx uses Hedera-specific exit timing — DO NOT use the Ethereum unbond UX for these tokens.
  • ETHx/ETH peg deviation on Curve / Balancer during stress is expected; use the on-chain `getExchangeRate()` as an oracle source, not DEX spot.
  • SD token rewards and incentive emissions are off-chain; eligibility for boosts depends on whether ETHx is held in an approved DeFi position (Pendle PT, Aave, etc.).
  • Stader has been audited but the Permissionless Pool architecture is more complex than custodial pools (Lido, Rocket Pool centralized) — review the most recent audit before listing it as 'safe' to users.
07Alternatives