Common stVault operations

The bread-and-butter operations on a stVault: moving ETH in and out, minting and burning stETH, and topping up a validator. Each section below is a self-contained recipe with the UI flow and the matching API endpoint.

If you need to recover a low health factor, see Rebalance a vault. If you're a pool depositor, deposits and withdrawals work differently: see Staking pools.

When using the SVM UI

When using the SVM UI, these apply to every operation below:

  • Your wallet is linked to your Northstake account and connected in the browser.
  • The signing wallet holds the required role on the vault Dashboard (called out per operation).
  • The vault's oracle report is fresh. If it's stale, the UI shows an Update report prompt: sign the update report transaction and the original operation continues. Concept: Staking vaults → Periodic updates.

Deposit ETH

Add ETH to the vault: to back new validator deposits, raise the health factor, or hold more collateral against future mints.

Required role: FUND_ROLE on the Dashboard.

🖱️

to deposit ETH in the UI: click Deposit on the Vaults page (or the global Deposit button at the top), pick the vault, enter the ETH amount, review, and sign. The review screen previews the new Total Value and Health Factor.

</> to deposit ETH via the API: see fundVault. Pool vaults can also pass sharesRecipient (the address that receives the LP token).

Verify

  • Total Value increases by the deposited amount once the transaction confirms.
  • If the vault has minted stETH, the Health Factor goes up proportionally.

→ Concept: Staking vaults → Funding.

Withdraw ETH

Pull liquid ETH out of the vault to a chosen recipient. Works against the vault's liquid balance only: to withdraw beyond what's liquid, you need to exit or unstake validators first. See Unstake a validator.

Required role: WITHDRAW_ROLE on the Dashboard.

🖱️

to withdraw ETH in the UI: from the vault page open Operations → Withdraw, enter the amount and recipient (defaults to a linked wallet), review, and sign.

</> to withdraw ETH via the API: see withdrawFromVault.

Verify

  • The transaction reverts if the amount exceeds the liquid balance or would push the Health Factor below 100%.
  • On success, the recipient receives the ETH and the vault's liquid balance drops by the same amount.

→ Concept: Vault health for the post-withdrawal HF check.

Mint stETH or wstETH

Mint stETH (or its wrapped form, wstETH) against the vault's collateral. The minted amount becomes the vault's liability: always check the post-operation Health Factor before signing.

Required role: MINT_ROLE on the Dashboard.

🖱️

to mint stETH or wstETH in the UI: from a vault page click Mint, pick stETH or wstETH, enter the amount, and (for dedicated and stv vaults) pick a recipient: stvSteth mints to the depositor automatically. Review the post-mint Health Factor and remaining minting capacity, then sign.

</> to mint stETH or wstETH via the API: see mintStETH or mintWstETH. The recipient field is required for dedicated and stv vaults, and must be omitted for stvSteth pools.

Verify

  • Health Factor drops. Don't sign if the preview lands near 100%: leave a buffer, see Vault health → Avoiding forced rebalance.
  • Remaining minting capacity (stETHRemainingCapacity on the vault response) decreases by the minted amount.

→ Concept: Staking vaults → Minting and burning stETH, Vault health.

Burn stETH or wstETH

Burn stETH (or wstETH) to reduce the vault's outstanding liability. The cheapest way to raise the Health Factor if the tokens are already on hand.

Required role: BURN_ROLE on the Dashboard. The holding wallet also needs to grant an on-chain allowance to the Dashboard: the flow handles this for you.

🖱️

to burn stETH or wstETH in the UI: from a vault page click Burn, pick stETH or wstETH, enter the amount, review. The flow signs two transactions in sequence: an approval (sets the Dashboard as the spender), then the burn.

</> to burn stETH or wstETH via the API

Approve: approveBurnStETH or approveBurnWstETH.

Then burn: burnStETH or burnWstETH.

Verify

→ Concept: Staking vaults → Minting and burning stETH.

Top up a validator

Add ETH to an active validator's effective balance above the 32 ETH floor. Higher effective balance means a higher reward rate; the validator stays active with no state change.

Required role: FUND_ROLE on the Dashboard.

🖱️

to top up a validator in the UI: from the vault's Validators table choose Top up on the validator's row (or use Operations → Top up on the vault page), enter the amount, review, and sign.

</> to top up a validator via the API: see topUpValidator.

Verify

  • Vault Total Value increases by the top-up amount → Health Factor goes up.
  • The validator's effective balance increases on the next beacon-chain epoch boundary (not instantly).

→ Concept: Staking and the PDG flow → Top-ups.

Related