# API энергии TRON — REST, вебхуки, OpenAPI | TEnergy

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

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

# API энергии TRON

Пять запросов — от цены до делегированной заявки: оценка, котировка, заявка, опрос, вебхук. Каждый запрос подписан HMAC, каждая заявка несёт ваш собственный ключ идемпотентности, а контракт опубликован в OpenAPI, а не пересказан прозой.

Базовый URL — `https://api.tenergy.me/v1` в mainnet и `https://api-nile.tenergy.me/v1` в Nile: отдельные ключи, отдельный аккаунт и отдельный журнал операций.

[Быстрый старт →](/ru/docs/quickstart) [Справочник API](/ru/docs/api/orders)

-   OpenAPI
-   HMAC
-   Вебхуки
-   TS SDK
-   Python SDK
-   MCP-сервер
-   Тестнет Nile

Оценка заявки — без ключа

```
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")
```

Кнопка отправляет запрос цены на api.tenergy.me (мейннет, публично, без ключа); примеры кода — для тестнета Nile. 

Нажмите «Выполнить», чтобы увидеть живой ответ.

## Три способа купить

Та же энергия и то же делегирование в сети — способ зависит от того, кто покупает и как часто.

| Как | Что нужно | Аккаунт | Цена |
| --- | --- | --- | --- |
| Прямой перевод | Кошелёк TRON: отправьте TRX на адрес из формы заказа | Не нужен | Ваши TRX ÷ живая цена, от 64 000 энергии |
| Кабинет | Вход кошельком, пополнение баланса | Вход кошельком | Живая цена |
| API | API-ключ и пополненный баланс | Вход кошельком, API-ключ | Живая цена |

## SDK и пакеты

### SDK для TypeScript и Python `@tenergy/sdk · tenergy`

Один типизированный метод на операцию, на обоих языках.

-   Подписывает каждый запрос свежей меткой времени, включая повторы
-   Повторяет только GET и DELETE; создание отправляется один раз
-   Встроены waitForOrder / wait\_for\_order и проверка подписи вебхука

Опубликованы в npm и PyPI в бета-версии. Без зависимости то же самое делает помощник подписи из быстрого старта на cURL, TypeScript или Python.

[Руководство по SDK →](/ru/docs/quickstart#step-2--sign-requests-with-your-key)

Пять строк до первой заявки

```
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);
```

```
import os
from tenergy import Client

tenergy = Client(
    os.environ["TENERGY_KEY"], os.environ["TENERGY_SECRET"], network="nile",
)

quote = tenergy.create_quote({
    "resource": "energy", "amount": 65_000,
    "tier": "1h", "receiver": receiver,
})
order = tenergy.create_order({
    "quote_id": quote["id"], "client_order_id": f"payout-{invoice_id}",
})
done = tenergy.wait_for_order(order["id"])
if done.get("partial"):
    reconcile(done["delivered_amount"], done["refunded_amount_sun"])
```

| Пакет | Что это | Руководство |
| --- | --- | --- |
| @tenergy/sdk | TypeScript, типизированный, сгенерирован из контракта · бета в npm | [Руководство по SDK](/ru/docs/sdk/typescript) |
| tenergy | Python, синхронный и асинхронный клиенты, проверка вебхуков · бета в PyPI | [Руководство по SDK](/ru/docs/sdk) |
| mcp.tenergy.me | MCP-сервер для агентов на нашей стороне · ставить ничего не нужно | [MCP](/ru/docs/mcp) |

Уже работаете с другим сервисом энергии? Пакет не нужен: используйте текущий API — смените URL. [Совместимые API →](/ru/compatibility)

## Документация, которую можно читать с любого места

Три колонки, поиск по Ctrl K, код на cURL, TypeScript и Python, справочник, сгенерированный из контракта, — и каждая страница в markdown по тому же адресу с .md.

[Открыть документацию →](/ru/docs)

[![Страница быстрого старта в документации TEnergy: навигация слева, вкладки с кодом в центре, оглавление справа](/images/docs-quickstart-1280.webp)](/ru/docs/quickstart)

## С чего начать

-   [**Быстрый старт** От оценки до подтверждённой заявки за пять запросов, на трёх языках.](/ru/docs/quickstart)
-   [**Быстрый старт для агента** Промпт, с которым ваш агент интегрируется, не угадывая эндпоинты.](/ru/docs/agent-quickstart)
-   [**Ошибки и лимиты** Каждый код, его HTTP-статус и поможет ли повтор.](/ru/docs/errors)

## Машиночитаемое

| Документ | Для чего |
| --- | --- |
| [/openapi.yaml](/openapi.yaml) | Контракт. Генерируйте клиент по нему; при расхождении с текстом прав контракт. |
| [/llms.txt](/llms.txt) | Карта для агента: что читать и в каком порядке, чтобы дойти до покупки. |
| [/llms-full.txt](/llms-full.txt) | Весь корпус одним markdown-файлом — для агентов, которым удобнее один запрос, чем двадцать. |
| [/.well-known/quickstart.json](/.well-known/quickstart.json) | Сценарий покупки в JSON: эндпоинты, аутентификация, единицы, какие шаги требуют человека. |
| [/docs/agent-quickstart](/ru/docs/agent-quickstart) | Промпт оператора для вашего агента, с кнопкой копирования. |
| [/docs/quickstart.md](/docs/quickstart.md) | Любая страница документации в markdown: добавьте .md к её адресу. |

## Частые вопросы

01

### Как аутентифицируется запрос?

Тремя заголовками: X-API-KEY, X-API-TIMESTAMP и X-API-SIGN, где подпись — base64(HMAC-SHA256(secret, timestamp + method + path + query + body)). Допустимое расхождение часов — пять секунд.

02

### Какие права получает новый ключ?

Ровно те, что вы выбрали. Поле scopes обязательно, набора по умолчанию и заранее отмеченных галочек нет нигде — ни в контракте, ни в кабинете, ни в сценарии для агента.

03

### Опрос или вебхуки?

Вебхуки, если у вас есть публичный HTTPS-адрес: мы их подписываем, вы проверяете. Опрос GET /v1/orders/{id} задокументирован как поддерживаемый запасной путь, потому что у многих сред выполнения агентов нет публичного адреса.

Не нашли ответа? Напишите нам в Telegram [@tenergymebot](https://t.me/tenergymebot) или на [support@tenergy.me](mailto:support@tenergy.me), и мы добавим ответ сюда.
