API del marketplace de energía Tron

Bienvenido a la documentación oficial de nuestra API del marketplace de energía Tron. Aquí encontrarás detalles sobre los endpoints públicos que te permiten:

  • Obtener los parámetros actuales de la plataforma (precio de la energía, suministro disponible, tamaño mínimo de pedido y dirección de depósito).
  • Comprobar el estado de un pedido de compra de energía específico mediante el hash de depósito.
  • Comprar energía mediante programación desde un saldo prepago, sin enviar un depósito por cada pedido.

Los dos endpoints GET siguientes son públicos y no requieren autenticación. La compra de energía requiere una clave API: genérela en su panel y envíela en la cabecera X-Api-Key. Ajustes del comprador

Envíe la clave solo en la cabecera. Las cadenas de consulta acaban en los registros del servidor.

Resumen de endpoints

GET https://api.tron.discount/energy/info

Devuelve la configuración en vivo de la plataforma, como si el sistema está activo, cuánta energía hay disponible, el precio de la energía, la dirección de depósito, etc.

GET https://api.tron.discount/energy/order/{depositHash}

Devuelve el estado de un pedido de compra específico, incluidos los hash de transacción y los detalles de delegación.

POST https://api.tron.discount/energy/order Clave API

Compra energía con su saldo prepago. No hace falta ninguna transacción de depósito.

GET https://api.tron.discount/energy/order/api/{id} Clave API

Devuelve el estado de un pedido realizado por la API, según su identificador numérico.

Endpoints detallados

GET

/energy/info

Descripción

Proporciona parámetros como el precio actual de la energía, cuánta energía hay disponible, la dirección de depósito y otra información (p. ej., la hora del servidor, si el sistema está activo).

Solicitud

curl -X GET https://api.tron.discount/energy/info

Respuesta

{
  "isSystemActive": true,
  "maximumEnergyAvailable": 1156075832,
  "energyUnitPriceInSun": 50,
  "minEnergyOrderAmount": 32000,
  "depositAddress": "TSD2AWZeyvE4CFvSfYZ1wiPhKoXxWurLUe",
  "serverTime": "2025-04-05T15:24:05.785059Z"
}

Descripción de los campos

Campo Tipo Descripción
isSystemActive Boolean Indica si el marketplace está operativo.
maximumEnergyAvailable Integer Número total de unidades de energía disponibles actualmente para comprar.
energyUnitPriceInSun Integer El coste (en SUN) por unidad de energía. (1 TRX = 1.000.000 SUN)
minEnergyOrderAmount Integer Cantidad mínima de energía (unidades) para un solo pedido.
depositAddress String Dirección Tron a la que los compradores envían TRX. El sistema delega automáticamente la energía al remitente una vez recibido el pago.
serverTime String Marca de tiempo del servidor en formato ISO.
GET

/energy/order/{depositHash}

Descripción

Recupera el estado de un pedido de compra asociado al hash de transacción de depósito proporcionado.

Solicitud

curl -X GET https://api.tron.discount/energy/order/d663302b6a303053b8de9a018ea14cbaca9d0cf0e38a498cc86d04748e3bec14

Respuesta

{
  "depositHash": "d663302b6a303053b8de9a018ea14cbaca9d0cf0e38a498cc86d04748e3bec14",
  "delegationHash": "b9458d06b1f05ff5d1b2448afa6efb548f7792dd6997ab9cb4e2ce6fbbd560a0",
  "refundHash": null,
  "status": "ResourcesDelegated",
  "created": "2024-06-01T14:38:32",
  "executed": "2024-06-01T14:40:10",
  "targetAddress": "TDqSquXBgUCLYvYC4XZgrprLK589dkhSCf",
  "depositAmount": 3.89,
  "energyAmount": 32416
}

Descripción de los campos

