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

# Crypto withdrawal

> Move digital assets out of a wallet with quorum approval on every request.

A crypto withdrawal moves digital assets out of a wallet with quorum approval on every request. For the shared model, the approval workflow, status values, and fees, see [Transfers and withdrawals](/knowledge-base/porto/developers/move-money/transfers-vs-withdrawals). This page covers the crypto-specific payloads.

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

## Request

Withdraw to an external address directly, or to a destination you've allowlisted as a trusted destination:

<CodeGroup>
  ```json External address theme={null}
  {
    "amount": "{quantity}",
    "assetType": "{asset}",
    "source": {
      "id": "{source wallet ID}",
      "type": "WALLET"
    },
    "destination": {
      "id": "{external address}",
      "type": "ADDRESS"
    },
    "description": "{description}"
  }
  ```

  ```json Trusted destination theme={null}
  {
    "idempotentId": "{unique ID}",
    "amount": "{quantity}",
    "assetType": "{asset}",
    "source": {
      "id": "{source wallet ID}",
      "type": "WALLET"
    },
    "destination": {
      "id": "{trusted destination ID}",
      "type": "TRUSTED_DESTINATION"
    },
    "description": "{description}"
  }
  ```
</CodeGroup>

### Fields

| Field              | Description                                                                                                                  |
| :----------------- | :--------------------------------------------------------------------------------------------------------------------------- |
| `amount`           | Quantity as a string, without units.                                                                                         |
| `assetType`        | The asset to withdraw. List supported values via `GET /v2/asset-types`.                                                      |
| `source`           | The wallet to withdraw from (`type: WALLET`).                                                                                |
| `destination.type` | `ADDRESS` for an external address, `TRUSTED_DESTINATION` for an allowlisted destination, or `WALLET` for an internal wallet. |
| `description`      | Optional context, visible in the iOS app and not published on-chain.                                                         |
| `idempotentId`     | Optional client-provided unique ID for safe retries.                                                                         |

For assets that use a memo or destination tag, the value is inherited automatically when you withdraw to a trusted destination—you don't provide `assetParameters` yourself.

### Response

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

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

Track status through the transactions API. See [Track movement status](/knowledge-base/porto/developers/move-money/operate/track-status).

## UTXO assets

For UTXO-based assets, Anchorage Digital exposes a single wallet-level address as the representative address and selects UTXOs randomly across the wallet's addresses to preserve privacy. Sub-UTXO balances remain visible on-chain.

## Troubleshooting

Withdrawals are not queued: a request fails if one is already ongoing for the source. Other request-level failures include an unknown asset, an amount that exceeds available funds (including fees), an invalid destination address, or a key without withdrawal permissions for the vault.

If a withdrawal fails when specified at the wallet or address level, try specifying the source at the vault level with a vault ID.

After quorum approval, a withdrawal can still fail at execution if there are insufficient funds for the network fee or there's a blockchain-level failure.
