Preguntas Frecuentes
¿Dónde se realizan las pruebas de integración?
Todas las pruebas de integración se realizan directamente en nuestro Entorno de Producción.
A menos que se acuerde lo contrario en el contrato (desactivando la validación de titularidad para su empresa), el documento (CPF/CNPJ) proporcionado durante la creación del cliente debe ser válido y pertenecer exactamente a la misma persona o empresa que realiza las transferencias bancarias. Las discrepancias de titularidad causarán el rechazo de las transacciones de prueba (tanto depósitos como retiros).
¿Cuáles son los valores mínimos para depósitos y retiros?
Para asegurar transacciones exitosas, observe los límites mínimos requeridos, que varían según el canal utilizado:
💻 Operaciones vía API
- Depósitos y Retiros Fiat (BRL): R$ 0,20
- Depósitos con conversión (BRL ➔ USDT/USDC): R$ 0,20
- Retiros con conversión (USDT/USDC ➔ BRL): 0.1 USDT/USDC
- Retiros Crypto ➔ Crypto (Mínimo de la Red):
- Solana: 1 USDT/USDC
- Tron: 10 USDT
- Polygon: 10 USDT/USDC
- Ethereum (ERC-20): 50 USDT/USDC
📊 Operaciones vía Dashboard
- Retiros Fiat (BRL ➔ BRL): R$ 0,20
- Retiros con conversión (BRL ➔ USDT/USDC): R$ 250,00 (independientemente de la red)
- Retiros Crypto ➔ Crypto: Siguen los mismos límites mínimos exigidos por las redes en la API.
👉 Nota Importante: XGate no soporta conversiones directas entre criptomonedas (ej., USDT a USDC o viceversa), ni a través de la API ni en el Dashboard.
¿Cómo hacer un depósito en moneda fiat?
PASO 1Autenticación
Inicie sesión para obtener su token de acceso. Este token debe enviarse en el Header de todas las solicitudes posteriores.
Authorization: Bearer eyJhbGci...
PASO 2Crear o Identificar al Cliente
Envíe los datos del pagador a la ruta [POST] /customer. Si el cliente ya existe, la API devolverá el registro con el ID actual.
{
"name": "João Silva",
"phone": "5511999999999",
"email": "joao@email.com",
"document": "12345678909"
}
PASO 3Seleccionar Moneda Fiat
Consulte las monedas disponibles para su cuenta en [GET] /deposit/company/currencies y utilice el objeto devuelto.
[
{
"_id": "6728f0******************",
"name": "BRL",
"type": "PIX",
"symbol": "R$"
}
]
PASO 4Generar Solicitud de Depósito
Envíe el monto, el ID del cliente y el objeto de la moneda a [POST] /deposit para recibir el Código QR de Pix.
{
"amount": 10,
"customerId": "675792************",
"currency": {
"_id": "67acba38************",
"name": "BRL",
"type": "PIX"
}
}
👉 Para detalles de los campos y errores, consulte la página Crear Depósito Pix.
¿Cómo hacer un retiro en moneda fiat?
PASO 1Autenticación
Inicie sesión para obtener su token de acceso. Es obligatorio en el Header para generar el retiro.
PASO 2Buscar Monedas para Retiro
Consulte las monedas habilitadas para su cuenta a través de la ruta [GET] /withdraw/company/currencies.
PASO 3Crear la solicitud de retiro
Envíe los datos a la ruta [POST] /withdraw proporcionando el monto, customerId, los datos de la moneda y la llave Pix en el objeto
{
"amount": 1,
"customerId": "67594a***************",
"currency": {
"_id": "67339fa***************",
"name": "BRL",
"type": "PIX"
},
"pixKey": {
"key": "02*********",
"type": "CPF"
}
}
👉 Para detalles de los campos y errores, consulte la página Crear Retiro Pix.
¿Cómo hacer un depósito en criptomoneda?
PASO 1Creación de Cliente
Registre al usuario final en [POST] /customer para obtener su identificador único.
PASO 2Obtener Clave Pública (Wallet)
Solicite las claves públicas (wallets) vinculadas al cliente en [GET] /crypto/customer/CLIENT_ID/wallet.
👉 Para detalles de los campos y errores, consulte la página Crear Depósito Crypto.
¿Cómo hacer un retiro de criptomoneda??
Este flujo le permite enviar criptomonedas desde su saldo de XGate directamente a una billetera externa (ej., Metamask, Ledger o Exchange).
PASO 1Crear o Identificar al Cliente
Asegúrese de que el cliente receptor esté registrado en la ruta [POST] /customer para obtener el customerId.
{
"name": "Client Name",
"document": "12345678909"
}
PASO 2Obtener Redes y Criptomonedas Disponibles
Consulte las redes blockchain habilitadas para retiros en [GET] /withdraw/company/blockchain-networks.
[
{
"_id": "69ea849098**************",
"chain": "Solana",
"name": "Solana",
"symbol": "SOL"
},
]
Y obtenga los datos de la criptomoneda deseada en la ruta [GET] /withdraw/company/cryptocurrencies.
[
{
"_id": "6733a2****************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "202*********************",
"createdDate": "202*********************",
"__v": 0
}
]
PASO 3Crear la solicitud de retiro
Envíe el payload a [POST] /withdraw. Tenga en cuenta que la billetera de destino se proporciona al final del objeto, después de las definiciones de la red.
{
"amount": 2,
"customerId": "673238****************",
"cryptocurrency": {
"_id": "6793f5****************",
"name": "USDT",
"symbol": "USDT"
},
"blockchainNetwork": {
"_id": "69ea849098**************",
"chain": "Solana",
"name": "Solana",
"symbol": "SOL"
},
"wallet": "0x742d35******************************"
}
La respuesta confirmará el estado como PENDING.
👉 Para detalles de los campos y errores, consulte la página Crear Retiro Externo.
¿Cómo hacer un depósito con moneda fiat y convertir a criptomoneda??
Este flujo es ideal para pasarelas (gateways) que desean recibir pagos por Pix (BRL) y tener el saldo acreditado automáticamente en Criptomonedas (ej: USDT) en su cuenta XGate.
PASO 1Autenticación y Cliente
Asegúrese de estar autenticado y de tener el customerId del pagador generado en la ruta [POST] /customer.
PASO 2Obtener Moneda Fiat (Origen)
Consulte la moneda que el cliente usará para pagar en [GET] /deposit/company/currencies y guarde el objeto (ej: BRL/PIX).
{
"_id": "6728f0******************",
"name": "BRL",
"symbol": "R$",
"type": "PIX"
}
PASO 3Obtener Criptomoneda (Destino)
Consulte la criptomoneda que desea recibir en [GET] /deposit/company/cryptocurrencies y guarde el objeto (ej: USDT).
{
"_id": "67339b******************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether"
}
PASO 4Crear la solicitud de depósito y conversión
Envíe el monto, el ID del cliente y ambos objetos de moneda a la ruta [POST] /deposit.
{
"amount": 100,
"customerId": "677e15******************",
"currency": {
"_id": "6728f0******************",
"name": "BRL",
"type": "PIX"
},
"cryptocurrency": {
"_id": "67339b******************",
"name": "USDT",
"symbol": "USDT"
}
}
Respuesta: La API devolverá el estado WAITING_PAYMENT y el code código Pix para que el cliente pague. Tan pronto como se liquide, la conversión a Crypto es instantánea.
👉 Para detalles de los campos y errores, consulte la página Crear Depósito convirtiendo a Crypto.
¿Cómo hacer un retiro con criptomoneda y convertir a moneda fiat??
Este flujo le permite usar su saldo en Criptomonedas (ej: USDT) para hacer un pago vía Pix (BRL) a un cliente, con conversión de tipo de cambio automática.
PASO 1Identificar al Cliente y Crear Llave Pix
Asegúrese de tener el customerId y registre la llave Pix de destino para este cliente en la ruta [POST] /pix/customer/ID_CLIENTE/key.
{
"key": "12345678909",
"type": "CPF"
}
⚠️ IMPORTANTE: El retorno de esta ruta proporcionará el _id de la llave Pix, necesario para el paso final.
PASO 2Simular la Conversión (Opcional)
Para conocer el monto exacto en BRL antes de finalizar el retiro, envíe el objeto completo de la criptomoneda a [POST] /withdraw/conversion/brl/pix.
{
"amount": 10,
"cryptocurrency": {
"_id": "6733a2******************",
"name": "USDT",
"symbol": "USDT",
"coinGecko": "tether",
"updatedDate": "202*********************",
"createdDate": "202*********************",
"__v": 0
}
}
Respuesta del Servidor:
{
"amount": 51.72,
"currency": "R$",
"cryptoToFiatExchangeRate": "R$ 5.172"
}
PASO 3Crear la solicitud de retiro con conversión
Envíe el payload a [POST] /withdraw incluyendo de forma obligatoria el _id de cada recurso recuperado en los pasos 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"
}
}
XGate cobrará 10 USDT de su saldo y enviará R$ 51.72 vía Pix a la llave proporcionada.
👉 Para detalles de los campos y errores, consulte la página Crear Retiro Crypto convirtiendo a FIAT.
¿Cómo crear un socio en el panel de administración??
Si prefiere no utilizar la API para crear subcuentas, puede realizar el proceso manualmente a través del Backoffice de XGate.
PASO 1Acceder al Menú de Socios
En la barra lateral izquierda de su panel, ubique y haga clic en la opción Partners.
PASO 2Acceder a la Lista
Dentro de la sección, haga clic en el botón Ver lista de partners ubicado en la parte superior de la página.
PASO 3Iniciar Registro
En la pantalla de lista, haga clic en el botón azul + Registrar partner.
PASO 4Configuración y Guardado
Se mostrará un formulario. Complete todos los datos de la nueva empresa (Subcuenta) y especialmente las reglas de tarifas (Fees) que desea aplicar. Al terminar, haga clic en el botón Guardar al final del formulario.
✅ Resultado: El partner recibirá las credenciales en su correo y usted podrá rastrear el volumen transado por él en tiempo real.
👉 Aprenda cómo automatizar esto en Crear Subcuenta.
¿Cuáles son los códigos de estado HTTP devueltos por la API?
La API de XGate sigue los estándares REST y devuelve códigos de estado HTTP convencionales para indicar el éxito o fracaso de una solicitud. A continuación, los principales códigos que 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.
💡 Consejo de depuración (Debugging): Siempre que la API devuelva un error (serie 400 o 500), el cuerpo de la respuesta contendrá un objeto JSON con la propiedad message detallando exactamente qué causó el fallo.