NestDevelopers
Stake nUSD

Stake nUSD

Calculate snUSD conversion rates, stake nUSD, request an unstake, and claim nUSD after the cooldown.

snUSD is a six-decimal share token representing a pro-rata claim on the nUSD accounted by the staking pool. It is not a rebasing token and should not be displayed as permanently equal to one nUSD.

nUSD → stake with minimum shares → snUSD
snUSD → request unstake → cooldown → claim window → nUSD

ActionGuide
Quote shares and stake nUSDConvert nUSD into snUSD
Quote claim value, request unstake, and claimConvert snUSD into nUSD

Conversion rates

The rate used to enter and the current claim rate are related but not always identical during a pending revenue checkpoint:

redeemable assets = max(stakingVaultNusd - reservedPendingClaims, 0)
pending revenue = max(revenue vault balance - revenueBaselineNusd, 0)
entry assets = redeemable assets + pending revenue

quoted snUSD = nUSD input × totalShares / entry assets
quoted nUSD claim = snUSD shares × redeemable assets / totalShares

If totalShares is zero, the first stake mints shares 1:1, subject to the protocol's minimum initial stake. The stake instruction checkpoints target revenue before calculating final shares, so always use minSharesOut.

Exit timing

request_unstake burns snUSD immediately and creates one pending-withdrawal PDA for the owner and staking state. The final nUSD amount is calculated when complete_unstake executes, not locked at request time.

Read cooldownSeconds and claimDeadlineTs on-chain. Mainnet is currently configured for a seven-day cooldown and a three-day claim window, but integrations must not hardcode those values.

On this page