# Withdrawal by client

Automate client withdrawals with 0xProcessing's API. Facilitate secure and efficient fund transfers from your merchant account to client wallets.

When requesting withdrawal of funds, a merchant must have liquidity on his balance in corresponding cryptocurrency. The method can be also used for automatization of withdrawals from the merchant's account by the merchant itself.

**Content type: application/x-www-form-urlencoded / application/json**

**Request**\
**Request Type: POST**

**Endpoint:**

```
 https://app.0xprocessing.com/Api/Withdraw
```

The request must contain an **APIKEY header with your API key**. The key can be generated in the menu **Merchant\API\General settings**

**Parameters:**

<table><thead><tr><th width="182">Name</th><th width="443">Description</th><th>Type</th></tr></thead><tbody><tr><td>Currency</td><td>Withdrawal <a href="../../../basic/general/available-assets#crypto-currencies">currency<br>Values</a></td><td>String</td></tr><tr><td>Amount</td><td>Withdrawal amount in cryptocurrency</td><td>Double</td></tr><tr><td>Address</td><td>Wallet address (<a href="../../quick-start/match-crypto-wallet-addresses">learn more about matching a wallet address on your side</a>)</td><td>String</td></tr><tr><td>DestinationTag</td><td>Destination Tag for XRP, TON, USDT (TON), NOT (TON) withdrawal. Optional parameter</td><td>String</td></tr><tr><td>ClientId</td><td>Unique client ID in your system</td><td>String</td></tr><tr><td>ExternalId</td><td>Withdrawal ID in your system</td><td>String</td></tr><tr><td>Test</td><td>Indicates whether the withdrawal will be a test withdrawal</td><td>Boolean</td></tr></tbody></table>

**Reply**&#x20;

**Response Type:** JSON

**Parameters:**

<table><thead><tr><th width="182">Name</th><th width="444">Description</th><th>Type</th></tr></thead><tbody><tr><td>id</td><td>Withdrawal ID in the 0xProcessing system</td><td>Integer</td></tr><tr><td>currency</td><td>Withdrawal currency</td><td>String</td></tr><tr><td>amount</td><td>Withdrawal amount in cryptocurrency</td><td>Double</td></tr><tr><td>address</td><td>Wallet address</td><td>String</td></tr><tr><td>destinationTag</td><td>Destination Tag for XRP, TON, USDT (TON), NOT (TON) withdrawal. Optional parameter</td><td>String</td></tr><tr><td>clientId</td><td>Unique client ID in your system</td><td>String</td></tr><tr><td>autoWithdraw</td><td>Specifies whether the withdrawal will be processed automatically. A value of false means that the withdrawal must be processed by the manager</td><td>Boolean</td></tr><tr><td>externalId</td><td>Withdrawal ID in your system</td><td>String</td></tr></tbody></table>

**Example response JSON:**

<pre class="language-json" data-line-numbers><code class="lang-json">                        {
                        "id": 100,
                        "address": "TToSLiYx6gfCrrhnWKXJmrsCivXR1111L",
                        "currency": "TRX",
                        "amount": 100.0,
                        "destinationTag": null,
                        "externalId":"abcd1234",
<strong>                        "clientId": "Client",
</strong>                        "autoWithdraw": false
                        }
</code></pre>

The withdrawals report can be implemented by means of webhooks or by checking of withdrawal status.

{% content-ref url="../webhooks" %}
[webhooks](https://docs.0xprocessing.com/0xprocessing-api/webhooks)
{% endcontent-ref %}

{% content-ref url="check-withdrawal-status-by-withdrawal-id" %}
[check-withdrawal-status-by-withdrawal-id](https://docs.0xprocessing.com/0xprocessing-api/withdrawals/check-withdrawal-status-by-withdrawal-id)
{% endcontent-ref %}
