Saltar al contenido principal

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​

HeaderValorDescripción
AuthorizationBearer <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​

CampoTipoDescripción
assets[].assetUSDT | USDCActivo.
assets[].networks[].networkstringRed disponible para el activo (POLYGON, ETHEREUM, TRON, SOLANA).
assets[].networks[].networkFeestring | nullGas 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[].networkFeeAssetUSDT | USDCActivo en el cual se cobra el gas.
buy.enabledbooleanCompra habilitada para la empresa.
buy.minAmountstringCompra mínima, en BRL.
buy.maxAmountPerTxstring | nullMonto máximo por compra, en BRL.
buy.dailyCapstring | nullLímite diario de compra, en BRL.
buy.dailyRemainingstring | nullMonto restante del límite diario, en BRL.
buy.totpThresholdstring | nullUsado solo en el panel. No aplica a la API.
buy.autoApprovalbooleantrue = la compra no pasa por la cola de aprobación de XGate.
buy.addresses[]arrayDirecciones guardadas de la empresa: addressId, alias, address, network, source (MANUAL | CARD), addedAt, activeAt. El addressId puede usarse como destino en la compra.
savedAddressesOnly.enabledbooleanBloqueo "solo direcciones guardadas", activado por la empresa en el panel.
savedAddressesOnly.newAddressHoldHoursintegerPeríodo de retención, en horas, para una dirección nueva cuando el bloqueo está activo (24).
quoteTtlSecondsintegerValidez de la cotización, en segundos (30).
sale.enabledbooleanVenta habilitada para la empresa por XGate.
sale.statusstringDISABLED · PROVISIONING · READY. La primera consulta de una empresa habilitada genera las direcciones: permanece en PROVISIONING unos minutos y pasa a READY.
sale.minAmountobjectVenta mínima por activo (USDT, USDC), en la cantidad del activo.
sale.depositAddresses[]arrayDirecció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​

StatusReason
400VALIDATION_FAILED
401UNAUTHORIZED
403PERMISSION_DENIED, COMPANY_MISMATCH, COMPANY_BLOCKED, ALLOWED_IPS_REQUIRED, CLIENT_IP_NOT_ALLOWED, CRYPTO_DISABLED, CRYPTO_API_DISABLED
503CONFIGURATION_UNAVAILABLE, SERVICE_OVERLOADED

Vea el significado de cada código en Códigos de Error.


Integración​

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
}
})()