Documentação para desenvolvedores

Guia de integração de pagamentos USDT

Receba USDT em seis redes. Confira versões, contratos ou Mint e decimais aceitos antes de criar pedidos assinados e processar confirmações.

Identidades de tokens da rede principal

Contratos e Mint são valores predefinidos, não o estado atual do serviço. Criar pedidos exige rede e ativo habilitados e carteira válida. Pague sempre a payment.address da API, nunca ao contrato ou Mint.

Identidades de tokens da rede principal
RedeMoedaContrato / MintDecimais do token
TRC20 network logoTRC20USDTTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t6
ERC20 network logoERC20USDT0xdAC17F958D2ee523a2206206994597C13D831ec76
BEP20 network logoBEP20USDT0x55d398326f99059fF775485246999027B319795518
POLYGON network logoPOLYGONUSDT0xc2132D05D31c914a87C6611C10748AEb04B58e8F6
SOLANA network logoSOLANAUSDTEs9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB6
BASE network logoBASEUSDT0xfde4c96c8593536e31f229ea8f37b2ada2699bb26

Configuração do comerciante

  1. Configure uma carteira receptora da rede e um Webhook habilitado com URL e chave. Guarde API Key e chave HMAC apenas no servidor.
  2. Confira a disponibilidade de network / currency. Administradores mantêm RPC, redes e ativos; comerciantes não precisam implantar scanners.
  3. Mostre payment.amount, payment.address, currency, network e validade da resposta. Os dados QR não são uma imagem.
  4. Verifique a assinatura, elimine duplicatas e salve o evento de forma durável antes de responder HTTP 2xx. Faça a entrega de forma idempotente.

Notas sobre redes e ativos

USDT é aceito em seis redes. O token configurado na BNB Smart Chain usa 18 decimais; as outras cinco usam 6. Isso difere da precisão do valor do pedido. Base usa o USDT em ponte configurado; BoltUtil não transfere fundos entre redes. Escolha a rede do pedido e a versão exata listada: símbolos ou endereços iguais não tornam redes ou tokens intercambiáveis.

  • TRC20 é o código API de TRON e aceita apenas USDT, não currency=USDC. USDT tem 6 decimais de token; preserve o valor retornado pela API. A confirmação segue configuração e varredura, sem garantia de segundos.

Exemplos de solicitação assinada e resposta

25.00 é um valor de exemplo. Use o valor real do pedido e respeite o mínimo do ativo. Endereços, pedidos e hashes são fictícios. O cURL ou programa Java copiado envia uma solicitação: configure suas próprias chaves antes de executar.

create / cURL
# Run against your account only when ready; this sends an API request.
: "${BOLTUTIL_API_KEY:?Set your complete API Key}"
: "${BOLTUTIL_WEBHOOK_SECRET:?Set your Webhook secret}"
timestamp=$(python3 -c 'import time; print(int(time.time()*1000))')
body='{"amount":"25.00","currency":"USDT","network":"TRC20","externalOrderId":"INV-20260209-99281"}'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "$BOLTUTIL_WEBHOOK_SECRET" | awk '{print $NF}')

curl --request POST "https://api.boltutil.com/api/v1/order/create" \
  --header 'Content-Type: application/json' \
  --header "X-Bolt-Key: $BOLTUTIL_API_KEY" \
  --header "X-Bolt-Timestamp: $timestamp" \
  --header "X-Bolt-Signature: $signature" \
  --data-binary "$body"

Endereços, hashes de transações e pedidos são exemplos. Substitua-os pelo seu próprio teste data.

Base URL

PROD
https://api.boltutil.com
Parâmetros completos do pedido →

Confirmação e notificações

Detectar não é confirmar. Use o status e callbacks verificados: PAID aguarda confirmação. CONFIRMED / COMPLETED também podem vir de aceitação manual; confira paidAmount, shortfallAmount e settlementType. COMPLETED não comprova a entrega.

Perguntas sobre integração

Uma moeda suportada está disponível agora?

Não necessariamente. Rede e ativo devem estar habilitados, com carteira e Webhook válidos. A tabela estática não mostra disponibilidade atual.

O cliente pode arredondar o valor?

Pague payment.amount completo. O sistema pode arredondar para cima e acrescentar um pequeno ajuste para distinguir pedidos da mesma carteira. Não trunque nem arredonde por conta própria.

Posso entregar quando o saldo aumentar?

Verifique o resultado confirmado e a autenticidade da notificação. Redes, versões ou valores incorretos e eventos duplicados exigem tratamento. O saldo não substitui o resultado do pedido.