Skip to main content
Crea un cliente, prepara un wallet riutilizzabile ed esegui il flusso sandbox di cui hai bisogno.

1. Configura sandbox

Usa una chiave API sandbox dal tuo backend:
La chiave seleziona l’ambiente sandbox sullo stesso host API condiviso.

2. Crea un cliente

Crea un cliente individuale con POST /v3/customers:
Salva 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.
Per un payout verso terze parti, segui Recipients o Invia fondi.

4. Trova una capability idonea

Elenca le capability supportate con GET /v3/customers/{customerId}/capabilities/supported:
Scegli una voce della risposta con 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 con POST /v3/customers/{customerId}/capabilities/{capabilityId}:
Salva data.status come CAPABILITY_STATUS e data.openTaskIds come TASK_IDS.

6. Completa l’onboarding in sandbox

Se TASK_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:
Questo controllo di test non e’ l’onboarding di produzione. Rileggi con GET /v3/customers/{customerId}/capabilities/{capabilityId}:
Aggiorna 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 con POST /v3/customers/{customerId}/accounts:
Salva 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}:
Aggiorna FLOW_WALLET_STATUS e FLOW_WALLET_TASK_IDS da data.status e data.openTaskIds. Prosegui solo quando FLOW_WALLET_STATUS e’ ready.
Crea un quote USD-a-USDC con POST /v3/quotes:
Salva data.id come QUOTE_ID, quindi eseguilo con POST /v3/transfers:
Salva data.id come TRANSFER_ID. Recupera le istruzioni con GET /v3/transfers/{transferId}/instructions:
La risposta contiene data.transferId e data.instructions. Salva data.transferId come TRANSFER_ID e data.instructions come FUNDING_INSTRUCTIONS.
Per pay-in e payout, monitora 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.
Successivamente, aggiungi i webhook. Ogni richiesta sopra include gia’ un link al proprio schema completo nell’API Reference e alla pagina di stato.