Quickstart: Deposit via Blockchain Wallet

Learn the basics of sending funds to your Circle account from an external blockchain wallet.

This quickstart walks through sending USDC or EURC on any of the supported blockchain from a wallet to your Circle Mint Account.

1. Get an API key

Circle's APIs use API keys as the mechanism to authenticate client requests. The API key must be set in the Authorization header of the request sent from your backend server. The format of the header is Bearer secret-key-value.

To obtain an API key for the sandbox environment, simply create an account and generate a new key in settings - it only takes a few seconds.

GET AN API KEY

Once you have generated your API key, record it in a secure place.

2. Create a deposit address

To send funds to your Circle Mint Account on-chain, you will first need to generate a depost address. https://developers.circle.com/circle-mint/reference/createbusinessdepositaddress

Request:

curl --request POST \\

--url https\://api-sandbox.circle.com/v1/businessAccount/wallets/addresses/deposit \\
--header 'accept: application/json' \\
--header 'authorization: Bearer SAND\_API\_KEY:' \\
--header 'content-type: application/json' \\
--data '

{
"currency": "USD",
"chain": "BASE"
}
'

Response

{
  "data": {
    "id": "d51d72d2-9955-4340-b3fd-2f07a82a1e6c",
    "address": "0xbd01242af414961c25aa72dcae06646fc52e9b92",
    "currency": "USD",
    "chain": "BASE"
  }
}

3. List all deposit addresses

Each blockchain will have its own deposit address and it is important to ensure you always use the correct address. You can always make a GET request to see all of your different deposit addresses.

In the following example make substitutions for the following placeholder keys:

  • Replace ${YOUR\_API\_KEY} with your API key.
  • Replace ${TRANSFER\_ID} with the ID of the transfer you created earlier.
curl -H "Authorization: Bearer ${YOUR\_API\_KEY}" \\

-X GET https\://api-sandbox.circle.com/v1/businessAccount/wallets/addresses/deposit

The Get Transfer response should look similar to the following:

{
  "data": [
    {
      "id": "d51d72d2-9955-4340-b3fd-2f07a82a1e6c",
      "address": "0xbd01242af414961c25aa72dcae06646fc52e9b92",
      "currency": "USD",
      "chain": "BASE"
    },
    {
      "id": "50f79198-4af9-466f-a235-c277d1643403",
      "address": "0xbd01242af414961c25aa72dcae06646fc52e9b92",
      "currency": "USD",
      "chain": "ARB"
    },
    {
      "id": "6d2c6c1a-91a0-49f9-b997-ce78fc9cdc3d",
      "address": "0xbd01242af414961c25aa72dcae06646fc52e9b92",
      "currency": "USD",
      "chain": "ETH"
    },
    {
      "id": "4f8489e4-e039-5e2c-ba6f-078c190dbfbc",
      "address": "0xbd01242af414961c25aa72dcae06646fc52e9b92",
      "currency": "USD",
      "chain": "MATIC"
    }
  ]
}

4. Deposit to your account

Blockchain deposits can only be initiated from your respective wallet so this part of the deposit process will take place outside of Circle’s API.

Using the wallet address returned in the previous step, you will send funds from your blockchain wallet to your Circle Mint Account.

[Warning] You must confirm the blockchain network is consistent with the address you requested from Circle and the wallet you’re using to make this transfer, or you could lose funds.

5. Check the latest balance

You can use the list all balances endpoint to retrieve the balance of funds available for use in your account.

In the following example make substitutions for the following placeholder keys:

  • Replace ${YOUR\_API\_KEY}with your API key.
  • Replace ${TRANSFER\_ID} with the ID of the transfer you created earlier.
curl -H "Authorization: Bearer ${YOUR\_API\_KEY}" \\

-X GET https\://api-sandbox.circle.com/v1/businessAccount/balances

The response should look similar to the following: this:

{
  "data": {
    "available": [
      {
        "amount": "17460.00",
        "currency": "USD"
      }
    ],
    "unsettled": []
  }
}

🎉 Congratulations. You have successfully deposited cryptocurrency from your external blockchain wallet to your Circle Mint Account.

6. Ready for the next step?

After experimenting with our APIs, you’ll be better prepared to start building test integrations in sandbox, prior to moving into production. Start by applying for a Circle Mint account. We'll be happy to walk you through the next steps.