Skip to main content
Créez un client, préparez un portefeuille réutilisable et exécutez le flux sandbox dont vous avez besoin.

1. Configurer le sandbox

Utilisez une clé API sandbox depuis votre backend :
La clé sélectionne l’environnement sandbox sur l’hôte API partagé.

2. Créer un client

Créez un client individuel avec POST /v3/customers :
Stockez data.id en tant que CUSTOMER_ID.

3. Choisir le résultat

  • Encaissement : recevez des USD et réglez en USDC dans le portefeuille émis du client.
  • Paiement : envoyez des USDC depuis le portefeuille émis du client vers un compte bancaire détenu par le client.
  • Compte bancaire émis : émettez un compte ACH/USD qui règle dans le portefeuille émis du client.
Pour un paiement à un tiers, suivez Destinataires ou Envoyer des fonds.

4. Trouver une capacité éligible

Listez les capacités prises en charge avec GET /v3/customers/{customerId}/capabilities/supported :
Choisissez une entrée de réponse avec availability défini sur available ou beta, eligibility.eligible défini sur true, les directions et la method nécessaires, et le accountType correspondant. Utilisez le portefeuille émis du client comme destination d’encaissement, source de paiement ou compte de règlement du compte bancaire ; utilisez le compte détenu par le client comme destinationId pour ce chemin de paiement. Si des institutions sont renvoyées, utilisez uniquement un choix d’institution renvoyé. Stockez l’id de l’entrée en tant que CAPABILITY_ID ; ne codez pas en dur un ID de capacité universel.

5. Demander la capacité

Demandez la capacité sélectionnée avec POST /v3/customers/{customerId}/capabilities/{capabilityId} :
Stockez data.status en tant que CAPABILITY_STATUS et data.openTaskIds en tant que TASK_IDS.

6. Terminer l’onboarding en sandbox

Si TASK_IDS n’est pas vide, complétez chaque exigence actuelle via Capacités et tâches. Pour cette procédure, définissez la capacité sur ready avec POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status :
Ce contrôle de test n’est pas un onboarding de production. Récupérez à nouveau avec GET /v3/customers/{customerId}/capabilities/{capabilityId} :
Actualisez CAPABILITY_STATUS et TASK_IDS depuis data.status et data.openTaskIds. Continuez uniquement lorsque CAPABILITY_STATUS est ready.

7. Construire le flux sélectionné

Créez un portefeuille USDC émis sur Base avec POST /v3/customers/{customerId}/accounts :
Stockez data.id en tant que FLOW_WALLET_ID, data.status en tant que FLOW_WALLET_STATUS, et data.openTaskIds en tant que FLOW_WALLET_TASK_IDS. Si FLOW_WALLET_TASK_IDS n’est pas vide, complétez les tâches actuelles via Capacités et tâches. Récupérez à nouveau le portefeuille avec GET /v3/customers/{customerId}/accounts/{accountId} :
Actualisez FLOW_WALLET_STATUS et FLOW_WALLET_TASK_IDS depuis data.status et data.openTaskIds. Continuez uniquement lorsque FLOW_WALLET_STATUS est ready.
Créez un devis USD vers USDC avec POST /v3/quotes :
Stockez data.id en tant que QUOTE_ID, puis exécutez-le avec POST /v3/transfers :
Stockez data.id en tant que TRANSFER_ID. Récupérez les instructions avec GET /v3/transfers/{transferId}/instructions :
La réponse contient data.transferId et data.instructions. Stockez data.transferId en tant que TRANSFER_ID et data.instructions en tant que FUNDING_INSTRUCTIONS.
Pour les encaissements et les paiements, surveillez TRANSFER_ID avec GET /v3/transfers/{transferId} :

Encaissement

Construisez le flux d’encaissement complet.

Paiement

Construisez la gestion des paiements en production.

Compte bancaire émis

Gérez le provisionnement et les coordonnées.
Ensuite, ajoutez des webhooks. Chaque requête ci-dessus renvoie déjà à son schéma complet de Référence API et à sa page de statut.