customerId, skip straight to opening the account.
How it works
1
Check whether the client is new
Look up whether this individual 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 client’s KYC 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_INDIVIDUALexternalId: unique identifier used by the wealth platform to identify this end cliententries: see table 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.
A unique
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 individual account types:
Expected program signers by account type:
Key fields:
Each account requires a signer who can represent the client. The signer can be the end client themselves or another authorized individual.
Example request
subaccountId is returned for all future references to this account.
Every account type follows this same payload shape — only accountType, accountSubtype (where applicable), and the number of programCustomers entries change, per the table above. Add termsAgreementId to a program signer’s entry only if terms and conditions delivery requires their explicit agreement. See Onboarding examples for complete request payloads, with and without a termsAgreementId, for every account type.
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.
Example response (approved)
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.