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
/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": 1155882352,
"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. |
/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. |
/energy/order
Clave APIDescripció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. |
/account/recharge-address
Clave APIDescripció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"
}
/account/recharge-address/regenerate
Clave APIDescripción
Sustituye su dirección de recarga por una nueva. Permitido una vez al día.
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. |
/energy/order/api/{id}
Clave APIDescripció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.
Especificación OpenAPI
La especificación completa de la API está disponible en formato OpenAPI/Swagger para una integración avanzada y herramientas automatizadas:
Para LLM y agentes de programación
Una referencia compacta de la API en formato llms.txt, pensada para LLM y agentes de programación: endpoints, autenticación, estados de los pedidos y códigos de error. Pase este enlace a su agente:
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.