# API de energía TRON — REST, webhooks, OpenAPI | TEnergy

Source: https://tenergy.me/es/api

1.  [TEnergy](/es)
2.  API

# API de energía TRON

Cinco solicitudes te llevan de un precio a un pedido delegado: estimación, cotización, pedido, consulta, webhook. Cada solicitud va firmada con HMAC, cada pedido lleva tu propia clave de idempotencia y el contrato se publica como OpenAPI, no se describe en prosa.

URL base `https://api.tenergy.me/v1` en mainnet y `https://api-nile.tenergy.me/v1` en Nile, con claves, cuenta y libro contable separados.

[Inicio rápido →](/docs/quickstart) [Referencia de la API](/docs/api/orders)

-   OpenAPI
-   HMAC
-   Webhooks
-   TS SDK
-   Servidor MCP
-   Testnet Nile

Estima un pedido — sin clave

```
curl -sG https://api-nile.tenergy.me/v1/estimate \
  -d resource=energy -d amount=65000 -d tier=1h
```

```
const query = new URLSearchParams({ resource: "energy", amount: "65000", tier: "1h" });
const res = await fetch(`https://api-nile.tenergy.me/v1/estimate?${query}`);
const estimate = await res.json();

// integers in SUN: 1 TRX = 1,000,000 SUN
console.log(estimate.price_sun_per_unit, "SUN per energy");
console.log(estimate.total_amount_sun / 1e6, "TRX for 65,000 energy, 1 hour");
```

```
import json, urllib.parse, urllib.request

query = urllib.parse.urlencode({"resource": "energy", "amount": 65000, "tier": "1h"})
with urllib.request.urlopen(f"https://api-nile.tenergy.me/v1/estimate?{query}") as res:
    estimate = json.load(res)

# integers in SUN: 1 TRX = 1,000,000 SUN
print(estimate["price_sun_per_unit"], "SUN per energy")
print(estimate["total_amount_sun"] / 1e6, "TRX for 65,000 energy, 1 hour")
```

Envía esta solicitud a api.tenergy.me. Pública, sin clave. 

Presiona Ejecutar para ver la respuesta en vivo.

## Tres formas de comprar

La misma energía, la misma delegación en la cadena — la ruta depende de quién compra y con qué frecuencia.

| Cómo | Qué necesitas | Cuenta | Precio |
| --- | --- | --- | --- |
| Transferencia directa | Una billetera TRON: envía TRX a la dirección del formulario de pedido | No hace falta | Tus TRX ÷ el precio en vivo, desde 64,000 de energía |
| Panel | Inicia sesión con tu billetera, recarga el saldo | Inicio de sesión con billetera | El precio en vivo |
| API | Una clave de API y un saldo recargado | Inicio de sesión con billetera, clave de API | El precio en vivo |

## SDKs y capas de compatibilidad

### SDK de TypeScript `@tenergy/sdk`

Un método tipado por operación, generado desde el contrato.

-   Firma cada solicitud con un timestamp nuevo, incluidos los reintentos
-   Reintenta solo GET y DELETE; una creación se envía una vez
-   waitForOrder y verificación de webhooks incluidos

Aún no está en npm — mientras tanto, el helper de firma del inicio rápido hace lo mismo en cURL, TypeScript o Python.

[Guía del SDK →](/docs/quickstart#step-2--sign-requests-with-your-key)

Cinco líneas hasta tu primer pedido

TypeScript

```
import { TenergyClient } from "@tenergy/sdk";

const tenergy = new TenergyClient({
  baseUrl: "https://api-nile.tenergy.me/v1",
  apiKey: process.env.TENERGY_KEY!,
  apiSecret: process.env.TENERGY_SECRET!,
});

const quote = await tenergy.createQuote({
  resource: "energy", amount: 65_000, tier: "1h", receiver,
});
const order = await tenergy.createOrder({
  quote_id: quote.id, client_order_id: `payout-${invoiceId}`,
});
const done = await tenergy.waitForOrder(order.id);
if (done.partial) await reconcile(done.delivered_amount, done.refunded_amount_sun);
```

| Paquete | Forma | Guía de migración |
| --- | --- | --- |
| @tenergy/sdk | Nativo, tipado, generado desde el contrato | [Guía del SDK](/docs/quickstart#step-2--sign-requests-with-your-key) |
| @tenergy/catfee-compat | Cliente y webhooks con la forma de CatFee | [/compare/catfee](/compare/catfee) |
| @tenergy/netts-compat | Pedidos y orquestador con la forma de Netts | [/compare/netts](/compare/netts) |
| @tenergy/feesaver-compat | buyEnergy y estado con la forma de FeeSaver | [/compare/feesaver](/compare/feesaver) |
| @tenergy/tronzap-compat | Reemplazo directo de tronzap-sdk | [/compare/tronzap](/compare/tronzap) |

Las capas de compatibilidad aún no están publicadas; hoy cada guía de migración mapea los endpoints uno por uno.

## Documentación que puedes leer en cualquier orden

Tres columnas, búsqueda con Ctrl K, código en cURL, TypeScript y Python, la referencia completa de la API — y cada página en markdown en su propia ruta más .md.

[Abrir la documentación →](/docs)

[![La página de inicio rápido de la documentación de TEnergy: navegación a la izquierda, pestañas de código en el centro, el índice de la página a la derecha](/images/docs-quickstart-1280.webp)](/docs/quickstart)

## Por dónde empezar

-   [**Inicio rápido** De una estimación a un pedido confirmado en cinco solicitudes, en tres lenguajes.](/docs/quickstart)
-   [**Inicio rápido para agentes** El prompt que permite a tu agente de código integrar sin adivinar un endpoint.](/docs/agent-quickstart)
-   [**Errores y límites de uso** Cada código, su estado HTTP y si un reintento puede ayudar.](/docs/errors)

## Legible por máquinas

| Documento | Para qué sirve |
| --- | --- |
| [/openapi.yaml](/openapi.yaml) | El contrato completo de la API. Genera un cliente a partir de él. |
| [/llms.txt](/llms.txt) | Un mapa curado para un agente: qué leer, en el orden que lo lleva a una compra. |
| [/llms-full.txt](/llms-full.txt) | Todo el corpus en un solo archivo markdown, para agentes que prefieren una descarga a veinte. |
| [/.well-known/quickstart.json](/.well-known/quickstart.json) | El flujo de compra en JSON: endpoints, autenticación, unidades, qué pasos requieren a una persona. |
| [/docs/agent-quickstart](/docs/agent-quickstart) | El prompt de operador para pegar en tu propio agente, con un botón para copiar. |
| [/docs/quickstart.md](/docs/quickstart.md) | Cada página de la documentación en markdown: agrega .md a su ruta. |

## Preguntas frecuentes

01

### ¿Cómo se autentica una solicitud?

Tres headers: X-API-KEY, X-API-TIMESTAMP y X-API-SIGN, donde la firma es base64(HMAC-SHA256(secret, timestamp + method + path + query + body)). La tolerancia del reloj es de cinco segundos.

02

### ¿Qué permisos recibe una clave nueva?

Exactamente los que elijas. scopes es obligatorio, no hay un conjunto por defecto ni casillas preseleccionadas en ningún lugar — ni en el contrato, ni en el panel, ni en el flujo de agentes.

03

### ¿Consultas periódicas o webhooks?

Webhooks si tienes un endpoint HTTPS público: los firmamos y tú los verificas. Consultar GET /v1/orders/{id} está documentado como alternativa soportada, porque muchos entornos de agentes no tienen URL pública.
