POST
Retrait on-chain depuis un sous-portefeuille

Autorisations

Authorization
string
header
requis

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Paramètres de chemin

id
string
requis

Identifiant du sous-portefeuille.

Corps

application/json
assetCode
string
requis

Cryptomonnaie à envoyer. Doit figurer parmi les actifs supportés par votre compte, par exemple USDT.TRC20, USDT.BEP20 ou BTC.

Maximum string length: 32
Pattern: ^[A-Z0-9_.\-]{1,32}$
Exemple:

"USDT.TRC20"

amount
string
requis

Montant à envoyer, en unités de l'actif. Chaîne de caractères, jamais un nombre JSON : un montant crypto passé en number est arrondi par la précision flottante. Jusqu'à 18 décimales.

Pattern: ^(?=.*[1-9])\d{1,18}(\.\d{1,18})?$
Exemple:

"125.50"

destinationAddress
string
requis

Adresse crypto du destinataire, sur le réseau correspondant à assetCode. Une adresse d'un autre réseau entraîne une perte définitive des fonds.

Required string length: 3 - 255
Exemple:

"TJRyWwFs9wTFGZg3JbrVriFbNfCug5tDeC"

destinationMemo
string

Mémo / tag de destination. Obligatoire pour les réseaux qui en exigent un (XRP, TON, Stellar…) ; à omettre pour tous les autres.

Maximum string length: 120
Exemple:

"1234567890"

note
string

Note libre attachée au retrait, visible dans votre historique.

Maximum string length: 255
Exemple:

"Paiement fournisseur juillet"

merchantReference
string

Référence libre côté marchand, reportée telle quelle sur le retrait.

Maximum string length: 255
Exemple:

"facture-4821"

idempotencyKey
string

Clé d'idempotence. Rejouer la même clé retourne le retrait déjà créé au lieu d'en créer un second — indispensable pour un retry réseau sûr. Peut aussi être transmise via l'en-tête Idempotency-Key.

Maximum string length: 120
Pattern: ^[A-Za-z0-9_.\-:]+$
Exemple:

"payout-2026-07-08-0001"

totpCode
string

Code TOTP à 6 chiffres, issu de votre application d'authentification. Requis uniquement pour les appels authentifiés par session utilisateur (dashboard) ; les appels par clé API n'en ont pas besoin.

Pattern: ^[0-9]{6}$
Exemple:

"123456"

feeBearer
enum<string>

Qui supporte les frais de ce retrait, pour cet appel uniquement.

  • merchant : les frais s'ajoutent au montant. Le destinataire reçoit amount en entier, votre solde est débité de amount + frais.
  • customer : les frais sont prélevés sur le montant. Le destinataire reçoit amount moins les frais, votre solde est débité de amount. Omis, ce champ retombe sur la configuration de votre compte (merchant par défaut).
Options disponibles:
merchant,
customer
Exemple:

"merchant"

Réponse

Retrait créé.

id
string
requis

Identifiant unique du payout.

merchantReference
object | null
requis

Référence libre attachée par le marchand (optionnelle).

payoutType
string
requis

Catégorie du payout : retrait crypto standard, transfert interne entre marchands, remboursement d'un paiement, ou leg crypto d'un settlement.

amount
string
requis

Montant brut envoyé — chaîne décimale (préserve la précision).

assetCode
string
requis

Code de l'actif crypto (USDT.TRC20, BTC, …).

destinationAddress
string
requis

Adresse de destination — adresse blockchain, email interne ou identifiant d'un autre compte IzichangePay selon destinationType.

destinationType
string
requis

Type de destination : adresse blockchain, email interne ou identifiant d'un autre compte marchand de la plateforme.

destinationMemo
object | null
requis

Mémo/tag requis pour les chaînes memo-type (XRP, TON, Stellar).

feeAmount
string
requis

Frais facturés par IzichangePay — chaîne décimale.

networkFeeAmount
object | null
requis

Frais réseau (gas) effectivement payés à la blockchain — chaîne décimale, renseigné après diffusion.

status
string
requis

Statut courant du payout (pending, approved, confirmed, failed, etc.).

failureReason
object | null
requis

Message d'erreur sécurisé pour les payouts non finalisés (échec, en attente d'examen). null pour les payouts en bonne marche.

feeBearer
string
requis

Indique qui supporte les frais : le marchand (montant débité = amount + fee) ou le client (sur les remboursements).

kytStatus
object | null
requis

Statut du contrôle KYT (Know Your Transaction) si applicable.

createdAt
string
requis

Date de création — ISO 8601.

updatedAt
string
requis

Date de dernière mise à jour — ISO 8601.

statusHistory
object[]
requis

Historique des transitions de statut, chaque entrée comportant le statut, l'horodatage, la source et une note éventuelle.