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

You can receive crypto deposits from your customers with and without automatic conversion. Deposits with conversion are automatically converted to your preferred currency.

<Frame>
  <img src="https://mintcdn.com/cryptoprocessing/ROCimFHd2v59e4Kf/images/deposits/deposit-flow.jpg?fit=max&auto=format&n=ROCimFHd2v59e4Kf&q=85&s=69c660f38fd800ef829dd05ce25994e6" alt="Deposit flow: the merchant requests a deposit address, the customer sends funds to it, and the balance is credited once the required confirmations are reached" className="block dark:hidden" width="1920" height="1080" data-path="images/deposits/deposit-flow.jpg" />

  <img src="https://mintcdn.com/cryptoprocessing/mKiHNBhZOOaY8rk7/images/deposits/deposit-flow.dark.jpg?fit=max&auto=format&n=mKiHNBhZOOaY8rk7&q=85&s=8ab35208d6626c28c9e625e46b4e65d8" alt="Deposit flow: the merchant requests a deposit address, the customer sends funds to it, and the balance is credited once the required confirmations are reached" className="hidden dark:block" width="1920" height="1080" data-path="images/deposits/deposit-flow.dark.jpg" />
</Frame>

## Set up crypto deposits

<Steps>
  <Step title="Complete your onboarding">
    Configure your account and get an API key, see [Initial setup](/initial-setup).
  </Step>

  <Step title="Request and receive a unique deposit address">
    Send a request to [/v2/addresses/take](/api-reference/endpoints/addresses-take) and get a crypto deposit address. You can reuse an address if the same customer is making another deposit in the same currency. We recommend using one address for each user.

    <Expandable title="request body example">
      ```json theme={null}
      {
        "currency": "BTC",
        "convert_to": "EUR",
        "foreign_id": "user_12345",
        "end_user_reference": "user_12345",
        "sender_type": "legal",
        "sender_data": {
          "legal_name": "Example Customer",
          "country_of_registration": "DEU"
        }
      }
      ```
    </Expandable>

    <Expandable title="response body example">
      ```json theme={null}
      {
        "data": {
          "id": 240407212,
          "currency": "BTC",
          "convert_to": "EUR",
          "address": "tb1qezlewt2mx36azu5qyx9yff7565z0u9p94vn2ha",
          "tag": null,
          "foreign_id": "user_12345",
          "end_user_reference": "user_12345"
        }
      }
      ```
    </Expandable>
  </Step>

  <Step title="Display the address to the customer">
    Your customer will see their deposit address in your [payment form](/deposits/design-payment-form).
  </Step>

  <Step title="Process the deposit">
    Once your customer makes the deposit, CryptoProcessing will send you a callback. You will then need to update your customer's balance on your site.
  </Step>
</Steps>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.