Skip to main content
A customer is the top-level identity record in OMS. Every wallet belongs to a customer, and associated concepts such as virtual accounts, deposit addresses, and external accounts (currently early access) are tied to the customer as well. No financial operation can happen without one.

Object

{
  "id": "cst_...",
  "status": "active",
  "endorsements": ["basic", "usd"],
  "createdAt": "2025-01-15T10:30:00Z"
}

Endorsements

Endorsements gate which operations a customer can perform. OMS grants them after KYC/KYB verification.
EndorsementUnlocks
basicStandard operations
cryptoCustodyCrypto custody and advanced features
usdUSD stablecoin operations
Endorsements are granted asynchronously. Listen for the customer.endorsement.granted webhook before attempting operations that require a specific endorsement.

Lifecycle

POST /customers  →  created

            KYC/KYB verification


         customer.endorsement.granted  →  operational
Create the customer record first, then initiate your KYC/KYB flow. OMS handles compliance screening; your application handles identity collection.

Key operations

OperationEndpoint
Create a customerPOST /customers
Retrieve a customerGET /customers/{customerId}
List customersGET /customers