Skip to main content
These flows use many instructions. If you hit compute limits, add ComputeBudgetProgram.setComputeUnitLimit({ units: 1_000_000 }) (or higher) as the first instruction in your transaction.
Native Staked Vaults let you use staked SOL (in a validator stake account) as collateral. You deposit your stake into the Single Pool program, receive pool tokens (e.g. nsHELIUS, nsJUPITER), then deposit those tokens into the corresponding Jupiter Lend vault to borrow against them, all while your SOL continues to earn staking rewards.

Supported Pools

Discover vaults at runtime with client.vault.getAllVaults() and match supplyToken to the pool mint.

Single Pool Program

  • Program ID: SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE
  • SDK: @solana/spl-single-pool-classic

Guides

Deposit

Split stake, deposit into Single Pool, then deposit pool tokens into a vault.

Withdraw

Withdraw pool tokens from vault, then burn them to receive stake back.