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

# Available Flows

> Compares Saber's three offramp flows — Sell, Pool Sell, and External Sell — covering fund flow, liquidity, refunds, fees, and quote handling.

Saber supports three offramp flows, each trading off liquidity management, settlement timing, and operational complexity differently.

<Info>
  Both USDT and USDC are supported across all three flows.
</Info>

<Tabs>
  <Tab title="Sell">
    Pre-funded from the **user's own wallet**. This is the simplest flow — the available balance in the user's wallet is used directly. Once the offramp is triggered, the crypto balance in the user's wallet is deducted, and equivalent fiat is deposited into the registered bank account.

    <Steps>
      <Step title="Crypto Deposit">
        Crypto is deposited to the user's wallet on the preferred network.
      </Step>

      <Step title="Initiate Offramp">
        The offramp is initiated for the user.
      </Step>

      <Step title="Settlement">
        Stablecoin is deducted from the user's wallet, and fiat is delivered to the user's bank account.
      </Step>
    </Steps>

    ```mermaid theme={null}
    sequenceDiagram
    participant M as Merchant
    participant U as User Wallet
    participant S as Saber
    participant B as User's Bank Account
    M->>U: Deposit crypto
    M->>S: Initiate Sell
    S->>U: Deduct stablecoin
    S->>B: Transfer fiat
    ```
  </Tab>

  <Tab title="Pool Sell (Recommended)">
    Pre-funded from the **merchant's pool wallet**. Instead of maintaining individual user wallets and per-user crypto deposits, a single central wallet funds every user's offramp. Once triggered, the specified amount is deducted from the pool wallet and equivalent fiat is deposited into the user's bank account.

    <Steps>
      <Step title="Crypto Deposit">
        Crypto is deposited to the Pool Wallet on the preferred network — this can be done in bulk, ahead of any individual transaction.
      </Step>

      <Step title="Initiate Offramp">
        The offramp is initiated for the user.
      </Step>

      <Step title="Settlement">
        Stablecoin is deducted from the pool wallet, and fiat is delivered to the user's bank account.
      </Step>
    </Steps>

    ```mermaid theme={null}
    sequenceDiagram
    participant M as Merchant
    participant P as Pool Wallet
    participant S as Saber
    participant B as User's Bank Account
    M->>P: Bulk-deposit crypto
    M->>S: Initiate Pool Sell
    S->>P: Deduct stablecoin
    S->>B: Transfer fiat
    ```

    This flow is functionally similar to Sell, but optimizes liquidity management at the merchant level through a centralized wallet — see [Pool Account Overview](/client/pool-account/overview).

    <Warning>
      Ensure sufficient balance is available in the pool wallet before initiating the offramp transaction.
    </Warning>
  </Tab>

  <Tab title="External Sell">
    Post-funded, settled after a quote-locked crypto deposit. An offramp quote is generated first — if it's favorable, it must be accepted within the quote's expiry window (generally \~30-60s). Once accepted, the transaction is initiated, and the merchant deposits the required stablecoin within the settlement expiry window (generally 1 hour). Once the deposit is confirmed by Saber, fiat is delivered to the user's bank account.

    <Steps>
      <Step title="Request & Accept Quote">
        Request a locked quote and accept it within the expiry window.
      </Step>

      <Step title="Initiate Transaction">
        The offramp transaction is initiated against the accepted quote, returning a deposit address.
      </Step>

      <Step title="Fund & Confirm">
        Deposit the required stablecoin to the given address within the settlement expiry, and confirm the on-chain funding.
      </Step>

      <Step title="Settlement">
        Once Saber confirms the deposit, fiat is delivered to the user's bank account.
      </Step>
    </Steps>

    ```mermaid theme={null}
    sequenceDiagram
    participant M as Merchant
    participant S as Saber
    participant B as User's Bank Account
    M->>S: Request locked quote
    S-->>M: Quote (expires ~30-60s)
    M->>S: Accept quote / initiate transaction
    S-->>M: Deposit address (settlement expiry ~1hr)
    M->>S: Deposit crypto & confirm on-chain funding
    S->>B: Transfer fiat (after confirmation)
    ```
  </Tab>
</Tabs>

## Comparison

| Factor                 | Sell                                                     | Pool Sell (Recommended)                                             | External Sell                                                        |
| ---------------------- | -------------------------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------- |
| Liquidity management   | Required on a per-transaction basis to the user's wallet | Easy to manage from a centrally funded pool                         | Required on a per-transaction basis to the given wallet              |
| Crypto deposit         | Required for each transaction                            | Pool wallet can be pre-funded to avoid deposits on each transaction | Required for each transaction                                        |
| Refund (on failure)    | Refunded to the user's wallet                            | Refunded to the pool wallet                                         | Refunded to the provided refund address, after network fee deduction |
| Crypto settlement time | Depends on network transfer time                         | Instant, if the pool wallet is pre-funded                           | Depends on network transfer time                                     |
| Fee                    | Network fee applies on each deposit to the user's wallet | Network fee only applies on (bulk) deposits to the pool wallet      | Network fee applies on each deposit                                  |
| Quote validity         | Executed at market rate                                  | Executed at market rate                                             | Locked quote, if accepted, is valid for its expiry window            |

<Note>
  Locked-quote functionality will be extended to Sell and Pool Sell as well in a future release. Quote validity duration can be adjusted per business agreement — changing it does affect quote behavior, so confirm with your Saber account contact before relying on a non-default expiry.
</Note>

## Related pages

<CardGroup cols={2}>
  <Card title="INR Offramp" icon="indian-rupee-sign" href="/offramp/currencies/inr" cta="View guide" arrow="true" />

  <Card title="PHP Offramp" icon="peso-sign" href="/offramp/currencies/php" cta="View guide" arrow="true" />

  <Card title="EUR/GBP Offramp" icon="euro-sign" href="/offramp/currencies/eur-gbp" cta="View guide" arrow="true" />

  <Card title="IDR Offramp" icon="coins" href="/offramp/currencies/idr" cta="View guide" arrow="true" />
</CardGroup>


## Related topics

- [Available Flows](/onramp/available-flows.md)
- [Fetching Transaction Status](/offramp/operations/fetch-status.md)
- [Available Transaction Flows](/client/pool-account/available-flows.md)
- [Supported Networks](/client/pool-account/supported-networks.md)
- [Overview](/client/pool-account/overview.md)
