Customers
Customers represent your end-users. Create customer records to track payments, link wallets, and manage subscriptions across your apps.
Create a customer
POST
/customersRequest body
| Parameter | Type | Required | Description |
|---|---|---|---|
appId | string | Yes | Your app UUID |
email | string | No | Customer email (max 255) |
name | string | No | Customer name (max 255) |
externalId | string | No | Your system's user ID (max 255) |
address | string | No | Street address (max 500) |
city | string | No | City (max 255) |
state | string | No | State/Province (max 255) |
country | string | No | Country (max 255) |
postalCode | string | No | Postal/zip code (max 50) |
metadata | object | No | Arbitrary key-value metadata |
List customers
GET
/customersQuery parameters
| Parameter | Type | Description |
|---|---|---|
appId | string | Filter by app UUID |
search | string | Search by name or email (max 255) |
page | number | Page number (default: 1) |
pageSize | number | Items per page (max 100) |
Retrieve a customer
GET
/customers/:idUpdate a customer
PUT
/customers/:idUpdates customer fields. Only the provided fields are changed. Omitted fields are left unchanged.
Add a wallet
POST
/customers/:id/walletsLinks a blockchain wallet address to a customer.
| Parameter | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Blockchain chain ID (e.g. 1 for Ethereum) |
walletAddress | string | Yes | Wallet address (0x-prefixed, 40 hex chars) |
Remove a wallet
DELETE
/customers/:customerId/wallets/:walletIdUnlinks a wallet from a customer. Returns 204 No Content.
Response object
All responses are wrapped in { "success": true, "data": ... }. List endpoints add pagination.
CustomerAccount fields
idstringUnique customer UUIDappIdstringApp this customer belongs toexternalIdstring | nullYour system's user IDemailstring | nullCustomer emailnamestring | nullCustomer nameaddressstring | nullStreet addresscitystring | nullCitystatestring | nullState or provincecountrystring | nullCountrypostalCodestring | nullPostal or zip codemetadataobjectArbitrary key-value pairscreatedAtstringISO 8601 creation timestampupdatedAtstringISO 8601 last-update timestampwalletsCustomerWallet[]Linked blockchain walletsCustomerWallet fields
idstringWallet UUIDcustomerAccountIdstringParent customer UUIDchainIdnumberBlockchain chain ID (e.g. 1 for Ethereum)walletAddressstringOn-chain wallet addresshasActiveAuthorizationbooleanWhether this wallet has an active spending authorizationauthorizationTypestring | nullPERMIT or APPROVALauthorizationTxHashstring | nullAuthorization transaction hashauthorizedAtstring | nullISO 8601 authorization timestampcreatedAtstringISO 8601 creation timestampupdatedAtstringISO 8601 last-update timestamp💡
Endpoint variations
Create/update include
wallets. Retrieve is richest: includes app, wallets (with chain info), the last 50 paymentIntents (selected fields), and last 50 invoices (selected fields). List includes wallets plus _count aggregates for paymentIntents, subscriptions, and invoices. Add wallet returns the wallet with chain info. Remove wallet returns 204 No Content.