> For the complete documentation index, see [llms.txt](https://developers.cryptopay.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.cryptopay.me/guides/get-started-with-cryptopay/payouts.md).

# Test a Withdrawal

Before creating and testing a Withdrawal, we recommend reading the [**detailed Withdrawal guide**](https://developers.cryptopay.me/guides/payouts). It explains how Coin Withdrawals work, including the available fields, flow, errors, callbacks, payment statuses, and other important details.\
\
You can create and test Withdrawals through your **Merchant Account** or the **API**.<br>

### Create a Withdrawal in your Merchant Account

You can also create a Withdrawal directly from your sandbox merchant account.

1. Go to **Accounts.**&#x20;
2. Click **Send**.
3. Select the **cryptocurrency and network.** If there are insufficient funds in the selected balance for the test transaction, please make an exchange to top up the balance first.
4. Enter the destination wallet address. Make sure that the wallet address matches the selected cryptocurrency and network.
5. Enter the amount and complete the Withdrawal, confirm it with 2fa.

### Create a Withdrawal through the API

After completing authentication, create a Withdrawal using the Coin Withdrawals API Reference.

Specify the currency and amount to debit from your Cryptopay balance, the destination currency and wallet address, and the applicable fee settings.

Once the Withdrawal is created, you can track its status through the API and receive updates through your configured callbacks.

<br>

During testing, make sure that your integration:

* creates the Withdrawal with the correct currency, network, amount, and destination address;
* receives and processes **Withdrawal callbacks** correctly;
* correctly handles Withdrawal statuses;
* does not process the same callback more than once;
* correctly handles failed or cancelled Withdrawals.

{% hint style="info" icon="comment-exclamation" %}
Please make sure you process the [high\_risk\_address](/guides/payouts/create-a-coin-withdrawal/possible-errors.md) error correctly and understand that MinFee will not be able to process a withdrawal request when the transaction destination address is associated with an illegal/darknet resource and marked as a [high-risk](/guides/risks.md).&#x20;
{% endhint %}

{% hint style="info" %}
Risk scoring is randomized on sandbox, which is why you see different risk scores for various transactions, ranging from low to high. On production, it’ll be based on the actual transaction risk score we determine.&#x20;
{% endhint %}

#### Result

After completing the test, you will see **two transactions** in your transaction history: a channel payment or an invoce and a **Coin Withdrawal**. \
If the Coin Withdrawal was created through the API, callbacks will be sent for this transaction according to your configured callback settings.
