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

# Withdrawals

> Initiate USD and digital asset withdrawals from end-client subaccounts.

Managing end-client assets includes enabling withdrawals from subaccounts to external wallets. The process differs by asset type.

***

## USD withdrawals

Key considerations before initiating a USD withdrawal:

* External wire fees are covered by Anchorage Digital (subject to change).
* Funds may only be transferred to the account from which they were initially deposited. To send to a different account, that account must be in the end client's name.

### USD withdrawal process

<Steps>
  <Step title="Wealth manager initiates a USD withdrawal via API" />

  <Step title="Anchorage Digital sends a DocuSign to the end client, copying the wealth manager" />

  <Step title="End client reviews and approves the DocuSign" />

  <Step title="Anchorage Digital initiates the wire to the end client's account" />

  <Step title="Withdrawal transaction completed on the ledger" />
</Steps>

### Banks with master/subaccount structures

The following institutions typically use master + subaccount structures (common for investment accounts):

JPMorgan, Morgan Stanley, TD Bank, Vanguard, Merrill Lynch

For these institutions, format the API payload as follows:

* `bankAccountNr`: `"##-##-#####"`
* `bankRoutingNr`: `"#####"`
* `memo`: `"FCC [Client Name], FCC [recipient bank brokerage sub-account number########]"`

### API request

```bash theme={null}
curl --request POST \
     --url https://api.anchorage-staging.com/v2/subaccounts/{subaccountId}/fiat/withdrawals \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
  "asset": {
    "amount": "1000.00",
    "assetType": "USD"
  },
  "customerDetails": {
    "beneficiary": {
      "accountNumber": "1234567890",
      "address": {
        "address": "123 Main St",
        "address2": "Apt 4B",
        "city": "Anytown",
        "country": "USA",
        "state": "CA",
        "zipcode": "90210"
      },
      "name": "Jane Doe"
    },
    "financialInstitution": {
      "address": {
        "address": "123 Main St",
        "address2": "Apt 4B",
        "city": "Anytown",
        "country": "USA",
        "state": "CA",
        "zipcode": "90210"
      },
      "code": "ABA",
      "id": "routing_id_123",
      "name": "Bank of America"
    },
    "intermediateFinancialInstitution": {
      "address": {
        "address": "123 Main St",
        "address2": "Apt 4B",
        "city": "Anytown",
        "country": "USA",
        "state": "CA",
        "zipcode": "90210"
      },
      "code": "ABA",
      "id": "123",
      "name": "Bank of America"
    },
    "memo": "For services rendered"
  }
}'
```

<Tip>
  Before submitting, confirm the subaccount has sufficient funds and will continue to have sufficient funds while the request is processing. If the available balance falls below what's needed to complete the withdrawal, Anchorage Digital will need to contact the wealth manager before proceeding.
</Tip>

***

## In-kind digital asset withdrawals

<Warning>
  **New programmatic in-kind withdrawals (released 2025-04-15).** Three key changes:

  1. New create trusted destinations API.
  2. New DocuSign approval required from the end client before creating the trusted destination.
  3. Updated withdrawal API payload for withdrawals to trusted destinations.
  4. API permission and key updates required.
</Warning>

### Step 1: Update API key permissions

Add the following two permissions to your API key permission group:

* **Withdrawal** — Yes
* **Manage trusted destinations** — Yes

Quorum approve the change before proceeding.

### Step 2: Add trusted destinations

Submit trusted destination requests via **`POST /v2/trusted_destinations`** for each end-client's external withdrawal address.

For wealth management integrations, trusted destinations are tied to an `owner` representing the end client (`customerId`).

**After submission:** A DocuSign is sent to the end client for each destination. Once signed, the Anchorage Digital ops team reviews and approves. If issues arise, Anchorage Digital will reach out.

