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
| Action | Guide |
|---|---|
| Quote shares and stake nUSD | Convert nUSD into snUSD |
| Quote claim value, request unstake, and claim | Convert 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 / totalSharesIf 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.