Permissionless liquid staking on Ethereum and Gnosis Chain. StakeWise V3 lets stakers pick a specific Vault (run by an operator they trust) and mint osETH — a non-rebasing, slashing-protected liquid staking token issued against any Vault.
- 01permissionless ETH staking
- 02operator-specific Vault selection
- 03osETH minting for DeFi composability
- 04Gnosis Chain GNO + osGNO staking
- pnpm add viem
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_OSETH_ADDRESS | Client | osETH (StakeWise V3 LST) on Ethereum mainnet: 0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38. |
| NEXT_PUBLIC_STAKEWISE_VAULT_REGISTRY | Client | StakeWise V3 VaultsRegistry — see https://docs.stakewise.io/for-developers/networks for the current address per chain. |
| NEXT_PUBLIC_STAKEWISE_OSTOKEN_VAULT_ESCROW | Client | OsTokenVaultEscrow on Ethereum mainnet — see StakeWise developer docs for the deployed proxy. |
Integrate StakeWise V3. Stakers pick a Vault from the registry and deposit ETH: `EthVault.deposit{value: ethAmount}(address receiver, address referrer)` — receives non-transferable Vault shares (1:1 with ETH at first, exchange rate grows with rewards). To mint osETH against a Vault position: `EthVault.mintOsToken(address receiver, uint256 osTokenShares, address referrer)` — only mintable up to the Vault's `ltvPercent` (typically 90%) of position value. To redeem ETH from a Vault: `EthVault.enterExitQueue(uint256 shares, address receiver)` returns a positionTicket; once the validator exit clears, call `claimExitedAssets(positionTicket, timestamp, exitQueueIndex)`. To redeem osETH itself: must FIRST `burnOsToken(uint256 osTokenShares)` to free up the Vault collateral, OR use the OsTokenVaultEscrow flow on Vaults that opt in. Read osETH/ETH rate via `OsTokenVaultController.convertToAssets(uint256 shares)`.
- ⚑osETH is OVER-COLLATERALIZED (LTV~90%) — minting osETH against a Vault position can be LIQUIDATED if the Vault's underlying ETH ratio falls below the redemption threshold (e.g. mass slashing of that operator). Liquidations burn the Vault shares to repay osETH.
- ⚑Each Vault has its OWN operator and slashing surface — choosing a Vault is choosing an operator. Vault shares are non-transferable; only osETH is liquid.
- ⚑Vault redemption is gated by the Ethereum validator exit queue PLUS the Vault's exit queue — finalization can take days to weeks. The positionTicket is the sole proof; lose it and you lose access.
- ⚑osETH peg deviation on Curve / Balancer is expected during stress; the protocol's redemption mechanic prevents persistent depegs but the bridge between secondary-market price and on-chain redemption is not instant.
- ⚑Slashing protection is funded by the StakeWise insurance pool (mevEscrow + osToken treasury) — it covers up to a configurable threshold; large coordinated slashings can still socialize losses.
- ⚑On Gnosis Chain the analog is osGNO + GnoVault with different deposit semantics (GNO instead of ETH); never reuse Ethereum addresses.
- ⚑Permissionless Vault deployment is allowed — UI MUST allowlist trusted operators or display operator metadata, otherwise users can deposit into a malicious Vault.