> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ryft.market/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting money out

> Two steps — reclaim from the exchange to your pool, then withdraw from the pool to your own Solana address.

Two steps, and both end on **Solana**:

<Steps>
  <Step title="Reclaim — venue → pool">
    Bring funds back from an exchange to your pool.
  </Step>

  <Step title="Withdraw — pool → your wallet">
    Send USDC from your pool to your own Solana address.
  </Step>
</Steps>

<Note>
  **The rule underneath.** **Your money rests in the pool.** Collateral sitting on an exchange is
  temporary — it's there to back a position. Once the position is closed, it comes home.
</Note>

## Step 1 — Reclaim funds from an exchange

**Close the position first.** Collateral backing an open position isn't free to move; reclaim only
takes free cash.

Then reclaim, either for a specific amount or for everything free on that venue. It runs as a
background job you can watch:

| Venue           | What happens                              | How long |
| --------------- | ----------------------------------------- | -------- |
| **Phoenix**     | Direct payout to your pool                | Seconds  |
| **Pacifica**    | Direct payout to your pool                | Seconds  |
| **Hyperliquid** | Venue payout, then bridged from Arbitrum  | Minutes  |
| **Aster**       | Venue payout, then bridged from BNB Chain | Minutes  |

While a reclaim is in flight it appears in your balance as **in flight**, so the money is never
invisible: it's either on a venue, in flight, or in your pool.

<Warning>
  **Minimums, and the amount that actually lands.**

  **Minimums.** Small reclaims aren't worth the fees, so there are floors: about **1.50 USDC** on
  Pacifica, and about **2 USDC** on Hyperliquid and Aster.

  **The amount that lands is the amount that lands.** Venue withdrawal fees and bridge costs come out
  along the way, so reclaiming 5 USDC might land 4.97. ryft reports what **actually** arrived in your
  pool — the observed change — not the amount you asked for.
</Warning>

Reclaiming doesn't require withdrawals to be enabled. Your funds never leave custody; they just move
from an exchange back to your own pool.

## Step 2 — Withdraw from the pool

This is the only way money leaves ryft.

1. Enter the **amount** in USDC.
2. Enter the **destination** — a **Solana** address. It defaults to the wallet you signed in with,
   which is the safe choice.
3. Confirm.

The transfer is a single Solana transaction and confirms in **seconds**. You get back a transaction
signature and an explorer link, so you can verify it landed yourself.

If the destination doesn't have a USDC account yet, ryft creates one as part of the same transaction
and pays the small rent for it. You don't need to prepare anything.

<Danger>
  **Everything lands on Solana.** Withdrawals always pay out in **USDC on Solana** — regardless of
  which exchange the funds were originally deployed to. The bridging back from Arbitrum or BNB Chain
  happens during **reclaim**, before the money reaches your pool.

  So your destination must be a **Solana** address that you control. Not an Ethereum address, not an
  Arbitrum one. If you're sending to a centralised exchange, check its USDC deposit address is on the
  **Solana** network — this is the most common way withdrawals go missing, and it isn't recoverable.
</Danger>

## If you don't see a withdraw option

Withdrawals are gated per deployment and are **off by default**. When they're off, the app says so
rather than showing a button that would fail. There's also a **per-withdrawal cap** when the feature
is on — a larger balance goes out as several withdrawals.

Reclaim is unaffected by that gate: you can always bring funds back from an exchange to your pool.

## What the errors mean

| You see                      | What it means                                                              |
| ---------------------------- | -------------------------------------------------------------------------- |
| Withdrawals disabled         | The kill switch is off for this deployment, or your amount exceeds the cap |
| Insufficient pool balance    | The funds are still on an exchange — reclaim them first                    |
| Invalid address              | The destination isn't a valid Solana address                               |
| Destination is your own pool | You've entered your ryft deposit address instead of your personal wallet   |
| Below minimum (reclaim)      | The amount is under the venue's floor; the fees would exceed it            |

<Danger>
  **Security — read the address back.** Anyone holding a valid session could send funds to any address,
  so what protects your funds is your **session** and your **wallet**. Sign out on shared machines.
  Never approve a signature request that arrived by DM. **Read the destination address back before
  confirming** — check the first and last four characters against your wallet, not just the middle.

  On our side: withdrawals are off by default, capped per withdrawal when enabled, and every
  destination is validated before anything moves. Destination allowlists and velocity limits are on the
  roadmap, not shipped — so the address readback is genuinely your last line of defence.
</Danger>

## If a withdrawal doesn't arrive

1. **Check the explorer link** the withdrawal returned. Solana confirms in seconds, so if the
   transaction succeeded, the funds are at the destination.
2. **Check you're looking at a Solana wallet**, not an Arbitrum or Ethereum one.
3. **Check the destination address** matches what you intended.

For a reclaim that seems stuck: bridged venues take minutes, and the job reports its stage. If it
fails, the error names the stage — funds are still in custody, either on the venue or in your pool.
