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.
Crie um depósito restrito
- 1Chame offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
- 2O SDK cria o depósito e então anexa um hook de whitelist para a carteira otcTaker.
- 3Leia o otcLink do resultado e envie-o ao comprador aprovado.
- 4Qualquer carteira diferente de otcTaker é rejeitada onchain antes de poder iniciar um preenchimento.
Gerencie a restrição em depósitos existentes
| Helper | O 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 |
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.
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.
Keep exploring
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.