Documentação

Conversão USDT

Converta saldo BRL em USDT (rede TRC20/Tron) enviado direto para a wallet informada.

Recurso sob liberaçãoA conversão USDT é habilitada por conta pela nossa equipe. Sem a liberação, todos os endpoints retornam 403. Solicite ao suporte.

Endpoints

GET/v1/usdt/quote

Prévia da conversão na cotação atual (amount em BRL OU usdtAmount)

POST/v1/usdt/conversions

Cria a conversão: debita o saldo BRL e envia USDT à wallet (assíncrono)

GET/v1/usdt/conversions

Lista as conversões da conta (paginação page/limit)

GET/v1/usdt/conversions/:id

Consulta uma conversão por conversionId ou externalReference

Segurança

A criação da conversão movimenta saldo e segue o mesmo regime do saque: requer IP whitelistado (Configurações > Regras de Segurança) ou o header x-withdrawal-secret, além do scope withdrawals:write na API Key. As consultas e a prévia usam withdrawals:read e não exigem IP.

Parâmetros — POST /v1/usdt/conversions

Body (JSON)

ParâmetroTipoObrigatórioDescrição
amountnumberNãoValor em BRL a converter (debitado do saldo). Use este OU usdtAmount.Ex: 2000.00
usdtAmountnumberNãoQuantidade EXATA de USDT que deve chegar na wallet. O débito na criação é o valor cotado (amountBrl). Se a cotação subir até a execução, a diferença é debitada do saldo na conclusão (extraChargedBrl, presente no webhook); se cair, vale o valor cotado.Ex: 323.43
walletAddressstringSimEndereço da wallet USDT na rede TRC20 (Tron) — 34 caracteres, começa com "T".Ex: "TX7k2mNpQr9sT4uVwXyZ1aB3cD5eF6gH8i"
externalReferencestringNãoSua referência (máx. 100 caracteres). Também é a chave de idempotência: repetir o mesmo valor retorna a conversão já criada, sem novo débito.Ex: "CONV-2026-0001"
amount OU usdtAmountInforme exatamente um dos dois — pelo menos um é obrigatório.

Ciclo de Vida (assíncrono)

A resposta do POST vem com status: "PENDING". A execução passa pela mesa de câmbio do provedor (janela comercial, aprox. 09h10–16h30 BRT) e pode levar horas — diferente de um PIX. Estados:

StatusSignificado
PENDINGSaldo debitado; envio dos fundos ao provedor em andamento
FUNDINGFundos enviados; aguardando confirmação do provedor
FUNDEDFundos confirmados; aguardando execução da compra
CONVERTINGCompra enviada à mesa; aguardando liquidação
COMPLETEDUSDT enviado à wallet (usdtQuantityFinal preenchido; se a cotação subiu, extraChargedBrl traz o débito adicional)
FAILEDFalha definitiva — o valor debitado volta ao saldo (refunded: true)

Acompanhe pelos webhooks usdt.conversion.completed e usdt.conversion.failed (configure em Webhooks) ou consultando GET /v1/usdt/conversions/:id.

Limites

  • Quantidade mínima por conversão: há um mínimo operacional da mesa de câmbio (na ordem de 300 USDT). O mínimo em BRL varia com a cotação — consulte GET /v1/usdt/quote: valores abaixo retornam 400 com o mínimo atual.
  • Valor máximo por conversão: configurado pela plataforma; acima dele a API retorna 400.
  • Rede: apenas TRC20 (Tron). Endereço de outra rede é rejeitado na validação.
Próximo passoConfigure Webhooks para ser notificado quando a conversão concluir ou falhar.