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

# Withdraw fees

> Withdraw accumulated fees from the cards fees wallet to a whitelisted address.

Withdraws accumulated fees from your cards fees wallet to a destination address. Only the **real on-chain balance** of the selected token can be withdrawn — pending (uncredited) fees are not withdrawable.

The destination must belong to your **cards whitelist** and have been **enabled for at least 24 hours**, counted from the moment it was added to the whitelist. Otherwise the request is rejected.

Requires an API key with access level 3 or higher.

## Body

<ParamField body="token_symbol" type="string" required>
  Symbol of the token to withdraw (e.g. `USDC`). It must have an available on-chain balance in the fees wallet.
</ParamField>

<ParamField body="amount" type="number" required>
  Amount to withdraw. Must be greater than 0 and cannot exceed the available on-chain balance of the token. Up to 6 decimal places.
</ParamField>

<ParamField body="destination_address" type="string" required>
  Destination wallet address. Must be in the cards whitelist and enabled (added at least 24 hours ago).
</ParamField>

## Response

<ResponseField name="transaction_hash" type="string">
  On-chain transaction hash.
</ResponseField>

<ResponseField name="status" type="string">
  Transaction status. Possible values: `PENDING`, `SUCCESS`, `FAILED`, `MANUAL_CHECK`.
</ResponseField>

<ResponseField name="simple_error_message" type="string">
  Simple error message if the transaction failed.
</ResponseField>

<ResponseField name="detailed_error_message" type="string">
  Detailed error message with additional context.
</ResponseField>

## Errors

| Code               | Description                                                                                                                  |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `VALIDATION_ERROR` | The destination address is not in the cards whitelist, has not been enabled for 24 hours yet, or a field is missing/invalid. |

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.cryptomate.me/cards/account/fees-wallet/withdraw" \
    -H "x-api-key: $CRYPTOMATE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "token_symbol": "USDC",
      "amount": 100.50,
      "destination_address": "0x1234567890abcdef1234567890abcdef12345678"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "transaction_hash": "0xabc123def456abc123def456abc123def456abc123def456abc123def456abcd",
    "status": "PENDING",
    "simple_error_message": null,
    "detailed_error_message": null
  }
  ```

  ```json 400 Address not enabled theme={null}
  {
    "code": "VALIDATION_ERROR",
    "message": "Destination address is not an enabled whitelisted address for cards. It must belong to the cards whitelist and have been added at least 24 hours ago."
  }
  ```
</ResponseExample>
