Perguntas Frequentes
Onde ocorrem os testes de integração?
Todos os testes de integração são realizados diretamente em nosso ambiente de Produção.
Salvo exceções previamente acordadas em contrato (desativação da validação de titularidade para sua empresa), é obrigatório que o documento (CPF/CNPJ) informado na criação do cliente seja válido e pertença à exata mesma pessoa ou empresa que realizará as transferências bancárias. Divergências de titularidade farão com que transações de teste (tanto de depósito quanto de saque) sejam rejeitadas.
Quais são os valores mínimos para depósitos e saques?
Para garantir o sucesso das transações, observe os limites mínimos exigidos, que variam conforme o canal utilizado:
💻 Operações via API
- Depósitos e Saques Fiat (BRL): R$ 0,20
- Depósitos com conversão (BRL ➔ USDT/USDC): R$ 0,20
- Saques com conversão (USDT/USDC ➔ BRL): 0.1 USDT/USDC
- Saques Crypto ➔ Crypto (Mínimo da Rede):
- Solana: 1 USDT/USDC
- Tron: 10 USDT
- Polygon: 10 USDT/USDC
- Ethereum (ERC-20): 50 USDT/USDC
📊 Operações via Painel (Dashboard)
- Saques Fiat (BRL ➔ BRL): R$ 0,20
- Saques com conversão (BRL ➔ USDT/USDC): R$ 250,00 (independente da rede)
- Saques Crypto ➔ Crypto: Seguem os mesmos limites mínimos exigidos pelas redes na API.
👉 Nota Importante: A XGate não oferece suporte a conversões diretas entre criptomoedas (ex: USDT para USDC ou vice-versa), seja através da API ou do Painel.
Como fazer um depósito de moeda fiduciária?
PASSO 1Autenticação
Realize o login para obter seu token de acesso. Este token deve ser enviado no Header de todas as requisições seguintes.
Authorization: Bearer eyJhbGci...
PASSO 2Criar ou Identificar o Cliente
Envie os dados do pagador para a rota [POST] /customer. Se o cliente já existir, a API retornará o registro com o ID atual.
{
"name": "João Silva",
"phone": "5511999999999",
"email": "joao@email.com",
"document": "12345678909"
}
PASSO 3Selecionar Moeda Fiduciária
Consulte as moedas disponíveis para sua conta em [GET] /deposit/company/currencies e utilize o objeto retornado.
[
{
"_id": "6728f0******************",
"name": "BRL",
"type": "PIX",
"symbol": "R$"
}
]
PASSO 4Gerar Pedido de Depósito
Envie o valor, o ID do cliente e o objeto da moeda para [POST] /deposit para receber o QR Code Pix.
{
"amount": 10,
"customerId": "675792************",
"currency": {
"_id": "67acba38************",
"name": "BRL",
"type": "PIX"
}
}
👉 Para detalhes dos campos e erros, veja a página de Criar Depósito Pix.
Como fazer um saque de moeda fiduciária?
PASSO 1Identificar o Cliente e a Moeda
Após criar o cliente, consulte as moedas permitidas para saque em
PASSO 2Criar a solicitação de saque
Envie os dados para a rota [GET] /withdraw/company/currencies.
PASSO 3Criar a solicitação de saque
Envie os dados para a rota [POST] /withdraw informando o valor, customerId, os dados da moeda e a chave Pix no objeto
{
"amount": 1,
"customerId": "67594a***************",
"currency": {
"_id": "67339fa***************",
"name": "BRL",
"type": "PIX"
},
"pixKey": {
"key": "02*********",
"type": "CPF"
}
}
👉 Para detalhes dos campos e erros, veja a página de Criar Saque Pix.
Como fazer um depósito de criptomoeda?
PASSO 1Criação do Cliente
Registre o usuário final em [POST] /customer para obter seu identificador único.
PASSO 2Buscar PublicKey da Carteira
Solicite as chaves públicas (wallets) vinculadas ao cliente em [GET] /crypto/customer/CLIENT_ID/wallet.
👉 Para detalhes dos campos e erros, veja a página de Criar Depósito Crypto.
Como fazer um saque de criptomoeda?
Este fluxo permite enviar criptomoedas do seu saldo XGate diretamente para uma carteira externa (Ex: Metamask, Ledger ou Exchange).
PASSO 1Criar ou Identificar o Cliente
Certifique-se de que o cliente recebedor está cadastrado na rota [POST] /customer para obter o customerId.
{
"name": "Client Name",
"document": "12345678909"
}
PASSO 2Buscar Redes e Criptomoedas disponíveis
Consulte as redes blockchain habilitadas para saque em [GET] /withdraw/company/blockchain-networks.
[
{
"_id": "69ea849098**************",
"chain": "Solana",
"name": "Solana",
"symbol": "SOL"
},
]
E busque os dados da criptomoeda desejada na rota [GET] /withdraw/company/cryptocurrencies.
[
{
"_id": "6733a2****************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "202*********************",
"createdDate": "202*********************",
"__v": 0
}
]
PASSO 3Criar a solicitação de saque
Envie o payload para [POST] /withdraw. Note que a wallet de destino é informada no final do objeto, após as definições de rede.
{
"amount": 2,
"customerId": "673238****************",
"cryptocurrency": {
"_id": "6793f5****************",
"name": "USDT",
"symbol": "USDT"
},
"blockchainNetwork": {
"_id": "69ea849098**************",
"chain": "Solana",
"name": "Solana",
"symbol": "SOL"
},
"wallet": "0x742d35******************************"
}
A resposta confirmará o status como PENDING.
👉 Para detalhes dos campos e erros, veja a página de Criar Saque Externo.
Como fazer um depósito com moeda fiduciária e converter para criptomoeda?
Este fluxo é ideal para gateways que desejam receber pagamentos em Pix (BRL) e ter o saldo creditado automaticamente em Criptomoedas (ex: USDT) na sua conta XGate.
PASSO 1Autenticação e Cliente
Certifique-se de estar autenticado e possuir o customerId do pagador gerado na rota [POST] /customer.
PASSO 2Buscar Moeda Fiduciária (Origem)
Consulte a moeda que o cliente usará para pagar em [GET] /deposit/company/currencies e guarde o objeto (ex: BRL/PIX).
{
"_id": "6728f0******************",
"name": "BRL",
"symbol": "R$",
"type": "PIX"
}
PASSO 3Buscar Criptomoeda (Destino)
Consulte a criptomoeda que você deseja receber em [GET] /deposit/company/cryptocurrencies e guarde o objeto (ex: USDT).
{
"_id": "67339b******************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether"
}
PASSO 4Criar o pedido de depósito e conversão
Envie o valor, o ID do cliente e ambos os objetos de moeda para a rota [POST] /deposit.
{
"amount": 100,
"customerId": "677e15******************",
"currency": {
"_id": "6728f0******************",
"name": "BRL",
"type": "PIX"
},
"cryptocurrency": {
"_id": "67339b******************",
"name": "USDT",
"symbol": "USDT"
}
}
Resposta: A API retornará o status WAITING_PAYMENT e o code do Pix para o cliente pagar. Assim que compensado, a conversão para Crypto é instantânea.
👉 Para detalhes dos campos e erros, veja a página de Criar Depósito convertendo para Crypto.
Como fazer um saque com criptomoeda e converter para moeda fiduciária?
Este fluxo permite que você utilize seu saldo em Criptomoedas (ex: USDT) para realizar um pagamento via Pix (BRL) para um cliente final, com a conversão de câmbio automática.
PASSO 1Identificar o Cliente e Criar Chave Pix
Certifique-se de possuir o customerId e cadastre a chave Pix de destino para este cliente na rota [POST] /pix/customer/ID_CLIENTE/key.
{
"key": "12345678909",
"type": "CPF"
}
⚠️ IMPORTANTE: O retorno desta rota fornecerá o _id da chave Pix, necessário para o passo final.
PASSO 2Simular a Conversão (Opcional)
Para saber o valor exato em BRL antes de efetivar o saque, envie o objeto completo da criptomoeda para [POST] /withdraw/conversion/brl/pix.
{
"amount": 10,
"cryptocurrency": {
"_id": "6733a2******************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "202*********************",
"createdDate": "202*********************",
"__v": 0
}
}
Resposta do servidor:
{
"amount": 51.72,
"currency": "R$",
"cryptoToFiatExchangeRate": "R$ 5.172"
}
PASSO 3Criar o pedido de saque com conversão
Envie o payload para [POST] /withdraw incluindo obrigatoriamente os _id de cada recurso buscado nos passos anteriores.
{
"amount": 10,
"customerId": "68e7b8******************",
"currency": {
"_id": "6728f0******************",
"name": "BRL",
"type": "PIX"
},
"cryptocurrency": {
"_id": "6733a2******************",
"name": "USDT",
"symbol": "USDT"
},
"pixKey": {
"_id": "692c81******************",
"key": "12345678909",
"type": "CPF"
}
}
A XGate debitará 10 USDT do seu saldo e enviará R$ 51,72 via Pix para a chave informada.
👉 Para detalhes dos campos e erros, veja a página de Criar Saque Crypto convertendo para FIAT.
Como criar um parceiro no painel administrativo?
Se você prefere não utilizar a API para criar subcontas, pode realizar o processo manualmente através do Backoffice da XGate.
PASSO 1Acessar o Menu Parceiros
No menu lateral esquerdo do seu painel, localize e clique na opção Parceiros.
PASSO 2Acessar a Lista
Dentro da seção, clique no botão Ver lista de parceiros localizado no topo da página.
PASSO 3Iniciar Cadastro
Na tela de listagem, clique no botão azul + Cadastrar parceiro.
PASSO 4Configuração e Salvamento
Um formulário será exibido. Preencha todos os dados da nova empresa (Subconta) e, principalmente, as regras de taxas (Fees) que deseja aplicar. Ao finalizar, clique no botão Salvar no final do formulário.
✅ Resultado: O parceiro receberá as credenciais de acesso por e-mail e você poderá acompanhar o volume transacionado por ele em tempo real.
👉 Aprenda a automatizar isso em Criar Subconta.
Quais são os códigos de status (HTTP) retornados pela API?
A API da XGate utiliza padrões REST e retorna códigos de status HTTP convencionais para indicar o sucesso ou a falha de uma requisição. Abaixo estão os principais códigos que você encontrará:
- 200 OK: A requisição foi recebida, processada e retornou com sucesso.
- 201 Created: Sucesso! O recurso (ex: um novo cliente, depósito ou saque) foi criado no servidor.
- 400 Bad Request: Erro de validação. O corpo da sua requisição está mal formatado ou faltando campos obrigatórios.
- 401 Unauthorized: Falha de Autenticação. O seu
Token Bearernão foi enviado no Header, está expirado ou é inválido. - 403 Forbidden: Sem permissão. Você está autenticado, mas a sua conta não tem privilégios para executar esta ação específica.
- 404 Not Found: O recurso que você tentou acessar ou buscar (ex: um ID de transação específico) não existe.
- 500 Internal Server Error: Falha interna no servidor da XGate. Caso isso ocorra, o problema é do nosso lado.
💡 Dica para debugging: Sempre que a API retornar um erro (série 400 ou 500), o corpo da resposta trará um objeto JSON contendo a propriedade message com os detalhes exatos do que causou a falha.