API энергии TRON

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

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

  • 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 энергии
КабинетВход кошельком, пополнение балансаВход кошелькомЖивая цена
APIAPI-ключ и пополненный балансВход кошельком, API-ключЖивая цена

SDK и пакеты

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

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

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

Опубликованы в npm и PyPI в бета-версии. Без зависимости то же самое делает помощник подписи из быстрого старта на 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);
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/sdkTypeScript, типизированный, сгенерирован из контракта · бета в npmРуководство по SDK
tenergyPython, синхронный и асинхронный клиенты, проверка вебхуков · бета в PyPIРуководство по SDK
mcp.tenergy.meMCP-сервер для агентов на нашей стороне · ставить ничего не нужноMCP

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

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

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

Не нашли ответа? Напишите нам в Telegram @tenergymebot или на support@tenergy.me, и мы добавим ответ сюда.