Deposits & withdrawals
How deposits and withdrawals work in _gamma vaults — instant share minting, the instant and queued paths, the on-chain receipt, staged progress, and timing.
Deposits
A deposit into a _gamma vault (a Gamma Economic Agent, or G.E.A.) exchanges your assets for share tokens. Deposits settle in a single on-chain transaction that you sign with your own wallet. There is no minimum deposit and there are no lock-up periods.
Each vault takes a specific asset: gmSTBL takes USDC, gmSOL takes SOL, and plRWA takes USDC. Share tokens are standard SPL tokens that live in your wallet. Holding them is what makes your position non-custodial — only your wallet can redeem your shares.
Every vault publishes its Net Asset Value (NAV) on-chain, and the share price is
simply NAV / total shares outstanding. When you deposit, the program mints
shares at the current price (shares = deposit amount / share price), so a
deposit neither dilutes nor is diluted by existing holders. The program will not
let you deposit against a stale price: if the published NAV is too old, user
operations are blocked until it refreshes. There is no deposit fee. Once your
deposit confirms, your shares begin accruing yield immediately — reflected as
share-price appreciation over time, not as new tokens. You never need to
claim, compound, or reinvest; yield compounds inside the vault automatically.
Withdrawing from the app
Connect your wallet, enter the amount, and sign the withdrawal transaction. You can view pending withdrawals and claimable funds without a separate wallet verification message. Private account details may still require verification.
The app checks available capacity before signing, but does not reserve it. If another withdrawal consumes the remaining capacity first, your transaction may fail; refresh the quote before trying again. Liquidity processing starts only after the withdrawal is confirmed on-chain. When funds are ready, sign the Claim transaction to receive them in your wallet.
Two withdrawal paths
You can request a withdrawal from a G.E.A. at any time — there are no lock-ups. What happens next depends on how much liquid asset the vault is holding at that moment.
- Funded path — if the vault already holds enough liquid USDC (or SOL) to cover your redemption, it funds your withdrawal escrow immediately. Use Claim to transfer those assets into your wallet.
- Queued path — if your withdrawal is larger than the vault's liquid headroom, the program creates an on-chain withdrawal receipt recording your pending shares. The agent then exits positions to free the liquidity, and once it is ready you claim your assets in a second transaction.
The app decides which path applies by reading the vault's on-chain liquid balance against its tracked pending withdrawals, so the classification reflects real state at request time.
The on-chain receipt
The queued path is not a promise held off-chain — it is a receipt written to the Solana program. Your pending shares are recorded on-chain the moment you request, so your funds are never in limbo: the claim is enforced by the program, not by _gamma. If anything interrupted _gamma's operations, the receipt and your right to claim against it would still exist on-chain. Once the vault has freed enough liquidity the position becomes claimable; you submit a claim transaction from your wallet and the assets transfer to you. Until you claim, your shares remain recorded on the receipt.
Staged progress
While a withdrawal is queued, the app shows a live checklist so you always know where it stands:
| Stage | Meaning |
|---|---|
| Received | The on-chain receipt was created for your pending shares. |
| Freeing funds | The agent is exiting positions to fund the withdrawal. |
| Bridging | Cross-chain RWA only — funds are settling back from Plume. |
| Ready to claim | Liquidity is available; submit the claim to receive assets. |
The Bridging stage appears only for cross-chain RWA redemptions (the plRWA vault, whose positions settle back over a bridge). Stablecoin and SOL vaults free liquidity with on-chain divests and skip it entirely.
The “Requested” time comes from the latest verified queued-withdrawal transaction’s confirmed block time. If that history cannot be verified, the app omits the time; your pending shares and claimable funds still come from the on-chain receipt.
Timing
Timing depends on which path your withdrawal takes. The funded path is ready to claim after the request confirms; receiving the assets requires a separate claim transaction. The queued path has a median around 10 minutes on stablecoin vaults (SOL vaults are similar — a few agent cadences), and cross-chain RWA is typically longer, with the bridge settling hours to about a day. These are typical figures, not guarantees.
When a withdrawal is queued, the app does not quote a hardcoded wait. It shows an arrival band derived from the vault's own recent history — the p50 (median) and p90 request-to-ready durations measured over the last 30 days — presented as a range (for example "10 min–2 h"). The estimate is hedged: it is suppressed when there is not enough recent history to be meaningful, and the displayed median is floored at roughly one agent cadence, so the app never advertises a p50 faster than the agent can realistically act. For cross-chain RWA the app merges the agent's free-up band with the measured bridge-settlement band and shows the slower of the two. You do not need to keep the app open — the receipt persists on-chain, and you can return to claim once the position is marked ready.
For P0 SOL withdrawals, the preview estimates the funding path from current cash, convertible wallet assets, and deployed positions. It includes pending withdrawals and the agent's 0.1% funding buffer. When the committed target enables the native SOL sleeve, that sleeve is withdrawn first, followed by other plain lending and then leveraged positions. Within each tier, the preview respects the target allocation and quotes only the selected conversions and close legs. The funding buffer is sizing headroom, not an additional fee.
The preview shows the estimated vault-level unwind loss and the withdrawing shares' portion of that NAV movement. Estimated received applies the retained withdrawal fee to the resulting claim. The fee and market execution loss are separate costs. An instant withdrawal funded entirely from vault cash has no estimated unwind loss.
This is advisory: the snapshot's wallet values, recorded pending value, and target can change before execution. The agent refreshes balances, provider liquidity, token rounding, and executable routes. The preview does not guarantee a minimum payout. A complete estimate is withheld when required inventory or quotes are unavailable. Other supported vault types retain their existing preview models.
The withdrawal fee
A small basis-point fee applies to withdrawals. The fee is a per-vault on-chain policy, not a fixed platform constant — read the live value programmatically from the withdrawalFeeBps field of a vault's stats endpoint rather than assuming a number.
| Parameter | Value |
|---|---|
| Withdrawal fee | Read the current vault policy from stats |
| Retained by | The vault, for the benefit of remaining depositors |
| Full-exit waiver | Waived only when all outstanding vault shares are redeemed |
The fee is retained inside the vault rather than paid out to _gamma, so it accrues to the depositors who remain. The full-exit waiver applies when the redemption consumes the entire vault share supply; exiting an individual wallet’s full position does not by itself waive the fee. There is no separate deposit fee. Vaults may also charge a performance fee, which is read directly from the on-chain vault account.
Withdrawals are also subject to net-outflow guardrails (hourly and daily caps
measured against the greater of NAV and the configured capacity, with deposits
offsetting withdrawals). The stats endpoint exposes the cap basis, current
usage, and remaining allowance in withdrawalLimits; these limits do not promise
that the same amount is immediately liquid.
Next: Security