Restreindre un dépôt USDC à un seul wallet acheteur, en code.
L'OTC privé transforme un dépôt public en route à acheteur unique. C'est le bon outil lorsque votre produit connaît déjà la contrepartie : un paiement de type paie, une transaction négociée ou un règlement avec acheteur connu.
Créer un dépôt restreint
- 1Appelez offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
- 2Le SDK crée le dépôt, puis attache un hook de whitelist pour le wallet otcTaker.
- 3Lisez otcLink dans le résultat et envoyez-le à l'acheteur approuvé.
- 4Tout wallet autre que otcTaker est rejeté onchain avant de pouvoir démarrer un remplissage.
Gérer la restriction sur des dépôts existants
| Helper | Ce qu'il fait |
|---|---|
| enableOtc(walletClient, depositId, taker) | Restreint un dépôt existant à un seul wallet acheteur |
| disableOtc(walletClient, depositId) | Supprime la restriction et remet le dépôt en public |
| getOtcLink(depositId) | Construit le lien acheteur partageable pour un dépôt restreint |
Pourquoi cela prend plus d'une transaction
createDeposit de EscrowV2 ne prend pas de paramètre de whitelist, donc le SDK attache le hook dans une transaction de suivi après que le dépôt existe. La restriction est appliquée par le contrat Base, pas par l'UI ni le lien, c'est pourquoi un wallet non approuvé est rejeté onchain même s'il a le lien.
Le hook de whitelist verrouille le dépôt, pas le lien.
Le lien OTC est une commodité. La protection réelle est le hook pré-intent attaché au dépôt Base.
createDeposit ne prend aucun paramètre de whitelist, donc le hook est attaché dans une transaction de suivi.
Keep exploring
Common questions
Comment rendre un dépôt privé en code ?
Passez otcTaker à offramp() lors de la création du dépôt, ou appelez enableOtc sur un dépôt existant. Le SDK attache un hook de whitelist onchain pour que seul ce wallet acheteur puisse remplir, et retourne un otcLink à partager.
L'acheteur approuvé peut-il être changé plus tard ?
Oui. Utilisez disableOtc pour supprimer la restriction ou réexécutez enableOtc avec un nouveau taker. Chaque changement est une mise à jour onchain, et le nouvel acheteur doit utiliser le lien de dépôt résultant.
L'OTC privé supprime-t-il le risque lié à l'app de paiement ?
Non. Il restreint qui peut remplir le dépôt. Le volet fiat passe toujours par l'app de paiement choisie, avec les limites, contrôles et comportements de remboursement de cette app.