```bash theme={null}
curl --request POST \
     --url https://api.anchorage-staging.com/v2/trusted_destinations \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
  "idempotentId": "YOUR_GENERATED_UUID_HERE",
  "trustedDestinations": [
    {
      "assetType": "ETH",
      "address": "0x430EF7FAB8e10dFb8B7c50c2026d0e247FEE4B8",
      "name": "Test Ethereum Address 3",
      "trustedDestinationAmlQuestionnaire": {
        "destinationType": "SELFHOSTED_WALLET",
        "selfhostedDescription": "Personal ETH wallet for testing",
        "selfhostedWalletOwner": "PERSON_OR_ENTITY",
        "recipientType": "PERSON",
        "recipientFirstName": "John",
        "recipientLastName": "Doe",
        "recipientFullName": "John Doe",
        "recipientCountry": "US",
        "recipientStreetAddress": "123 Main St",
        "recipientCity": "San Francisco",
        "recipientStateProvince": "CA",
        "recipientPostalCode": "94105"
      },
      "description": "Test Ethereum wallet for demo purposes",
      "memo": "ETH demo wallet 3",
      "isNetworkLevel": false
    }
  ],
  "owner": {
    "type": "CUSTOMER",
    "id": "7266559476aac38fc8c7c2022f93a9d1b9b618b1c9e2b4387840b595dcd374aa"
  }
}'
```

### Step 3: Initiate the withdrawal

Use **`POST /v2/transactions/withdrawal`**. Anchorage Digital account admins will need to verify on their iOS devices. Once quorum is complete, the operation proceeds through risk review, then broadcasts on-chain.

<Tip>
  Admins can batch approve multiple operations on iOS. See [Batched endorsements](/knowledge-base/platform/users/sending-assets#batched-endorsements).
</Tip>

<Note>
  Multiple withdrawals for the same asset queued simultaneously may be processed sequentially rather than in parallel. Flagged withdrawals may also delay same-asset withdrawals.
</Note>

```json Withdrawal request theme={null}
{
  "source": {
    "id": "15bb8b12-d991-45d2-b784-c83c4449265b",
    "type": "SUBACCOUNT"
  },
  "assetType": "ETH",
  "destination": {
    "id": "0xf0Ed16EeedD8111B40De252467eE9d0E14cbfe99",
    "type": "ADDRESS"
  },
  "amount": "1",
  "description": "",
  "withdrawalAmlQuestionnaire": {
    "useTrustedDestinationAml": true,
    "purpose": "INTRA_COMPANY"
  }
}
```

**`purpose` values:** `TRADING_SETTLEMENT`, `LENDING`, `INVESTMENT`, `EXPENSES`, `FEE_PAYMENT`, `GRANT_PAYMENT`, `PRIZE_AWARD`, `GIFT`, `REIMBURSEMENT`, `REBALANCE`, `INTRA_COMPANY`

***

## (Deprecated) Digital asset withdrawals — manual process

<Note>
  The programmatic in-kind withdrawal API (above) supersedes this manual process. This section is retained for reference only.
</Note>

### Manual withdrawal process

<Steps>
  <Step title="Wealth manager emails Anchorage Digital">
    Send withdrawal request to [accountexecutive@anchorage.com](mailto:accountexecutive@anchorage.com) with the end client's details using the digital asset withdrawal instructions form.
  </Step>

  <Step title="Anchorage Digital sends DocuSign template to wealth manager">
    Wealth manager fills out the form on the end client's behalf.
  </Step>

  <Step title="End client receives and signs the DocuSign" />

  <Step title="Anchorage Digital processes the withdrawal">
    1. **Test payment** — Anchorage Digital ops sends a small test amount to the destination address.
    2. **Wealth manager confirmation** — Confirm with ops that the end client received the test amount.
    3. **Full payment** — Anchorage Digital ops sends the remaining balance.
  </Step>

  <Step title="Withdrawal transaction completed on the ledger" />
</Steps>

### Digital asset withdrawal instruction form fields

* Date
* Program customer name
* Program customer subaccount name
* Program customer subaccount ID
* Digital asset (name + symbol)
* Quantity of asset (in-kind)
* Destination wallet address
* Where is the address held?
  * Financial institution (custodian, exchange, OTC desk) — if so, name of counterparty/institution
  * Self-hosted wallet (e.g., Ledger, MetaMask)
* Legal name of ultimate underlying beneficiary
* Country of ultimate underlying beneficiary
* Purpose of withdrawal: Trading settlement, Lending, Investment, Expenses, Fee payment, Grant payment, Prize award, Gift, Reimbursement, Rebalance, Intra-company transfer
