Desenvolvedores · OTC privado

Restrinja um depósito de USDC a uma carteira de comprador em código.

O OTC privado transforma um depósito público em uma rota de comprador único. É a ferramenta certa quando seu produto já conhece a contraparte: um pagamento estilo folha de pagamento, uma negociação fechada ou uma liquidação com comprador conhecido.

01

Crie um depósito restrito

  1. 1Chame offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
  2. 2O SDK cria o depósito e então anexa um hook de whitelist para a carteira otcTaker.
  3. 3Leia o otcLink do resultado e envie-o ao comprador aprovado.
  4. 4Qualquer carteira diferente de otcTaker é rejeitada onchain antes de poder iniciar um preenchimento.
02

Gerencie a restrição em depósitos existentes

HelperO que faz
enableOtc(walletClient, depositId, taker)Restringe um depósito existente a uma carteira de comprador
disableOtc(walletClient, depositId)Remove a restrição e devolve o depósito ao modo público
getOtcLink(depositId)Monta o link compartilhável de comprador para um depósito restrito
03

Por que isso exige mais de uma transação

O createDeposit do EscrowV2 não recebe um parâmetro de whitelist, então o SDK anexa o hook em uma transação seguinte, depois que o depósito existe. A restrição é imposta pelo contrato na Base, não pela UI nem pelo link, e é por isso que uma carteira não aprovada é rejeitada onchain mesmo que tenha o link.

Imposição onchain

O hook de whitelist controla o depósito, não o link.

O link OTC é uma conveniência. A proteção real é o hook de pré-intent anexado ao depósito na Base.

createDeposit não recebe parâmetro de whitelist, então o hook é anexado em uma transação seguinte.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efdepósito e anexação do hook
Hook de whitelist0xda023Ea0d789A41BcF5866F7B6BBd2CaDF9b79B8bloqueia carteiras não aprovadas
Link do compradorotc.usdctofiat.xyz/d/<escrow>/<depositId>um comprador, uma URL

Common questions

Como deixo um depósito privado em código?

Passe otcTaker para offramp() ao criar o depósito, ou chame enableOtc em um depósito existente. O SDK anexa um hook de whitelist onchain para que só aquela carteira de comprador possa preencher, e retorna um otcLink para compartilhar.

O comprador aprovado pode ser alterado depois?

Sim. Use disableOtc para remover a restrição ou execute enableOtc novamente com um novo taker. Cada mudança é uma atualização onchain, e o novo comprador deve usar o link de depósito resultante.

O OTC privado elimina o risco do app de pagamento?

Não. Ele restringe quem pode preencher o depósito. A perna de fiat ainda acontece pelo app de pagamento escolhido, com os limites, revisões e comportamento de estorno desse app.