Développeurs · OTC privé

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.

01

Créer un dépôt restreint

  1. 1Appelez offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
  2. 2Le SDK crée le dépôt, puis attache un hook de whitelist pour le wallet otcTaker.
  3. 3Lisez otcLink dans le résultat et envoyez-le à l'acheteur approuvé.
  4. 4Tout wallet autre que otcTaker est rejeté onchain avant de pouvoir démarrer un remplissage.
02

Gérer la restriction sur des dépôts existants

HelperCe 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
03

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.

Application onchain

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.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efattache le dépôt et le hook
Hook de whitelist0xda023Ea0d789A41BcF5866F7B6BBd2CaDF9b79B8bloque les wallets non approuvés
Lien acheteurotc.usdctofiat.xyz/d/<escrow>/<depositId>un acheteur, une URL

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.