Skip to main content
Customers represent the people who pay through your payment links. Customer records are automatically created when a wallet completes a checkout session, but you can also create and manage them manually via the API.
Customer name and email fields are encrypted at rest for privacy compliance. They are decrypted automatically when retrieved via the API.

The Customer object

string
Unique identifier for the customer (e.g., cust_abc123).
string
The customer’s wallet address.
string | null
Customer name. Encrypted at rest.
string | null
Customer email. Encrypted at rest.
object | null
Arbitrary key-value pairs for your own use.
string
Total amount spent across all completed transactions (in USD equivalent).
number
Total number of completed transactions.
string
ISO 8601 timestamp of the customer’s first transaction.
string
ISO 8601 timestamp of the customer’s most recent transaction.
string
ISO 8601 creation timestamp.
string
ISO 8601 last update timestamp.

List customers

Retrieve a paginated list of customers with optional search.
Search customers by wallet address, name, or email.
number
default:1
Page number for pagination.
number
default:20
Number of results per page (max 100).

Create a customer

Manually create a customer record. This is useful for pre-registering customers before they make a payment.
string
required
The customer’s wallet address.
string
Customer name. Will be encrypted at rest.
string
Customer email. Will be encrypted at rest.
object
Arbitrary key-value pairs (e.g., {"plan": "pro"}). Up to 50 keys, 500 character values.
If a customer with the same wallet_address already exists, the request will return a 409 Conflict error. Use the update endpoint to modify existing customers.

Retrieve a customer

string
required
The customer ID (e.g., cust_abc123).
Returns the full Customer object.

Update a customer

Update an existing customer. Only the fields you include in the request body will be updated.
string
required
The customer ID.
string
Updated customer name.
string
Updated customer email.
object
Updated metadata. This replaces the entire metadata object. To add a single key, include the full existing metadata plus the new key.
The wallet_address cannot be changed after creation. To associate a customer with a different wallet, create a new customer record.
Returns the updated Customer object.

Delete a customer

Permanently delete a customer record. Transaction history associated with this customer is preserved but the customer reference will show as deleted.
string
required
The customer ID.
This action is irreversible. All personally identifiable information (name, email) will be permanently deleted.

List customer transactions

Retrieve the transaction history for a specific customer.
string
required
The customer ID.
string
Filter by transaction status: pending, confirming, completed, failed.
number
default:1
Page number.
number
default:20
Results per page (max 100).

Export customers

Export your customer data in CSV or JSON format. The response is streamed as a file download.
string
required
Export format. One of: csv, json.
string
Filter exported customers by search term.
Exports are limited to 10,000 records. For larger datasets, use pagination with the list endpoint.