1. Configura sandbox
Usa una chiave API sandbox dal tuo backend:2. Crea un cliente
Crea un cliente individuale conPOST /v3/customers:
data.id come CUSTOMER_ID.
3. Scegli il risultato
- Pay-in: ricevi USD e regola USDC nel wallet emesso del cliente.
- Payout: invia USDC dal wallet emesso del cliente a un conto bancario di proprieta’ del cliente.
- Conto bancario emesso: emetti un conto ACH/USD che si regola nel wallet emesso del cliente.
4. Trova una capability idonea
Elenca le capability supportate conGET /v3/customers/{customerId}/capabilities/supported:
availability impostato su available o beta, eligibility.eligible impostato su true, con le directions e il method necessari e l’accountType corrispondente. Usa il wallet emesso del cliente come destinazione del pay-in, sorgente del payout o conto di regolamento del conto bancario; usa il conto di proprieta’ del cliente come destinationId per questo percorso di payout. Se vengono restituite institutions, usa solo una scelta di institution restituita. Salva l’id della voce come CAPABILITY_ID; non codificare in modo rigido un ID di capability universale.
5. Richiedi la capability
Richiedi la capability selezionata conPOST /v3/customers/{customerId}/capabilities/{capabilityId}:
data.status come CAPABILITY_STATUS e data.openTaskIds come TASK_IDS.
6. Completa l’onboarding in sandbox
SeTASK_IDS non e’ vuoto, completa ogni requisito corrente tramite Capability e task.
Per questa guida, imposta la capability su ready con POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status:
GET /v3/customers/{customerId}/capabilities/{capabilityId}:
CAPABILITY_STATUS e TASK_IDS da data.status e data.openTaskIds. Prosegui solo quando CAPABILITY_STATUS e’ ready.
7. Costruisci il flusso selezionato
Crea un wallet USDC emesso su Base conPOST /v3/customers/{customerId}/accounts:
data.id come FLOW_WALLET_ID, data.status come FLOW_WALLET_STATUS e data.openTaskIds come FLOW_WALLET_TASK_IDS. Se FLOW_WALLET_TASK_IDS non e’ vuoto, completa i task correnti tramite Capability e task.
Rileggi il wallet con GET /v3/customers/{customerId}/accounts/{accountId}:
FLOW_WALLET_STATUS e FLOW_WALLET_TASK_IDS da data.status e data.openTaskIds. Prosegui solo quando FLOW_WALLET_STATUS e’ ready.
- Pay-in
- Payout
- Conto bancario emesso
Crea un quote USD-a-USDC con Salva Salva La risposta contiene
POST /v3/quotes:data.id come QUOTE_ID, quindi eseguilo con POST /v3/transfers:data.id come TRANSFER_ID. Recupera le istruzioni con GET /v3/transfers/{transferId}/instructions:data.transferId e data.instructions. Salva data.transferId come TRANSFER_ID e data.instructions come FUNDING_INSTRUCTIONS.TRANSFER_ID con GET /v3/transfers/{transferId}:
Pay-in
Costruisci il flusso completo di pay-in.
Payout
Costruisci la gestione del payout di produzione.
Conto bancario emesso
Gestisci provisioning e dettagli.