> ## 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.

# External transfer

> Move digital assets to an allowlisted external address without per-transaction quorum.

An external crypto transfer moves digital assets to an allowlisted address outside Anchorage Digital, without quorum approval on each request. To move assets between wallets you own, see [Internal transfer](/knowledge-base/platform/developers/move-money/transfer/crypto/internal).

`POST /v2/transfers` requires the `Transfer funds` permission and an Ed25519 request signature.

## Send an external transfer

Move assets to an external destination that has been allowlisted as a trusted destination. External transfers always include a transfer AML questionnaire. You can identify the destination two ways:

* **`ADDRESS`** — Pass the allowlisted address as `destination.id`. If the asset requires a memo or destination tag, include the matching `assetParameters`.
* **`TRUSTED_DESTINATION`** — Pass the trusted destination ID as `destination.id`. Any memo or destination tag stored on the trusted destination is applied automatically, so you don't submit `assetParameters` yourself. This is the simpler path for assets that need a memo or tag, and it avoids mismatched-memo errors.

<CodeGroup>
  ```json By address theme={null}
  {
    "source": {
      "id": "{source wallet ID}",
      "type": "WALLET"
    },
    "destination": {
      "id": "{trusted destination address}",
      "type": "ADDRESS"
    },
    "assetType": "{asset}",
    "amount": "{quantity}",
    "transferMemo": "{memo}",
    "idempotentId": "{unique ID}",
    "transferAmlQuestionnaire": {
      "purpose": "{purpose}",
      "originatorType": "{originatorType}"
    },
    "assetParameters": "{memo or destination tag, if required}"
  }
  ```

  ```json By trusted destination theme={null}
  {
    "source": {
      "id": "{source wallet ID}",
      "type": "WALLET"
    },
    "destination": {
      "id": "{trusted destination ID}",
      "type": "TRUSTED_DESTINATION"
    },
    "assetType": "{asset}",
    "amount": "{quantity}",
    "transferMemo": "{memo}",
    "idempotentId": "{unique ID}",
    "transferAmlQuestionnaire": {
      "purpose": "{purpose}",
      "originatorType": "{originatorType}"
    }
  }
  ```
</CodeGroup>

### Fields

| Field | Description |
| :- | :- |
| `source.id` / `source.type` | The wallet to send from. Retrieve wallet IDs via `GET /v2/wallets`. |
| `destination.type` | `ADDRESS` (the allowlisted address as `destination.id`) or `TRUSTED_DESTINATION` (the trusted destination ID as `destination.id`). |
| `assetType` | The asset to move. List supported values via `GET /v2/asset-types`. |
| `amount` | Quantity as a string, without units. |
| `idempotentId` | A client-provided unique ID (for example, a v4 UUID). Use a distinct value per transfer so an interrupted call can be safely retried. |
| `transferMemo` | Optional free-text description carried into the resulting transaction and deposit. |
| `transferAmlQuestionnaire` | Required. See [AML questionnaire](/knowledge-base/platform/developers/move-money/setup/aml-questionnaire) for the full field set. |

### Response

A successful request returns `201` with a `transferId` and `status`:

```json theme={null}
{
  "data": {
    "transferId": "008d3ec72558ce907571886df63ef51594b5bd8cf106a0b7fa8f12a30dfc867f",
    "status": "QUEUED"
  }
}
```

<Warning>
  With `destination.type: ADDRESS`, include the matching `assetParameters` if the asset requires a memo or destination tag. With `destination.type: TRUSTED_DESTINATION`, omit `assetParameters`—the memo or tag stored on the trusted destination is applied automatically.
</Warning>

## Transfer behavior

These behaviors apply to both internal and external crypto transfers.

**Queuing** — Up to 50 transfer requests from the same source wallet can be queued at once. Transfers for the same asset on the same blockchain process one at a time; others stay `QUEUED` until the prior transfer completes or fails. Transfers on different wallets or different blockchains can process in parallel. Transfers expire 24 hours after initiation.

**`assetParameters`** (external transfers only) — Required when transferring to institutional wallets that need a memo or destination tag. Supported assets: ATOM, Cosmos, DYDX, HBAR, STX, TIA, XLM, XRP, ZETA.

**`useGasStation`** — If `true`, Anchorage Digital's gas station pays network fees for supported assets and organizations. Processing is slightly slower, since Anchorage Digital prefunds the originating wallet before executing the transfer.

**`deductFeeFromAmountIfSameType`**

| Value | Behavior |
| :- | :- |
| `false` (default) | Network fee is charged in addition to the transfer amount. |
| `true` | Network fee is deducted from the transfer amount, only when the fee and transfer asset types match. |

To transfer a full balance of an asset whose fee is paid in the same asset (for example, BTC), set `deductFeeFromAmountIfSameType: true`. When the source is a `walletId`, fees are deducted from that wallet; when the source is a `vaultId`, fees come from the vault's default wallet (`isDefault: true`).

## Troubleshooting

If an external transfer returns `401`/`403`, check that:

* You're using the correct base URL.
* The destination is an allowlisted trusted destination.
* The permission group has external transfers enabled.
* If your permission is scoped to specific destinations, the destination has been connected to the permission group and endorsed.

For request-level and execution failures common to all crypto transfers, see [Troubleshooting](/knowledge-base/platform/developers/move-money/transfer/crypto/internal#troubleshooting).


## Related topics

- [Crypto transfer](/knowledge-base/porto/developers/move-money/transfer/crypto.md)
- [Transfers and withdrawals](/knowledge-base/platform/developers/move-money/transfers-vs-withdrawals.md)
- [Internal transfer](/knowledge-base/platform/developers/move-money/transfer/crypto/internal.md)
- [Overview](/knowledge-base/platform/developers/move-money/overview.md)
