customerId, skip straight to opening the account.
How it works
1
Check whether the client is new
Look up whether this business already has a
customerId with Anchorage Digital. Existing clients can open additional accounts without repeating onboarding.2
Onboard the client (new clients only)
Submit the business’s KYB information and documentation, and collect their agreement to your terms and conditions. Anchorage Digital performs due diligence and returns a
customerId.3
Open the account
Create an account (subaccount) for the client, specifying the account type and linking it to their
customerId — either the one just created, or an existing one.4
Confirm approval
Check the account’s status, or subscribe to the
subaccount.opened webhook, to know when it’s active.You don’t need to wait for a new client’s onboarding to be fully approved before opening their account — you can submit the account application right after receiving their
customerId. Client onboarding and account opening are approved together.Integration steps
If this client already has a
customerId, skip ahead to Step 6: Create the account.Step 1: Onboard the client
POST /v2/onboarding/customers
applicationType:RIA_PC_INSTITUTIONexternalId: unique identifier used by the wealth platform to identify this end cliententries: see tables below
Sandbox: applications must use mock data and reviews are expedited. Production: actual client information is required and a more thorough review process applies — no mock data is permitted in production.
Additional entries for IRS reporting requirements (US and non-US entities):
Tax classification and FATCA values
taxClassificationUs values
taxClassificationUs values
taxClassificationNonUs values
taxClassificationNonUs values
fatcaExemptionReportingCode values
fatcaExemptionReportingCode values
fatcaEntityType values
fatcaEntityType values
fatcaStatusFfi values
fatcaStatusFfi values
fatcaStatusNffe values
fatcaStatusNffe values
fatcaStatusExemptBO values
fatcaStatusExemptBO values
customerId is returned, which is used in all future calls to identify this end client.
Step 2: Upload required documents
POST /v2/onboarding/customers/{{customerId}}/document
Upload a single image file (GIF, JPEG, PNG, or PDF). If a second file is uploaded, the latest replaces the first. Multi-file archives are rejected. A signed upload URL is returned and accepts the document via a PUT request. The URL is valid for 15 minutes — if it expires, request a new one by calling this endpoint again.
Step 3: Check onboarding status
GET /v2/onboarding/customers/{{customerId}}
Any errors or missing documents are listed in the errors section of the response.
Response
Step 4: Submit the client application
POST /v2/onboarding/customers/{{customerId}}/submit
Once submitted, you can move on to opening the account — you don’t need to wait for approval first (see the note above).
Step 5: Check client approval status
GET /v2/onboarding/customers/{{customerId}}
Upon successful submission, status changes from IN_PROGRESS to IN_REVIEW. Once fully approved, status changes to COMPLETE. To receive asynchronous notification when approval completes, register for webhooks — see Configure webhooks.
Step 6: Create the account
POST /v2/onboarding/subaccounts
Supported business account type:
Expected program signers:
Key fields:
Each account requires a signer who can represent the client. The initial set of named program signers acts on the business’s behalf.
Example request
subaccountId is returned for all future references to this account.
Add termsAgreementId to a program signer’s entry only if terms and conditions delivery requires their explicit agreement.
Step 7: List account applications
GET /v2/onboarding/subaccounts
Returns all account onboarding applications associated with this API key. Supports afterId and limit for cursor pagination.
Step 8: Check account status
GET /v2/onboarding/subaccounts/{subaccountId}
Errors and missing documents are listed in the errors array of the response.
Step 9: Update the account application (if errors are present)
PUT /v2/onboarding/subaccounts/{subaccountId}
Uses the same entries array shape as Step 6. Only include the entries you want to change — omitted fields keep their existing value.
Example request
Any change to a client’s data, or a request to terminate their account, is authenticated by Anchorage Digital Bank with the end client via DocuSign before processing.
Step 10: Submit the account application (if submit: false)
POST /v2/onboarding/subaccounts/{subaccountId}/submit
Step 11: Check account approval status
GET /v2/subaccounts/customers/accounts?subaccountIds={subaccountId}
Status values: PENDING (received, awaiting approval) → OPEN (approved and active). Alternatively, subscribe to the subaccount.opened webhook event for asynchronous notification.
Reliance only: edit client information
RIAs with full or partial KYC reliance have access to a flow in which program customers are auto-approved. For these RIAs, select fields remain editable even after application status isCOMPLETE.