Desarrolladores · OTC privado

Restringe un depósito de USDC a una única wallet de comprador en código.

El OTC privado convierte un depósito público en una ruta de un solo comprador. Es la herramienta adecuada cuando tu producto ya conoce a la contraparte: un pago tipo nómina, una operación negociada o una liquidación con comprador conocido.

01

Crea un depósito restringido

  1. 1Llama a offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
  2. 2El SDK crea el depósito y luego adjunta un hook de whitelist para la wallet otcTaker.
  3. 3Lee otcLink del resultado y envíalo al comprador aprobado.
  4. 4Cualquier wallet distinta de otcTaker se rechaza onchain antes de poder iniciar un fill.
02

Gestiona la restricción en depósitos existentes

HelperQué hace
enableOtc(walletClient, depositId, taker)Restringe un depósito existente a una única wallet de comprador
disableOtc(walletClient, depositId)Elimina la restricción y devuelve el depósito a público
getOtcLink(depositId)Construye el enlace de comprador compartible para un depósito restringido
03

Por qué requiere más de una transacción

El createDeposit de EscrowV2 no recibe un parámetro de whitelist, así que el SDK adjunta el hook en una transacción posterior, una vez que el depósito existe. La restricción la impone el contrato de Base, no la UI ni el enlace, por eso una wallet no aprobada se rechaza onchain aunque tenga el enlace.

Imposición onchain

El hook de whitelist controla el depósito, no el enlace.

El enlace OTC es una comodidad. La protección real es el hook de pre-intent adjunto al depósito de Base.

createDeposit no recibe un parámetro de whitelist, así que el hook se adjunta en una transacción posterior.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efadjuntar depósito y hook
Hook de whitelist0xda023Ea0d789A41BcF5866F7B6BBd2CaDF9b79B8bloquea wallets no aprobadas
Enlace de compradorotc.usdctofiat.xyz/d/<escrow>/<depositId>un comprador, una URL

Common questions

¿Cómo hago privado un depósito en código?

Pasa otcTaker a offramp() al crear el depósito, o llama a enableOtc sobre un depósito existente. El SDK adjunta un hook de whitelist onchain para que solo esa wallet de comprador pueda rellenarlo, y devuelve un otcLink para compartir.

¿Se puede cambiar el comprador aprobado más adelante?

Sí. Usa disableOtc para eliminar la restricción o vuelve a ejecutar enableOtc con un nuevo taker. Cada cambio es una actualización onchain, y el nuevo comprador debe usar el enlace de depósito resultante.

¿El OTC privado elimina el riesgo de la app de pago?

No. Restringe quién puede rellenar el depósito. El tramo en fiat sigue ocurriendo a través de la app de pago elegida, con los límites, revisiones y reversiones de esa app.