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

# USD withdrawal

> Move USD from a wallet to a bank trusted destination with quorum approval on every request.

A USD withdrawal moves funds from a USD wallet to a bank trusted destination, with quorum approval on every request. For the shared model, the approval workflow, status values, and monitoring, see [Withdraw](/knowledge-base/platform/developers/move-money/withdraw). This page covers the USD-specific payload.

`POST /v2/transactions/withdrawal` requires the `Initiate withdrawals` permission and an Ed25519 request signature.

<Info>
  Staging uses the `USD_R` asset type and `https://api.anchorage-staging.com/v2`. Production uses `USD` and `https://api.anchorage.com/v2`. The example below shows the staging value.
</Info>

## Send USD to a bank

Set `destination.type` to `TRUSTED_DESTINATION` and `destination.id` to a fiat trusted destination ID, and include `assetParametersFiatTrustedDestination`. To find the destination ID, call `GET /v2/trusted_destinations` and filter on `type == "fiat"`.

```json theme={null}
{
  "amount": "{quantity}",
  "assetType": "USD_R",
  "source": {
    "id": "{source wallet ID}",
    "type": "WALLET"
  },
  "destination": {
    "id": "{fiat trusted destination ID}",
    "type": "TRUSTED_DESTINATION"
  },
  "assetParametersFiatTrustedDestination": {
    "purpose": "{purpose}",
    "memo": "{note to beneficiary}"
  }
}
```

### Fields

| Field                                           | Description                                                                                                |
| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------- |
| `amount`                                        | USD amount as a string.                                                                                    |
| `source.id`                                     | The source USD wallet. Retrieve via `GET /v2/wallets`.                                                     |
| `destination.id`                                | A fiat trusted destination ID.                                                                             |
| `assetParametersFiatTrustedDestination.purpose` | Required. Classifies the reason for the withdrawal (see enum below).                                       |
| `assetParametersFiatTrustedDestination.memo`    | Optional note to beneficiary, max 140 characters. If omitted, the memo on the trusted destination is used. |

### `purpose` values

`TRADING_SETTLEMENT` | `LENDING` | `INVESTMENT` | `EXPENSES` | `FEE_PAYMENT` | `GRANT_PAYMENT` | `PRIZE_AWARD` | `GIFT` | `REIMBURSEMENT` | `REBALANCE` | `INTRA_COMPANY`

### Response

A successful request returns `201` with a `withdrawalId`:

```json theme={null}
{
  "data": {
    "withdrawalId": "8696144cca28a634c05858d00e51191408498a7808a837fc4645b4b6997dde09"
  }
}
```

## Managing bank trusted destinations

Listing fiat trusted destinations via API is supported. Creating, editing, and deleting them via API is in development. Add bank recipients in the web dashboard today by selecting **Fiat** as the destination type—see [Adding a USD trusted destination](/knowledge-base/platform/users/usd-banking#adding-a-usd-trusted-destination). For API details, see [Trusted destinations](/knowledge-base/platform/developers/move-money/setup/trusted-destinations).
