Energy API Console
TRON · v2.0 · internal
не сохраняется
Developer control room / Energy API

Начислите энергию.
Оставьте seed у себя.

Одна рабочая панель для проверки остатка и аренды ресурсов. Для переводов консоль собирает локальный Python-код: сид-фраза никогда не попадает в браузер или Energy API.

Токен не проверен
01 · account

Баланс подписки

Проверяет токен и показывает доступный лимит переводов.

переводов осталось
Статус
Тариф
Истекает
Введите Bearer token сверху и нажмите «Обновить».
02 · quick action

Начислить энергию

Для обычного перевода, который уже будет подписан вашим клиентом.

POST
Один request_id = одна бизнес-операция. При таймауте повторяйте с тем же ID.

Локальная подпись перевода

signed transaction · offline-first
03 · code generator

Соберите скрипт под свою операцию

Заполните только публичные параметры. Получите файл Python, который они запускают у себя: seed читается из переменной окружения на их машине, подписанная транзакция отправляется в /api/v1/energy/rent/signed.

Никогда не вставляйте seed или private key в эту страницу. Генератор намеренно не имеет поля для секрета. Перед подписью локальный скрипт печатает адрес владельца и просит подтверждение.
Секреты остаются в env: TRON_MNEMONIC и ENERGY_API_KEY.
python
Нажмите «Сгенерировать Python», чтобы получить локальный скрипт.

Карта API

Bearer token required
GET/api/v1/balance — остаток переводов и срок подпискиBearer
GET/api/v1/subscription/plans — доступные тарифыBearer
POST/api/v1/subscription/topup — получить Telegram checkout для тарифаBearer
POST/api/v1/energy/rent — начислить ресурсы на адресBearer
POST/api/v1/energy/rent/signed — арендовать и один раз broadcast подписанной txBearer
GET/api/v1/requests/{request_id} — безопасно сверить результат после таймаутаBearer
rent · JSON
{
  "address": "T...",
  "request_id": "payment-order-123"
}
signed · JSON
{
  "address": "T...",
  "request_id": "payment-order-123",
  "signed_transaction": txn.to_json()
}
plain rent · curl
curl --fail-with-body --max-time 120 \\
  -X POST "$API_URL/api/v1/energy/rent" \\
  -H "Authorization: Bearer $API_TOKEN" \\
  -H 'Content-Type: application/json' \\
  -d '{"address":"'"$ADDRESS"'","request_id":"'"$REQUEST_ID"'"}'
plain rent · python
import os, requests

r = requests.post(
    os.environ["API_URL"].rstrip("/") + "/api/v1/energy/rent",
    headers={"Authorization": "Bearer " + os.environ["API_TOKEN"]},
    json={"address": os.environ["ADDRESS"],
          "request_id": os.environ["REQUEST_ID"]},
    timeout=120,
)
print(r.status_code, r.json())
r.raise_for_status()

Поток интеграции

one operation · one id
01

Аутентификация

Получите API key через бота и передавайте его только в заголовке Authorization.

02

Соберите tx

Сформируйте перевод у себя и локально вызовите .sign(private_key).

03

Передайте JSON

Отправьте результат txn.to_json(). Не вызывайте broadcast() заранее.

04

Сверьте статус

При 202 или таймауте читайте исходный request_id, не подписывайте дубль.

Ошибки и безопасные повторы

reconciliation first

Что делать с ответом

200 / rentedресурсы выданы
200 / broadcasttx отправлена
202 / processingчитать request_id
504 / subscription_exhaustedпополнить через /sub

Не создавайте дубль

Если результат аренды или broadcast неизвестен, сохраните исходный request_id и txID. Сначала вызовите GET /api/v1/requests/{request_id} и проверьте транзакцию в TRON.

Повтор POST допустим только с тем же ID и тем же телом. Новый ID для той же tx вернёт конфликт.

Границы безопасности

keep secrets local
Seed

Только локальная машина

Сид-фраза читается из TRON_MNEMONIC в скрипте. Energy API получает только подписанный JSON.

Token

Только текущая сессия

Поле токена не записывается в localStorage, URL или логи. Для команды используйте секреты окружения.

Network

HTTPS и mainnet

Не отключайте проверку TLS. Перед отправкой проверьте chain/node и адрес владельца в локальном скрипте.

Onboarding

Первый запуск

В боте выполните /start → пополните USDT → активируйте /sub → запросите /apikey. Тарифы и checkout доступны через /api/v1/subscription/plans и /api/v1/subscription/topup.