Eine USDC-Einzahlung im Code auf eine Käufer-Wallet beschränken.
Privates OTC verwandelt eine öffentliche Einzahlung in eine Route für einen einzigen Käufer. Es ist das richtige Werkzeug, wenn Ihr Produkt die Gegenpartei bereits kennt: eine Auszahlung nach Gehaltsabrechnungsart, ein ausgehandelter Handel oder eine Abrechnung mit einem bekannten Käufer.
Eine beschränkte Einzahlung erstellen
- 1Rufen Sie offramp(walletClient, { amount, platform, currency, identifier, otcTaker }) auf.
- 2Das SDK erstellt die Einzahlung und hängt dann einen Whitelist-Hook für die otcTaker-Wallet an.
- 3Lesen Sie otcLink aus dem Ergebnis und senden Sie ihn an den genehmigten Käufer.
- 4Jede andere Wallet als otcTaker wird onchain abgelehnt, bevor sie eine Füllung starten kann.
Beschränkung für bestehende Einzahlungen verwalten
| Hilfsfunktion | Funktion |
|---|---|
| enableOtc(walletClient, depositId, taker) | Eine bestehende Einzahlung auf eine Käufer-Wallet beschränken |
| disableOtc(walletClient, depositId) | Die Beschränkung aufheben und die Einzahlung wieder öffentlich machen |
| getOtcLink(depositId) | Den teilbaren Käufer-Link für eine beschränkte Einzahlung erstellen |
Warum mehr als eine Transaktion erforderlich ist
EscrowV2's createDeposit akzeptiert keinen Whitelist-Parameter, daher hängt das SDK den Hook in einer nachfolgenden Transaktion an, nachdem die Einzahlung existiert. Die Beschränkung wird durch den Base-Vertrag durchgesetzt, nicht durch die UI oder den Link – deshalb wird eine nicht genehmigte Wallet onchain abgelehnt, selbst wenn sie den Link hat.
Der Whitelist-Hook sichert die Einzahlung, nicht der Link.
Der OTC-Link ist eine Erleichterung. Der eigentliche Schutz ist der Pre-Intent-Hook, der an die Base-Einzahlung angehängt ist.
createDeposit akzeptiert keinen Whitelist-Parameter, daher wird der Hook in einer nachfolgenden Transaktion angehängt.
Keep exploring
Common questions
Wie mache ich eine Einzahlung im Code privat?
Übergeben Sie otcTaker an offramp() beim Erstellen der Einzahlung, oder rufen Sie enableOtc für eine bestehende Einzahlung auf. Das SDK hängt einen Onchain-Whitelist-Hook an, sodass nur diese Käufer-Wallet füllen kann, und gibt einen otcLink zum Teilen zurück.
Kann der genehmigte Käufer später geändert werden?
Ja. Verwenden Sie disableOtc, um die Beschränkung aufzuheben, oder führen Sie enableOtc erneut mit einem neuen Taker aus. Jede Änderung ist ein Onchain-Update, und der neue Käufer muss den resultierenden Einzahlungslink verwenden.
Entfällt durch privates OTC das Risiko der Zahlungs-App?
Nein. Es beschränkt, wer die Einzahlung füllen kann. Das Fiat-Leg läuft weiterhin über die gewählte Zahlungs-App, mit deren Limits, Prüfungen und Stornierungsverhalten.