Skip to content
User guide

Withdraw

Getting out of the Stability Pool or out of sfyUSD — in fyUSD, in USDG, or in kind. What is never blocked, and the one case where you receive stock tokens.

Exiting is deliberately the least interesting part of this protocol. There is no lock, no cooldown, no notice period, no queue and no exit fee at the pool level.

From the Stability Pool, directly

StabilityPool.withdraw(amount)

You receive your compounded fyUSD deposit — principal plus every interest payment, origination fee and routed fee credited to you since you deposited — and the call automatically triggers claimCollateral(), sending you any stock tokens the pool has assigned to you from liquidations.

Guarantee

withdraw and claimCollateral are never pausable, in any state, by any role, including the Closer key. The single exception is a revert when called in the same block as a liquidation offset, which exists to prevent a depositor front-running a liquidation they can see coming.


Rules R-1.2.2, R-1.2.3, R-9.2.4, R-4.4.1

From sfyUSD

sfyUSD.redeem(shares, receiver, owner)     // fyUSD out
sfyUSD.redeemInKind(shares)                // exact pro-rata: fyUSD plus stock tokens
Router.withdrawToUSDG(branch, shares, receiver, minUsdg)

redeem gives you fyUSD as long as the collateral awaiting sale is 20% of the vault's assets or less. Above that threshold, the excess portion is delivered in kind, pro rata, valued at a discount — because otherwise the last depositors out would be handed all the unsold collateral while the earlier ones took clean fyUSD.

redeemInKind always gives you the exact pro-rata mix, for anyone who wants the stock tokens.

Rules R-9.5.6, R-9.5.1

Out to USDG in one transaction

Router.withdrawToUSDG redeems your shares and passes the fyUSD through the PSM at 0.20%. Round trip from USDG and back is 0.25%.

If the PSM reserve does not hold enough USDG to convert everything, the router converts what it can and returns the remaining fyUSD to you. It never reverts and never holds your funds waiting for liquidity. Any stock tokens from the in-kind rule come across as they are.

Rule R-9.6.2

How your balance is computed

How it is calculated

compounded deposit = d × P ÷ P_snapshot


collateral gain = d × (S − S_snapshot) ÷ P_snapshot


fyUSD yield gain = d × (B − B_snapshot) ÷ P_snapshot

P falls each time the pool absorbs a liquidation; S and B rise with collateral and yield. Your snapshot is taken at each deposit and withdrawal. The invariant that matters: the pool's fyUSD balance is always at least the sum of deposits plus pending yield, and its token balance is always at least the sum of unclaimed collateral gains.

Rules R-9.2.1, R-9.2.5, R-9.2.6

What you should expect to receive

SituationYou receive
No liquidation since you depositedfyUSD only, more than you put in
Liquidations happened, direct depositless fyUSD, plus stock tokens worth more than the difference
Liquidations happened, sfyUSD, collateral already soldfyUSD only; the gain is in the share price
Liquidations happened, sfyUSD, collateral still being sold and over 20% of assetsfyUSD plus a pro-rata share of stock tokens

Risk

A large liquidation converts part of your dollar deposit into equity exposure at a discount. That discount is your compensation and it is normally 3–7%, but the tokens can fall further before they are sold. In a fast market you can end a withdrawal with less dollar value than you deposited.

Withdrawing from a dormant branch

A branch that has not yet activated accepts pool deposits — they sit there earning nothing until activation. They remain withdrawable at any moment. If a branch never meets its activation conditions, nothing breaks and nothing is trapped.

Rules R-12.3.3, R-12.3.4

Withdrawing during a shutdown or Sunset

Both stay open. A shut-down branch keeps SP.withdraw, claimCollateral and sfyUSD.redeem fully available; so does the terminal Sunset mode, where the PSM additionally drops both its fees to zero and lifts its cap to 100%, making the USDG exit free.

Rules R-6.9.2, R-12.5.2, R-8.7.1

Last reviewed: 2026-09-07 · Spec v0.4