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

# Send wallet funds to a fiat external account

This guide walks you through how to offramp funds from a Bridge-managed wallet to an external fiat account (e.g. a customer’s bank account) using the Transfers API.

## Prerequisites

Before you start, make sure you have

* A Bridge wallet with sufficient balance
* A verified customer (via KYC or business onboarding)
* External account created

***

<Steps>
  <Step title="Step 1: Create a transfer from a Bridge wallet to an external bank account" titleSize="h2">
    Use [Create a transfer](/api-reference/transfers/create-a-transfer) endpoint to move funds from a Bridge wallet to a fiat destination.

    ```bash Request expandable theme={null}
    curl --location --request POST 'https://api.bridge.xyz/v0/transfers' \
    --header 'Api-Key: <API Key>' \
    --header 'Idempotency-Key: <Unique Key>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "amount": "100.00",
      "on_behalf_of": "cust_12345", // id of the customer who owns the wallet and ext. account
      "source": {
        "payment_rail": "bridge_wallet",
        "currency": "usdb",
        "bridge_wallet_id": "wallet_abc123" // id of the bridge wallet with funds
      },
      "destination": {
        "payment_rail": "ach",
        "currency": "usd",
        "external_account_id": "ext_account_xyz789" // id of the customer bank account
      }
    }'
    ```
  </Step>

  <Step title="Step 2: Monitor transfer status" titleSize="h2">
    You can query the [Get a transfer](/api-reference/transfers/get-a-transfer) endpoint or listen to webhook events to retrieve the transfer details:

    ```bash Request expandable theme={null}
    curl --location --request GET 'https://api.bridge.xyz/v0/transfers/transfer_xyz' \
    --header 'Api-Key: <API Key>' \
    --header 'accept: application/json'
    ```

    ```json Response expandable theme={null}
    {
      "id": "transfer_xyz",
      "state": "payment_processed",
      "amount": "100.00",
      "source": { ... },
      "destination": {
        "payment_rail": "ach",
        "currency": "usd",
        "external_account_id": "ext_account_xyz789"
      },
      ...
    }
    ```

    Common states:

    * `awaiting_funds`: waiting for source balance
    * `payment_submitted`: funds handed off to banking partner
    * `payment_processed`: funds delivered to external account
  </Step>
</Steps>

# Related Docs

* [Transfers](/platform/orchestration/transfers/transfer)
* [External Accounts](/platform/orchestration/external-accounts/external-accounts-api)
* [Wallets](/platform/wallets/overview)
* [Setting up webhooks](/get-started/introduction/quick-start/setting-up-webhooks)
