ドラランプ・デジタルドル
dolaramp
blog
pt
← todos os posts

gateway de usdt no brasil, do pix ao webhook.

// resumo um gateway de USDT tem duas pontas. a ponta em stablecoin é software: um endereço filho por pedido ou por cliente, um webhook deposit.confirmed que marca o pagamento, uma varredura que junta os saldos numa hotwallet e um saque que paga o lojista. a ponta em reais (PIX) não é software: ela passa por uma exchange ou PSP autorizado, porque a dolaramp não converte moeda nem faz PIX. e desde 2 de fevereiro de 2026 o Banco Central regula quem presta serviços de ativos virtuais no Brasil. este guia mostra a arquitetura, quanto custa por rede e o que a regra do BCB diz, com fonte.

as duas pontas do gateway

um projeto de "gateway de USDT" junta duas coisas bem diferentes:

  • a ponta on-chain: gerar endereço, saber que o dinheiro chegou, consolidar e pagar. é o que a API da dolaramp faz, em Solana, TRON, gram(TON), Base e Arbitrum, com USDT, USDC e PYUSD conforme a rede.
  • a ponta em reais: receber PIX, entregar PIX, fazer o câmbio entre real e stablecoin. isso é de uma exchange ou de um PSP autorizado. a dolaramp não guarda real, não converte e não faz PIX.

separe as duas desde o desenho: integrar uma API de carteira não resolve a parte regulada.

a arquitetura on-chain, passo a passo

  1. hotwallet. você cria uma por rede. a API devolve um wallet_secret uma única vez; ele cifra a chave da hotwallet e de todos os filhos, e sem ele nem a dolaramp consegue mover os fundos.
  2. endereço filho. POST /hotwallets/{rede}/children gera até 100 endereços por chamada, cada um com o seu external_ref (o número do pedido, ou lojista:cobrança). esse é o endereço que aparece no QR do checkout.
  3. webhook. quando o pagamento aparece na rede chega deposit.detected, que só serve para mostrar "pagamento a caminho". o pedido libera no deposit.confirmed, que só dispara quando a regra da rede foi cumprida (solidificação na TRON, finalized na Solana, safe head em Base e Arbitrum). o payload já traz o external_ref, então você credita o lojista sem consulta extra. os webhooks são assinados com HMAC-SHA256: valide a assinatura antes de acreditar.
  4. varredura. POST /sweep move o saldo dos filhos para a hotwallet em lote, sem você ter TRX, SOL ou ETH. use idempotency_key: repetir a chamada depois de um timeout devolve o mesmo lote em vez de varrer de novo.
  5. saque. o lojista pede o dinheiro dele e o seu sistema chama POST /hotwallet/withdraw com idempotency_key = id do saque. um saque maior que o saldo é recusado, nunca enviado pela metade sem você pedir.
  6. conciliação. GET /ledger e GET /operations fecham o dia sem depender de webhook, e GET /statement?month= entrega o mês inteiro, com taxas, para a contabilidade.

o mapa desse fluxo está em fluxos de integração (perfil "gateway"), e cada chamada está na referência da API.

filho por pedido ou filho por cliente

as duas funcionam, mas o custo muda conforme a rede:

  • filho por pedido deixa a conciliação trivial: um endereço, um valor, um pedido. na TRON, porém, todo endereço novo paga uma ativação de 1,50 USDT uma única vez na primeira movimentação, e na Solana um endereço novo paga as contas de token na primeira saída (~US$ 0,65 no free).
  • filho por cliente (fixo) dilui esse custo: o comprador recorrente paga sempre no mesmo endereço, e o external_ref identifica quem é.

em Base e Arbitrum um filho é um único endereço válido nas duas redes, e conta uma vez só no limite do plano (1.000 endereços no free, 50.000 no pro).

quanto custa, por rede

receber é grátis. você paga por varredura ou saque, em stablecoin, dentro da própria operação:

rede · tokenfreeproo que tem dentro
tron · USDTUS$ 1,60US$ 1,551,50 de taxa da rede + nossos 0,10 / 0,05
base · USDCUS$ 0,10US$ 0,05só a nossa taxa, o gás é por nossa conta
arbitrum · USDC, USD₮0US$ 0,10US$ 0,05só a nossa taxa, o gás é por nossa conta
solana · USDT, USDC, PYUSD~US$ 0,10~US$ 0,05custo da rede + 10% + nossos 0,10 / 0,05
gram (ton) · USDT~US$ 0,18~US$ 0,13custo da rede + 10% + nossos 0,10 / 0,05

a conta honesta para um pedido de 100 USDT pago na TRON num filho novo: varredura de 1,60 + ativação de 1,50 = 3,10 USDT, ou 3,1%. o mesmo pedido em USDC na Base custa 0,10. se os seus clientes pagam pela TRON, aceite, mas com filho fixo por cliente e varredura em lote, não um filho descartável por pedido. o guia de USDT TRC20 sem TRX explica de onde vem esse 1,50.