Campo Tipo Descripción
depositHash String Hash de transacción del depósito (TRX enviados a la plataforma).
delegationHash String Hash de transacción de la delegación on-chain (si la hay).
refundHash String Hash de transacción de cualquier reembolso (si corresponde; de lo contrario, null).
status String Estado del pedido (p. ej., «ResourcesDelegated», «Refunded», «Pending», etc.). Consulta las descripciones de estado más abajo.
created String Marca de tiempo de cuando se detectó el pedido por primera vez.
executed String Marca de tiempo de cuando el sistema delegó o procesó el pedido correctamente.
targetAddress String Dirección Tron que recibió la energía delegada.
depositAmount Number Cantidad de TRX recibida de la transacción de depósito.
energyAmount Integer Cantidad de unidades de energía delegadas a la dirección de destino.

Valores de estado del pedido

Valores posibles para el campo status:
Estado Descripción
Created El pedido se ha creado pero aún no se ha procesado.
Pending Pago recibido y pedido en proceso.
ResourcesDelegated La energía se ha delegado correctamente a la dirección de destino.
RefundRequested Se ha solicitado un reembolso pero aún no se ha procesado.
PendingRefund El reembolso se está procesando.
Refunded Los TRX se han reembolsado al remitente.
POST

/energy/order

Clave API

Descripción

Crea un pedido y descuenta su coste del saldo prepago. A diferencia del depósito, no se requiere ninguna transferencia on-chain por pedido.

Recargue el saldo enviando TRX a su dirección de recarga personal, que aparece en su panel. Ajustes del comprador

Solicitud

curl -X POST https://api.tron.discount/energy/order \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "receiveAddress": "TW7X17...uCntDs2",
    "resourceValue": 32000,
    "rentDurationInHours": 1,
    "clientOrderId": "order-2024-001"
  }'

Campos de la solicitud

Campo Tipo Descripción
receiveAddress String Dirección Tron que recibirá la energía delegada. Obligatorio.
resourceValue Integer Cantidad de unidades de energía a comprar. Obligatorio, como mínimo minEnergyOrderAmount.
rentDurationInHours Integer Duración del alquiler en horas. Opcional; el único valor admitido es 1, que además es el valor por defecto.
clientOrderId String Su propio número de pedido, hasta 64 caracteres. Opcional pero muy recomendable: repetir una solicitud con el mismo valor devuelve el pedido original en lugar de cobrarle dos veces.

Respuesta

{
  "id": 1024,
  "status": "Created",
  "chargedInSun": 1600000,
  "priceInSun": 50,
  "balance": 96.920000
}

Descripción de los campos

Campo Tipo Descripción
id Integer Identificador del pedido. Úselo para consultar su estado más adelante.
status String Estado del pedido, con los mismos valores que el flujo de depósito. Un pedido recién aceptado es «Created».
chargedInSun Integer Importe cobrado por este pedido, en SUN.
priceInSun Integer Precio por unidad de energía fijado en el momento de aceptar el pedido.
balance Number Saldo prepago restante en TRX tras el cobro.

Errores

Un pedido rechazado devuelve un cuerpo JSON con un código estable legible por máquina y un mensaje legible por humanos. Base su lógica en el código: el mensaje no forma parte del contrato y puede cambiar en cualquier momento.

{
  "code": "insufficient_balance",
  "message": "Insufficient balance: 1.500000 TRX, required 4 TRX"
}
HTTP code Descripción
400 insufficient_balance Saldo prepago insuficiente para este pedido. Recargue su dirección y repita la solicitud con el mismo clientOrderId. No se cobró nada.
400 invalid_address receiveAddress no es una dirección Tron válida. Se verifica la suma de control base58check, de modo que una errata se rechaza en lugar de delegarse al vacío.
400 invalid_resource_value resourceValue está por debajo de minEnergyOrderAmount o por encima del máximo permitido para un solo pedido.
400 invalid_rent_duration rentDurationInHours no es 1. La plataforma solo alquila energía por una hora.
400 invalid_client_order_id clientOrderId supera los 64 caracteres.
400 invalid_request Falta el cuerpo de la solicitud o no se puede leer.
401 — La clave falta, está revocada o es desconocida.
503 system_inactive El sistema no acepta pedidos en este momento. Vuelva a intentarlo más tarde; no se cobró nada.
GET

