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

# Crypto deposits integration test cases

These are the test cases to help you test your site's integration with CryptoProcessing [crypto deposits](/integration-guide/deposits).

For each test case, create a new deposit address via the [/api/v2/addresses/take](/api-reference/endpoints/addresses-take) endpoint and then process the relevant [callback](/api-reference/callbacks#deposit-callbacks).

<table class="m-0 [&_th]:text-left">
  <thead>
    <tr>
      <th>Procedure</th>
      <th>Expected results</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td colspan="2">
        **Successful deposit**
      </td>
    </tr>

    <tr>
      <td>
        1. Create a deposit address without exchange.
        2. Copy the address into a wallet on your device.
        3. Place a payment. Make sure its amount is equal or higher than the [minimum deposit](/reference/confirmations-and-limits).
      </td>

      <td>
        * The site gets two `deposit` callbacks.
        * The callback status is first `not_confirmed`, then `confirmed`.
        * `currency_sent` describes the amount you sent (minus the network fee).
        * `currency_received` describes the amount you received on your balance.
      </td>
    </tr>

    <tr>
      <td colspan="2">
        **Cross-currency deposit**
      </td>
    </tr>

    <tr>
      <td>
        1. Go to **Settings → Callbacks** and make sure the **Cross-currency deposits** callback is enabled.
        2. Create a deposit address for one currency, e.g., USDC on the Ethereum network.
        3. Copy the address into a wallet on your device.
        4. Place a payment in a different currency on the same network, e.g., ETH. Make sure its amount is equal or higher than the [minimum deposit](/reference/confirmations-and-limits).
      </td>

      <td>
        * The site gets two `deposit` callbacks.
        * The callback status is first `not_confirmed`, then `confirmed`.
        * `crypto_address.cross_currency` is true.
        * `currency_received.currency` is different from `expected_currency`.
      </td>
    </tr>

    <tr>
      <td colspan="2">
        **Deposit below minimum amount**
      </td>
    </tr>

    <tr>
      <td>
        1. Go to **Settings → Callbacks** and make sure the **Deposits less than minimum amount** callback is enabled.
        2. Create a deposit address.
        3. Copy the address into a wallet on your device.
        4. Place a payment lower than the [minimum deposit](/reference/confirmations-and-limits).
      </td>

      <td>
        * The site gets two `deposit` callbacks.
        * The callback status is `cancelled`.
        * The error is `Transaction amount less than minimum deposit`.
      </td>
    </tr>
  </tbody>
</table>
