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.

Antes de ejecutar órdenes automáticas en producción, prueba la firma, la creación de órdenes y los webhooks de tu bot en nuestro entorno de testnet Nile (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:

bash
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_... o ak_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:

json
{
  "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.

json
{
  "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.confirmed firmado con HMAC-SHA256[2].
  • Consulta periódica: como alternativa, consulta GET /v1/orders/cid:bot-order-94812 cada 1–2 segundos hasta que status pase a active tras el delegateResource en la cadena[3].

Resumen de endpoints de la API

EndpointMétodoRequiere autenticaciónPara qué sirve
/v1/estimateGETNoEstimación pública del costo para una cantidad de energía y un receptor
/v1/pricesGETNoTabla de precios por franja del día y plazos de alquiler disponibles
/v1/balanceGETSíConsulta el saldo disponible de la cuenta en SUN
/v1/quotesPOSTSíFija el precio durante 120 segundos (quote_id)
/v1/ordersPOSTSíCrea una orden de energía con protección de idempotencia
/v1/orders/cid:{id}GETSíConsulta el estado de una orden por la referencia interna de tu bot

Prácticas clave de arquitectura para desarrolladores de bots

  1. 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 prefijo ak_test_ y están totalmente aisladas de las cuentas de producción.
  2. Clave de idempotencia en cada orden: genera un client_order_id distinto para cada acción de usuario. Así evitas cobros dobles accidentales cuando hay cortes de red.
  3. Revisa las entregas parciales: mira el booleano partial de las órdenes. Si falta oferta, una orden puede completarse en parte; el resto se reembolsa automáticamente.
  4. Transmite después de la confirmación: espera el webhook order.confirmed o el estado active antes 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í.