/account/recharge-address

Clave API

Descripción

Devuelve tu dirección personal de recarga. ready es false mientras la dirección aún no se haya emitido: para una cuenta recién creada o justo después de una regeneración que no terminó a tiempo.

Solicitud

curl -X GET https://api.tron.discount/account/recharge-address \
  -H "X-Api-Key: tde_your_key_here"

Respuesta

{
  "address": "TQmZ1p...c8XA1",
  "ready": true,
  "nextChangeAllowedAt": "2026-09-12T10:00:00Z"
}
POST

/account/recharge-address/regenerate

Clave API

Descripción

Sustituye su dirección de recarga por una nueva. Permitido una vez al día.

La dirección antigua sigue aceptando depósitos durante 180 días tras el cambio. Las transferencias que lleguen después NO se acreditan automáticamente.

Solicitud

curl -X POST https://api.tron.discount/account/recharge-address/regenerate \
  -H "X-Api-Key: tde_your_key_here"

Respuesta

{
  "newAddress": "TAqM7b...pkTdZx",
  "oldAddress": "TQmZ1p...c8XA1",
  "oldAddressActiveUntil": "2027-03-10T10:00:00Z",
  "nextChangeAllowedAt": "2026-09-12T10:00:00Z"
}

Errores

Código HTTP code Significado
429 address_change_too_soon Ha pasado menos de un día desde el cambio anterior. La cabecera Retry-After indica cuántos segundos esperar.
GET

/energy/order/api/{id}

Clave API

Descripción

Devuelve el estado de un pedido realizado por la API. Los pedidos pagados con el saldo no tienen hash de depósito, por lo que se identifican con el id devuelto al aceptarlos.

Solo son visibles sus propios pedidos: un id de otra cuenta devuelve 404.

Solicitud

curl -X GET https://api.tron.discount/energy/order/api/1024 \
  -H "X-Api-Key: YOUR_API_KEY"

Respuesta

{
  "id": 1024,
  "clientOrderId": "order-2024-001",
  "status": "ResourcesDelegated",
  "receiveAddress": "TW7X17...uCntDs2",
  "resourceValue": 32000,
  "rentDurationInHours": 1,
  "chargedInSun": 1600000,
  "created": "2025-04-05T15:24:05.785059Z",
  "updated": "2025-04-05T15:24:41.120344Z"
}

Los valores de estado son los mismos que en el flujo de depósito, indicados arriba.

Notas adicionales

Autenticación

Los endpoints GET de información de la plataforma y de pedidos por depósito siguen siendo públicos y no necesitan clave. Comprar energía con el saldo requiere una clave API en la cabecera X-Api-Key.

Generar una clave nueva invalida de inmediato la anterior, y la clave se muestra una sola vez.

Dos formas de pedir

Enviar TRX a la dirección de depósito crea un pedido de forma implícita y no necesita clave. Pedir desde el saldo prepago requiere una llamada a la API y ninguna transferencia on-chain. Ambos se procesan por la misma cadena y comparten los mismos estados.

Unidades de energía y SUN

Recuerda: 1 TRX = 1.000.000 SUN. Así que si energyUnitPriceInSun es 50, eso significa 0.000050 TRX por unidad de energía.

Creación implícita de pedidos

Un «pedido» se crea automáticamente cada vez que se envían TRX a la dirección de depósito. Usa el hash de transacción del depósito para hacer un seguimiento del estado.

Hora del servidor

Las horas se indican en formato ISO 8601 (UTC). Ten en cuenta las zonas horarias al compararlas con las horas locales.