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=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. Публичный, без ключа.
Нажмите «Выполнить», чтобы увидеть живой ответ.

Четыре способа купить

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

СпособЧто нужноВремя до первой заявкиЦена
Прямой переводНичего — отправьте TRX на опубликованный адресСекунды3,00 TRX за 65 000 энергии, фиксированно
Быстрая покупка в кабинетеПодпись адреса, затем депозитМеньше двух минутОпубликованная сетка цен
REST APIAPI-ключ и пополненный балансОдин запросОпубликованная сетка цен
MCP-сервер / агентТот же API-ключОдин вызов инструментаОпубликованная сетка цен

SDK и совместимые обёртки

SDK для TypeScript @tenergy/sdk

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

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

В npm пока не опубликован — до тех пор то же самое делает помощник подписи из быстрого старта на cURL, TypeScript или Python.

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

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);
ПакетИнтерфейсРуководство по миграции
@tenergy/sdkРодной, типизированный, сгенерирован из контрактаРуководство по SDK
@tenergy/catfee-compatКлиент и вебхуки в формате CatFee/compare/catfee
@tenergy/netts-compatЗаявки и оркестратор в формате Netts/compare/netts
@tenergy/feesaver-compatbuyEnergy и статус в формате FeeSaver/compare/feesaver
@tenergy/tronzap-compatЗамена tronzap-sdk без правок кода/compare/tronzap

Совместимые обёртки пока не опубликованы; руководства по миграции уже сопоставляют эндпоинты один к одному.

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

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

Открыть документацию →
Страница быстрого старта в документации TEnergy: навигация слева, вкладки с кодом в центре, оглавление справа

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

ДокументДля чего
/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} задокументирован как поддерживаемый запасной путь, потому что у многих сред выполнения агентов нет публичного адреса.