Skip to Content
CheckoutAPI ReferenceCustomersOverview

Customers

Beta: Payouts — Beneficiaries, Customers, and Payouts — are in beta and the API may still change. Contact [email protected] to enable them for your account.

A customer is the person sending the crypto (the payer). A customer completes identity verification (KYC) once, then can make any number of payouts to one or more beneficiaries. A customer is not tied to a single beneficiary — the beneficiary is chosen per payout.

Deposit addresses

Each customer has persistent deposit address(es) returned at creation: one EVM address that works across every supported EVM chain, and (as Solana support rolls out) a Solana address. The customer sends crypto to a deposit address; you never handle their keys.

"deposit_addresses": [
  { "address": "0x369aF2…9EDd", "chains": ["ethereum", "arbitrum", "base", "polygon"], "tokens": ["USDC", "USDT"] },
  { "address": "GEhVdAGr…vpJMq", "chains": ["solana"], "tokens": ["USDC", "USDT"] }
]

EVM ships first; Solana support is planned. The address(es) returned reflect what’s currently enabled for your account.

KYC lifecycle

POST /customers returns a kyc_url. Redirect the customer there to complete verification (a one-time step). We notify you by webhook when the status changes.

StatusMeaning
kyc_pendingAwaiting identity verification.
action_requiredRecoverable — more information is needed; redirect to a fresh kyc_url.
activeVerified. The customer can now make payouts.
kyc_failedVerification was rejected.
suspendedBlocked for compliance reasons.
⚠️

A customer must be active before a payout can be created. POST /payouts is rejected for non-active customers.

Available Endpoints

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help