Skip to main content
Walk through the full onboarding flow: create a business client, complete KYB verification, upload documents, submit the application, and retrieve your active stablecoin account.
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.

Prerequisites

Before you begin this quickstart, ensure you’ve:
  • Requested and received Digital Asset Accounts sandbox access from your Circle representative. See Sandbox environment for details.
  • Obtained an API key for Digital Asset Accounts from your Circle representative.
  • (Recommended) Configured a webhook subscription for tracking asynchronous events.

Step 1: Create a business client

Create a new business client using the End User Onboarding API. Each client represents a business entity that goes through KYB verification.
Replace YOUR_API_KEY with your Bearer token. Use a unique clientName for each new client, because the API rejects duplicate names.
Keep your API keys safe. Never share your API key or record it in a publicly accessible medium such as client-side code or public repositories.
Save the clientEntityId and applicationId from the response. You need both values for the remaining steps.

Step 2: Complete business information

Fill out the required business information sections. Replace {applicationId} with the value from step 1 in all of the following requests.

2.1. Basic business info

2.2. Business address

2.3. Business registration

The businessName value must match the clientName you used in step 1.

Step 3: Complete the remaining KYB sections

Six more sections need data before you can submit the application. The following calls use placeholder data that is valid for sandbox testing.

3.1. Entity operations

3.2. Compliance details

3.3. Licensing

3.4. Beneficial owners

3.5. Intended use of account

3.6. Control person

Step 4: Upload documents

Upload six PDF documents required for KYB verification. For sandbox testing, create a minimal dummy PDF:
Upload each document. Save the documentId from each response because you need them to link documents back to their sections.

4.1. Upload the control person’s government ID

The control person’s government ID requires a refId and documentType. First, retrieve the refId:
Find the refId value in data.data[0].refId, then upload the document:

4.2. Re-save sections with document references

After uploading, link the documents back to their sections by re-saving the section with the documentId values. For example, re-save businessRegistrationDetails with the formation document:
Repeat for these sections, adding the relevant documentId arrays:
  • physicalBusinessAddress: add physicalAddressProofOfAddress
  • intendedUseOfAccount: add bankBrokerageCryptoStatement and financialStatements
  • beneficialOwnersDetails: add ownershipChart

Step 5: Submit the application

Verify that all sections show a complete status:
When all sections are complete, submit the application:
In sandbox, the application is auto-approved almost immediately. In production, KYB verification takes time and may result in rejection.

Step 6: Retrieve your account

After the application is approved, retrieve the account using the clientEntityId from step 1:
The response includes your active stablecoin account:
Your accountId is now ready for deposits, withdrawals, and transfers. See Wire deposits and withdrawals to fund your account.

Common issues