API энергии TRON
Пять запросов — от цены до делегированной заявки: оценка, котировка, заявка, опрос, вебхук. Каждый запрос подписан HMAC, каждая заявка несёт ваш собственный ключ идемпотентности, а контракт опубликован в OpenAPI, а не пересказан прозой.
Базовый URL — https://api.tenergy.me/v1 в mainnet и https://api-nile.tenergy.me/v1 в Nile: отдельные ключи, отдельный аккаунт и отдельный журнал операций.
- OpenAPI
- HMAC
- Вебхуки
- TS SDK
- Тестнет Nile
Оценка заявки — без ключа
curl -sG https://api-nile.tenergy.me/v1/estimate \
-d resource=energy -d amount=65000 -d tier=1hconst 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")Нажмите «Выполнить», чтобы увидеть живой ответ.
Четыре способа купить
Та же энергия и то же делегирование в сети — способ зависит от того, кто покупает и как часто.
| Способ | Что нужно | Время до первой заявки | Цена |
|---|---|---|---|
| Прямой перевод | Ничего — отправьте TRX на опубликованный адрес | Секунды | 3,00 TRX за 65 000 энергии, фиксированно |
| Быстрая покупка в кабинете | Подпись адреса, затем депозит | Меньше двух минут | Опубликованная сетка цен |
| REST API | API-ключ и пополненный баланс | Один запрос | Опубликованная сетка цен |
| MCP-сервер / агент | Тот же API-ключ | Один вызов инструмента | Опубликованная сетка цен |
SDK и совместимые обёртки
SDK для TypeScript @tenergy/sdk
Один типизированный метод на операцию, сгенерирован из контракта.
- Подписывает каждый запрос свежей меткой времени, включая повторы
- Повторяет только GET и DELETE; создание отправляется один раз
- Встроены waitForOrder и проверка подписи вебхука
В npm пока не опубликован — до тех пор то же самое делает помощник подписи из быстрого старта на cURL, TypeScript или Python.
Пять строк до первой заявки
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);| Пакет | Интерфейс | Руководство по миграции |
|---|---|---|
| @tenergy/sdk | Родной, типизированный, сгенерирован из контракта | Руководство по SDK |
| @tenergy/catfee-compat | Клиент и вебхуки в формате CatFee | /compare/catfee |
| @tenergy/netts-compat | Заявки и оркестратор в формате Netts | /compare/netts |
| @tenergy/feesaver-compat | buyEnergy и статус в формате FeeSaver | /compare/feesaver |
| @tenergy/tronzap-compat | Замена tronzap-sdk без правок кода | /compare/tronzap |
Совместимые обёртки пока не опубликованы; руководства по миграции уже сопоставляют эндпоинты один к одному.
Документация, которую можно читать с любого места
Три колонки, поиск по Ctrl K, код на cURL, TypeScript и Python, справочник, сгенерированный из контракта, — и каждая страница в markdown по тому же адресу с .md.
Открыть документацию →
Машиночитаемое
| Документ | Для чего |
|---|---|
| /openapi.yaml | Контракт. Генерируйте клиент по нему; при расхождении с текстом прав контракт. |
| /llms.txt | Карта для агента: что читать и в каком порядке, чтобы дойти до покупки. |
| /llms-full.txt | Весь корпус одним markdown-файлом — для агентов, которым удобнее один запрос, чем двадцать. |
| /.well-known/quickstart.json | Сценарий покупки в JSON: эндпоинты, аутентификация, единицы, какие шаги требуют человека. |
| /docs/agent-quickstart | Промпт оператора для вашего агента, с кнопкой копирования. |
| /docs/quickstart.md | Любая страница документации в markdown: добавьте .md к её адресу. |
Частые вопросы
Как аутентифицируется запрос?
Тремя заголовками: X-API-KEY, X-API-TIMESTAMP и X-API-SIGN, где подпись — base64(HMAC-SHA256(secret, timestamp + method + path + query + body)). Допустимое расхождение часов — пять секунд.
Какие права получает новый ключ?
Ровно те, что вы выбрали. Поле scopes обязательно, набора по умолчанию и заранее отмеченных галочек нет нигде — ни в контракте, ни в кабинете, ни в сценарии для агента.
Опрос или вебхуки?
Вебхуки, если у вас есть публичный HTTPS-адрес: мы их подписываем, вы проверяете. Опрос GET /v1/orders/{id} задокументирован как поддерживаемый запасной путь, потому что у многих сред выполнения агентов нет публичного адреса.