Prerequisites
Before you begin:- Obtain an API key for Digital Asset Accounts from Circle.
- Have an onboarded and active account with an
accountId. - Install cURL on your development machine.
The Digital Asset Accounts API base URL is
https://api-sandbox.circle.com for
sandbox and https://api.circle.com for production. Set your API key in the
Authorization header using the format Bearer YOUR_API_KEY. See
Sandbox environment and
Going to production
for environment details.Steps
Step 1. Generate a deposit address
Create a deposit address for a specific blockchain. You can create multiple addresses per account, one for each blockchain. For validchain values, see
Supported currencies and blockchains.
address value with your end customer. Any USDC sent to this Ethereum
address is credited to the account.
If you pass an unsupported value in the chain field, the API returns a 400
error:
Step 2. List deposit addresses
Retrieve all deposit addresses for an account.Step 3. Monitor incoming deposits
Track stablecoins as they arrive at a deposit address. A stablecoin sent to a deposit address is recorded as a transfer with a blockchain source, so you monitor it with the Transfers endpoints. The Deposits endpoint returns bank deposits only. List the transfers that arrived from a blockchain by calling List account transfers withsourceType=blockchain. Pass the clientEntityId of the end customer that
owns the account. You receive it when you
create a partner client.
Without it, the list is empty. Results are sorted newest first, up to 50 per
page.
destination.address: the deposit address that received the fundssource.chain: the blockchain the funds arrived ontransactionHash: the hash of the onchain transactionstatus:pending,complete, orfailed
Step 4. Get a deposit
Retrieve a single deposit by its transfer ID, for example to check whether apending deposit is now complete. Use the id value from the list response
in Step 3. For the full response schema, see
Get an account transfer.