API de alquiler de energía TRON para bots y servicios de backend
Integra el alquiler de energía TRON en bots de Telegram y backends de pago. El flujo REST en 5 pasos: estimación, firma HMAC, cotización, orden y webhooks.
Publicado
Automatizar el alquiler de energía TRON permite que bots de Telegram, procesadores de pagos y servicios de pagos automáticos hagan transferencias de USDT TRC-20 sin gestionar a mano stakes de TRX ni quemar gas. En lugar de construir su propia infraestructura de stake o inmovilizar capital con los bloqueos de 14 días de la red, quienes desarrollan bots se conectan a una API REST que delega energía en la cadena bajo demanda con Stake 2.0[3].
La integración sigue un ciclo de cinco pasos[1]: obtener una estimación al instante, generar las firmas HMAC-SHA256 de las solicitudes[2], asegurar una cotización de precio por 120 segundos, crear una orden idempotente con un client_order_id propio y confirmar la delegación con webhooks firmados.
https://api-nile.tenergy.me/v1).El ciclo de integración de un bot en 5 pasos
Nuestra API REST ofrece un flujo predecible pensado para backends automáticos:
[Bot / servidor] [API de energía] [Cadena TRON]
| | |
|--- 1. GET /v1/estimate ---------->| |
|<-- Devuelve SUN total y precio ---| |
| | |
|--- 2. POST /v1/quotes ----------->| |
|<-- Devuelve quote_id (120 s) -----| |
| | |
|--- 3. POST /v1/orders ----------->| |
|<-- 201 Created (ord_...) ---------|--- delegateResource ---------->|
| | |
|<-- 4. Webhook: order.confirmed ---|<-- Confirmado en el bloque ----|
| | |
|--- 5. Transmite la transferencia de USDT ------------------------->|
1. Estima el costo de la orden sin credenciales
Para mostrar precios al instante a los usuarios del bot o calcular comisiones, consulta GET /v1/estimate[1]. Este endpoint público no necesita clave de API:
curl -sG https://api.tenergy.me/v1/estimate \
-d resource=energy -d amount=65000 -d tier=1h \
-d receiver=TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE
La respuesta devuelve total_amount_sun y price_sun_per_unit, y detecta si la billetera receptora está activada en la cadena.
2. Firma las solicitudes con HMAC-SHA256
Todos los endpoints autenticados requieren tres encabezados HTTP[2]:
X-API-KEY: el identificador de tu clave (ak_live_...oak_test_...).X-API-TIMESTAMP: marca de tiempo UTC en ISO 8601 (tolerancia de 5 segundos).X-API-SIGN:base64(HMAC-SHA256(secret, timestamp + METHOD + path + query + body)).
3. Fija el precio con una cotización de 120 segundos
Para proteger a tu bot de los cambios de precio mientras el usuario interactúa, llama a POST /v1/quotes[1]. Una cotización fija el costo total durante 120 segundos:
{
"resource": "energy",
"amount": 65000,
"tier": "1h",
"receiver": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}
4. Envía una orden idempotente
Pasa el quote_id y tu propio client_order_id a POST /v1/orders[1]. Si tu servidor pierde la conexión o se agota el tiempo de espera, repite la misma llamada sin miedo; el sistema reconoce el id de orden del cliente y devuelve la orden existente en lugar de crear un cobro duplicado.
{
"quote_id": "qt_01J9Z5NB2K4R",
"client_order_id": "bot-order-94812"
}
5. Confirma la delegación en la cadena
Tu bot debe esperar la confirmación antes de transmitir la transferencia de USDT:
- Webhooks: registra una URL HTTPS en tu panel. Cuando la delegación se verifica en la cadena, el sistema envía un evento
order.confirmedfirmado con HMAC-SHA256[2]. - Consulta periódica: como alternativa, consulta
GET /v1/orders/cid:bot-order-94812cada 1–2 segundos hasta questatuspase aactivetras eldelegateResourceen la cadena[3].
Resumen de endpoints de la API
| Endpoint | Método | Requiere autenticación | Para qué sirve |
|---|---|---|---|
/v1/estimate | GET | No | Estimación pública del costo para una cantidad de energía y un receptor |
/v1/prices | GET | No | Tabla de precios por franja del día y plazos de alquiler disponibles |
/v1/balance | GET | Sí | Consulta el saldo disponible de la cuenta en SUN |
/v1/quotes | POST | Sí | Fija el precio durante 120 segundos (quote_id) |
/v1/orders | POST | Sí | Crea una orden de energía con protección de idempotencia |
/v1/orders/cid:{id} | GET | Sí | Consulta el estado de una orden por la referencia interna de tu bot |
Prácticas clave de arquitectura para desarrolladores de bots
- Entornos separados: desarrolla y ensaya los flujos de tu bot con nuestro endpoint de testnet Nile (
https://api-nile.tenergy.me/v1). Las claves de testnet llevan el prefijoak_test_y están totalmente aisladas de las cuentas de producción. - Clave de idempotencia en cada orden: genera un
client_order_iddistinto para cada acción de usuario. Así evitas cobros dobles accidentales cuando hay cortes de red. - Revisa las entregas parciales: mira el booleano
partialde las órdenes. Si falta oferta, una orden puede completarse en parte; el resto se reembolsa automáticamente. - Transmite después de la confirmación: espera el webhook
order.confirmedo el estadoactiveantes de transmitir la transacción de USDT TRC-20 que depende de ella en la red principal de TRON.
Para los detalles técnicos, revisa nuestra guía de inicio rápido, la referencia de autenticación y la documentación de la API.
Preguntas frecuentes
¿Cómo puede un bot automatizar el alquiler de energía TRON?
El backend de un bot llama a la API REST en cinco pasos: consulta una estimación pública, firma la solicitud con HMAC-SHA256, fija el precio con una cotización, envía una orden idempotente y espera los webhooks de confirmación.
¿Los bots necesitan una clave de API para ver los precios de la energía en tiempo real?
No. Los endpoints GET /v1/estimate y GET /v1/prices son públicos y no requieren encabezados de autenticación ni claves de API.
¿Cómo evita la API órdenes duplicadas si la solicitud de un bot se agota por tiempo?
Las órdenes aceptan un client_order_id único. Si hay un tiempo de espera agotado y el bot repite exactamente la misma solicitud, la API devuelve la orden original con estado 200 sin cobrar dos veces.
¿Un bot debe consultar el estado de la orden o usar webhooks?
Se recomiendan los webhooks con verificación de firma criptográfica para servidores con endpoints HTTPS públicos. Consultar GET /v1/orders/cid:{client_order_id} está disponible como alternativa para entornos locales.
¿No encontró su respuesta? Escríbanos por Telegram a @tenergymebot o a support@tenergy.me y la añadiremos aquí.