Consultar Opciones
Devuelve lo que su empresa puede hacer ahora: activos y redes habilitados, límites de compra, direcciones guardadas y validez de la cotización. Utilice esta ruta antes de cotizar o comprar.
Endpoint
- Método: GET
URL del Endpoint
https://api.xgateglobal.com/crypto/options
Solicitud
Headers Obligatorios
| Header | Valor | Descripción |
|---|---|---|
Authorization | Bearer <su_token> | El token JWT obtenido en el login. |
Esta ruta no recibe parámetros.
Respuestas (Responses)
Éxito (200 OK)
{
"assets": [
{
"asset": "USDT",
"networks": [
{ "network": "TRON", "networkFee": "0.012000", "networkFeeAsset": "USDT" },
{ "network": "POLYGON", "networkFee": "0.003000", "networkFeeAsset": "USDT" }
]
},
{
"asset": "USDC",
"networks": [
{ "network": "SOLANA", "networkFee": "0.002000", "networkFeeAsset": "USDC" }
]
}
],
"buy": {
"enabled": true,
"minAmount": "50.00",
"maxAmountPerTx": "100000.00",
"dailyCap": "500000.00",
"dailyRemaining": "498500.00",
"totpThreshold": null,
"autoApproval": false,
"addresses": [
{
"addressId": "66f1a2b3c4d5e6f708192a3b",
"alias": "Billetera tesorería",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"network": "TRON",
"source": "MANUAL",
"addedAt": "2026-10-01T12:00:00.000Z",
"activeAt": "2026-10-01T12:00:00.000Z"
}
]
},
"savedAddressesOnly": {
"enabled": false,
"newAddressHoldHours": 24
},
"quoteTtlSeconds": 30,
"sale": {
"enabled": false,
"status": "DISABLED",
"minAmount": { "USDT": null, "USDC": null },
"depositAddresses": []
}
}
Descripción de los Campos
| Campo | Tipo | Descripción |
|---|---|---|
assets[].asset | USDT | USDC | Activo. |
assets[].networks[].network | string | Red disponible para el activo (POLYGON, ETHEREUM, TRON, SOLANA). |
assets[].networks[].networkFee | string | null | Gas estimado de la red, en el propio activo (6 decimales), descontado de la entrega. null cuando no esté disponible o cuando la regla de la empresa sea porcentual. |
assets[].networks[].networkFeeAsset | USDT | USDC | Activo en el cual se cobra el gas. |
buy.enabled | boolean | Compra habilitada para la empresa. |
buy.minAmount | string | Compra mínima, en BRL. |
buy.maxAmountPerTx | string | null | Monto máximo por compra, en BRL. |
buy.dailyCap | string | null | Límite diario de compra, en BRL. |
buy.dailyRemaining | string | null | Monto restante del límite diario, en BRL. |
buy.totpThreshold | string | null | Usado solo en el panel. No aplica a la API. |
buy.autoApproval | boolean | true = la compra no pasa por la cola de aprobación de XGate. |
buy.addresses[] | array | Direcciones guardadas de la empresa: addressId, alias, address, network, source (MANUAL | CARD), addedAt, activeAt. El addressId puede usarse como destino en la compra. |
savedAddressesOnly.enabled | boolean | Bloqueo "solo direcciones guardadas", activado por la empresa en el panel. |
savedAddressesOnly.newAddressHoldHours | integer | Período de retención, en horas, para una dirección nueva cuando el bloqueo está activo (24). |
quoteTtlSeconds | integer | Validez de la cotización, en segundos (30). |
sale.enabled | boolean | Venta habilitada para la empresa por XGate. |
sale.status | string | DISABLED · PROVISIONING · READY. La primera consulta de una empresa habilitada genera las direcciones: permanece en PROVISIONING unos minutos y pasa a READY. |
sale.minAmount | object | Venta mínima por activo (USDT, USDC), en la cantidad del activo. |
sale.depositAddresses[] | array | Dirección fija de la empresa para cada par asset × network (asset, network, address). Vacío mientras sale.enabled sea false. Vea Vender Cripto. |
Bloqueo de direcciones guardadas
Con savedAddressesOnly.enabled = true, la compra solo acepta direcciones de buy.addresses[], y una dirección recién registrada solo puede utilizarse después de activeAt (período de retención de newAddressHoldHours).
Errores Comunes
| Status | Reason |
|---|---|
| 400 | VALIDATION_FAILED |
| 401 | UNAUTHORIZED |
| 403 | PERMISSION_DENIED, COMPANY_MISMATCH, COMPANY_BLOCKED, ALLOWED_IPS_REQUIRED, CLIENT_IP_NOT_ALLOWED, CRYPTO_DISABLED, CRYPTO_API_DISABLED |
| 503 | CONFIGURATION_UNAVAILABLE, SERVICE_OVERLOADED |
Vea el significado de cada código en Códigos de Error.
Integración
- Node.js
Ejemplo de integración utilizando la biblioteca Axios en Node.js.
npm install axios
const axios = require("axios");
(async () => {
const email = "your_email@domain.com";
const password = "**********";
try {
const url_api = "https://api.xgateglobal.com";
const login = await axios.post(`${url_api}/auth/token`, { email, password });
const { data } = await axios.get(`${url_api}/crypto/options`, {
headers: { "Authorization": `Bearer ${login.data.token}` }
});
console.log(data.assets, data.buy); // Response
} catch (error) {
console.log(error.response.data.reason, error.response.data.message); // Error
}
})()