Le module Wallet-as-a-Service (WaaS) vous permet de créer un sous-portefeuille par utilisateur final : chacun reçoit ses propres adresses de dépôt permanentes, un solde par actif, et vous pilotez retraits et transferts par API.
Toutes les routes ci-dessous sont authentifiées par clé API (scopes accounts:read / accounts:write). Voir Authentification.

Modèle

  • Un sous-portefeuille (WalletAccount) appartient à votre compte marchand et représente un de vos utilisateurs (libellé + externalRef = votre identifiant interne).
  • Les fonds des utilisateurs sont ségrégués de votre balance opérationnelle (comptabilité séparée). Vous ne pouvez pas retirer les fonds d’un sous-portefeuille via votre wallet principal.
  • Attribution des dépôts selon la chaîne :
    • UTXO (BTC) → adresse dérivée unique par sous-portefeuille → attribution automatique.
    • Chaînes à mémo (XRP, TON, XLM…) → adresse partagée + tag/mémo unique par sous-portefeuille → attribution automatique.
    • EVM / account (BEP20, ERC20, Polygon, Solana) → adresse canonique partagée au niveau marchand → un dépôt EVM n’est pas attribuable automatiquement à un sous-portefeuille.

Créer un sous-portefeuille

Obtenir une adresse de dépôt

L’adresse est permanente par (sous-portefeuille, actif) — appelez autant de fois que voulu, elle ne change pas.
shared: true = adresse EVM partagée (voir attribution ci-dessus). Pour une attribution dédiée, utilisez une chaîne UTXO ou à mémo (memo non nul).

Autres routes

Retrait depuis un sous-portefeuille

Webhooks WaaS

Abonnez un endpoint aux événements suivants (voir Webhooks) : Exemple de payload (wallet_account.deposit.completed) :
externalRef vous permet de rattacher le dépôt à votre utilisateur sans stocker la correspondance walletAccountId de votre côté.