Pular para o conteúdo principal

Convenções da API de Cripto

As regras abaixo valem para todas as rotas /crypto/*.


Autenticação​

Base URL e autenticação iguais ao resto da API:

Base URL
https://api.xgateglobal.com
HeaderValorDescrição
AuthorizationBearer <seu_token>Token obtido no login.
Accept-Languagept-BR ou en(Opcional) Idioma das mensagens de erro. Padrão: pt-BR.

A empresa é sempre a do token: não há parâmetro de empresa nas rotas.


IPs permitidos​

A empresa precisa ter a lista de IPs permitidos cadastrada no painel da XGate. A mesma lista usada para saque vale para toda a API de cripto.

SituaçãoResposta
Empresa sem lista de IPs403 ALLOWED_IPS_REQUIRED
Requisição de um IP fora da lista403 CLIENT_IP_NOT_ALLOWED

Valores em dinheiro​

Dinheiro é sempre string decimal

Todo valor monetário trafega como string decimal, nunca como número: "amount": "1500.00". Enviar número resulta em 400 AMOUNT_MUST_BE_STRING.

GrandezaCasas decimaisArredondamento
BRL2Para cima
USDT / USDC6Para baixo (entrega)
rate (cotação)8—

Datas seguem ISO 8601 em UTC (ex: 2026-10-13T14:03:52.114Z).


Formato de erro​

Todo erro vem no mesmo envelope:

{
"reason": "INSUFFICIENT_BALANCE",
"message": "Saldo insuficiente para a compra.",
"traceId": "1-6710b8e4-3c1f2a9b7d5e4f6a8b9c0d1e"
}
CampoDescrição
reasonCódigo estável do erro. Use este campo na sua lógica.
messageTexto legível, em pt-BR por padrão ou em inglês com Accept-Language: en. Pode mudar.
traceIdProtocolo para informar ao suporte da XGate.

A lista completa está em Códigos de Erro.


Idempotência​

A compra é idempotente pelo campo externalId (não existe header Idempotency-Key). Veja Comprar Cripto.


Limites​

SituaçãoResposta
Excesso de chamadas por minuto em cotação, estimativa e compra429 RATE_LIMITED com header Retry-After
Corpo da requisição acima de 256 KiB413 PAYLOAD_TOO_LARGE
Serviço sobrecarregado503 SERVICE_OVERLOADED com Retry-After

Respeite o Retry-After (em segundos) antes de tentar de novo.