Sviluppatori · OTC privato

Limita un deposito USDC a un solo wallet acquirente nel codice.

L'OTC privato trasforma un deposito pubblico in una rotta a un solo acquirente. È lo strumento giusto quando il tuo prodotto conosce già la controparte: un pagamento in stile payroll, una trattativa negoziata o un regolamento con acquirente noto.

01

Crea un deposito ristretto

  1. 1Chiama offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
  2. 2L'SDK crea il deposito, poi allega un hook di whitelist per il wallet otcTaker.
  3. 3Leggi otcLink dal risultato e invialo all'acquirente approvato.
  4. 4Qualsiasi wallet diverso da otcTaker viene rifiutato onchain prima di poter avviare un riempimento.
02

Gestisci la restrizione sui depositi esistenti

HelperCosa fa
enableOtc(walletClient, depositId, taker)Limita un deposito esistente a un solo wallet acquirente
disableOtc(walletClient, depositId)Rimuovi la restrizione e riporta il deposito a pubblico
getOtcLink(depositId)Costruisci il link condivisibile per l'acquirente di un deposito ristretto
03

Perché serve più di una transazione

Il createDeposit di EscrowV2 non accetta un parametro di whitelist, quindi l'SDK allega l'hook in una transazione successiva, dopo che il deposito esiste. La restrizione è imposta dal contratto su Base, non dalla UI o dal link: ecco perché un wallet non approvato viene rifiutato onchain anche se ha il link.

Imposizione onchain

L'hook di whitelist protegge il deposito, non il link.

Il link OTC è una comodità. La protezione reale è l'hook pre-intent allegato al deposito su Base.

createDeposit non accetta alcun parametro di whitelist, quindi l'hook viene allegato in una transazione successiva.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efdeposito e collegamento dell'hook
Hook di whitelist0xda023Ea0d789A41BcF5866F7B6BBd2CaDF9b79B8blocca i wallet non approvati
Link per l'acquirenteotc.usdctofiat.xyz/d/<escrow>/<depositId>un acquirente, un URL

Common questions

Come rendo privato un deposito nel codice?

Passa otcTaker a offramp() quando crei il deposito, oppure chiama enableOtc su un deposito esistente. L'SDK allega un hook di whitelist onchain così solo quel wallet acquirente può riempire, e restituisce un otcLink da condividere.

L'acquirente approvato può essere cambiato in seguito?

Sì. Usa disableOtc per rimuovere la restrizione oppure riesegui enableOtc con un nuovo taker. Ogni modifica è un aggiornamento onchain, e il nuovo acquirente deve usare il link del deposito risultante.

L'OTC privato elimina il rischio delle app di pagamento?

No. Limita chi può riempire il deposito. La gamba fiat avviene comunque tramite l'app di pagamento scelta, con i suoi limiti, le sue revisioni e il suo comportamento sui rimborsi.