valores de pricing em 25/09/2026. Solana e gram(TON) seguem o preço de SOL e TON. GET /v1/quote devolve a taxa exata do seu plano antes de qualquer operação.

a ponta em reais: PIX por parceiro

se o cliente paga em real e o lojista quer receber em real, existe um parceiro no meio. ele recebe e envia PIX, compra e vende a stablecoin e responde pelo câmbio:

  • entrada (real → USDT): o parceiro recebe o PIX, compra a stablecoin e envia para a sua hotwallet, no deposit_address dela.
  • saída (USDT → real): você saca para o endereço do parceiro, ele vende e paga o PIX do lojista.
  • preço: GET /rates/BRL dá uma referência de mercado do USDT em real. não é cotação executável: aplique o seu spread.

escolha o parceiro olhando a situação dele no Banco Central, não só a taxa. a próxima seção explica por quê.

o que diz a regulação (setembro de 2026)

o que segue é o texto das normas, não parecer jurídico.

  • a base. a Lei 14.478, de 21/12/2022, criou o marco dos ativos virtuais. o BCB regulamentou com as Resoluções BCB 519, 520 e 521, de 10/11/2025 (DOU de 11/11/2025), em vigor desde 2/02/2026.
  • quem é PSAV. serviço de ativo virtual é, segundo o BCB, "realizar, em nome de terceiros, compra, venda, intermediação e custódia de criptoativos". as sociedades prestadoras (SPSAV) têm três modalidades: intermediária, custodiante e corretora (Res. 520, art. 4º).
  • autorização antes de operar. a SPSAV "deve solicitar autorização ao Banco Central do Brasil para iniciar" os serviços (Res. 520, art. 19). quem já operava em 2/02/2026 tem 270 dias para pedir, ou seja, até 30/10/2026 (art. 88).
  • bancos e instituições de pagamento. a partir de 6/11/2026, elas ficam proibidas de realizar ou viabilizar operações com prestadoras de serviços de ativos virtuais que não estejam autorizadas pelo BCB, o que inclui contas e transações de pagamento (Res. 520, art. 91, na redação da Res. BCB 589, de 23/09/2026). na prática: o PIX do seu parceiro depende da autorização dele.
  • stablecoin é câmbio. a Res. 521 incluiu no mercado de câmbio a compra, venda ou troca de ativo virtual referenciado em moeda fiduciária, o pagamento internacional com ativo virtual e a transferência de ou para carteira autocustodiada. a prestadora tem que identificar o dono dessa carteira. se o seu gateway recebe USDT de uma exchange na sua hotwallet, espere que ela peça prova de que o endereço é seu.

a dolaramp é tecnologia: a chave fica selada com o seu wallet_secret e nós não guardamos o seu saldo. isso não decide se o seu gateway é ou não PSAV. um gateway que guarda saldo de lojistas e movimenta em nome deles precisa ler os arts. 7º e 9º da Res. 520 contra o próprio modelo. contrate assessoria jurídica antes de operar; não conte com "é só software" como resposta.

checklist antes de subir

  • libere pedido só no deposit.confirmed, nunca no deposit.detected.
  • valide a assinatura HMAC de cada webhook e trate reentrega (até 8 tentativas, com intervalo crescente).
  • idempotency_key em toda varredura e todo saque.
  • guarde o wallet_secret fora do servidor da aplicação.
  • situação do parceiro de PIX no BCB conferida, e parecer jurídico sobre o enquadramento do seu próprio gateway.

perguntas frequentes

Preciso de autorização do Banco Central para ter um gateway de USDT?

Depende do seu modelo, e quem responde é um advogado. Desde 2/02/2026, quem presta em nome de terceiros compra, venda, intermediação ou custódia de ativos virtuais precisa pedir autorização ao BCB (Resoluções BCB 519 a 521). Usar uma API não custodial não resolve isso sozinho.

A dolaramp faz PIX ou converte real em USDT?

Não. A dolaramp cuida da ponta em stablecoin: endereços, depósitos, varredura, saque e ponte de USDC. O PIX e o câmbio entre real e stablecoin passam por uma exchange ou PSP autorizado.

Quanto custa receber USDT pela API?

Receber é grátis. Você paga na varredura ou no saque: US$ 1,60 por operação na TRON no plano free (US$ 1,55 no pro) e US$ 0,10 em Base e Arbitrum (US$ 0,05 no pro).

Quando posso liberar o pedido?

Só no webhook deposit.confirmed, que dispara quando a regra da rede foi cumprida. O deposit.detected só avisa que o pagamento está a caminho.

fontes: Resolução BCB nº 519/2025 · Resolução BCB nº 520/2025 (arts. 2º, 4º, 19, 88 e 91) · Resolução BCB nº 521/2025 (art. 76-A) · Resolução BCB nº 589/2026 · apresentação do BCB, 10/11/2025 · textos consultados em bcb.gov.br em 26/09/2026 · taxas da API em pricing (25/09/2026) · chamadas e eventos na referência da API e em fluxos de integração.