Зачем арендовать энергию?
Каждый USDT-перевод (TRC-20) в сети TRON требует энергии. Если на адресе её нет, сеть сжигает TRX:
- 65 000 энергии × 100 SUN = 6.43 TRX (~$1.60) — у получателя есть USDT
- 131 000 энергии × 100 SUN = 13.28 TRX (~$3.30) — у получателя нет USDT
Аренда энергии через API стоит ~1.80 TRX за 65K и ~3.60 TRX за 131K. Это на 72% дешевле.
При 50 переводах в день экономия — ~230 TRX ежедневно. Это примерно $1 700 в месяц. С арифметикой не поспоришь.
Что понадобится
- Аккаунт на tronrental.com
- API-ключ (Dashboard → API → Создать ключ)
- TRX на балансе (Dashboard → Пополнить)
- 5 минут
Быстрый старт: первая покупка за 3 шага
Шаг 1 — Узнать цену
curl https://api.tronrental.com/v1/prices{
"energy_price_sun": 33,
"energy_price_trx_per_65k": "2.12",
"energy_price_trx_per_131k": "4.24",
"burn_cost_trx": "6.43",
"savings_percent": "67.0"
}Цены динамические, обновляются каждые 60 секунд. energy_price_sun — цена за единицу энергии. Остальные поля — готовые расчёты для удобства.
Шаг 2 — Купить энергию
curl -X POST https://api.tronrental.com/v1/energy/buy \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target_address": "TRecipient...", "energy_amount": 65000, "duration": "1h"}'{
"order_id": 1842,
"status": "pending",
"energy_amount": 65000,
"price_trx": "2.12",
"target_address": "TRecipient..."
}Энергия делегируется на target_address — это может быть ваш адрес или чужой.
Шаг 3 — Проверить заказ
curl https://api.tronrental.com/v1/orders/1842 \
-H "X-API-Key: YOUR_API_KEY"{
"order_id": 1842,
"status": "filled",
"energy_amount": 65000,
"tx_hash": "a1b2c3..."
}Когда status стал "filled" — энергия делегирована. Можно отправлять USDT.
То же самое на Python
import httpx
API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}
async def buy_energy(target_address: str, amount: int = 65_000) -> dict:
async with httpx.AsyncClient() as client:
resp = await client.post(
f"{BASE}/energy/buy",
headers=HEADERS,
json={"target_address": target_address, "energy_amount": amount, "duration": "1h"},
)
resp.raise_for_status()
return resp.json()То же самое на JavaScript
const API_KEY = "your_api_key";
const BASE = "https://api.tronrental.com/v1";
async function buyEnergy(targetAddress, amount = 65000) {
const resp = await fetch(`${BASE}/energy/buy`, {
method: "POST",
headers: {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
target_address: targetAddress,
energy_amount: amount,
duration: "1h",
}),
});
if (!resp.ok) throw new Error(`API error: ${resp.status}`);
return resp.json();
}Сколько энергии покупать?
| Сценарий | Энергия | Почему |
|---|---|---|
| У получателя есть USDT | 65 000 | Обычный перевод |
| У получателя нет USDT | 131 000 | Первый перевод на адрес стоит в 2 раза дороже |
Не уверены? Проверьте перед покупкой:
curl "https://api.tronrental.com/v1/tools/check-energy?address=TRecipient..."{
"has_usdt": true,
"energy_needed": 64285,
"rental_cost_trx": "2.12"
}Лимиты: минимум 32 000 энергии за заказ, максимум 5 000 000.
Аренда bandwidth
Помимо энергии, TRON использует bandwidth для любых транзакций. Каждый активированный адрес получает 600 бесплатного bandwidth в сутки — этого хватает на 1 USDT-перевод. Со второго перевода за сутки сеть сжигает TRX за bandwidth (~0.35 TRX).
Если ваш сервис делает несколько переводов в день с одного адреса — дешевле арендовать bandwidth.
Цены
curl https://api.tronrental.com/v1/bandwidth/prices{
"price_per_day_trx": "9.6",
"min_volume": 350,
"max_volume": 100000,
"fixed_fee_trx": "0.2"
}Формула: (volume / 1000) × 0.4 TRX + 0.2 TRX фиксированная комиссия.
Покупка
curl -X POST https://api.tronrental.com/v1/bandwidth/buy \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target_address": "TRecipient...", "volume": 350, "duration": "1h"}'350 bandwidth — это 1 USDT-перевод. Минимум 350, максимум 100 000.
Полный пример: купить энергию → отправить USDT
Реальный паттерн — покупаем энергию для адреса-отправителя, ждём делегирование, отправляем USDT:
import asyncio
import httpx
API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}
async def buy_energy_and_wait(target: str, amount: int = 65_000) -> str:
async with httpx.AsyncClient() as client:
resp = await client.post(
f"{BASE}/energy/buy",
headers=HEADERS,
json={"target_address": target, "energy_amount": amount, "duration": "1h"},
)
data = resp.json()
if resp.status_code == 400:
raise Exception(f"Purchase failed: {data.get('detail', data)}")
resp.raise_for_status()
order_id = data["order_id"]
for _ in range(10):
await asyncio.sleep(3)
check = await client.get(f"{BASE}/orders/{order_id}", headers=HEADERS)
order = check.json()
if order["status"] == "filled":
return order["tx_hash"]
raise TimeoutError(f"Order {order_id} not filled after 30s")
async def send_usdt_with_energy(sender: str, recipient: str, amount_usdt: float):
tx_hash = await buy_energy_and_wait(sender, amount=65_000)
print(f"Energy delegated: {tx_hash}")
# ... your USDT transfer logic here (tronpy, tronweb, etc.)Обработка ошибок
| HTTP-статус | Что значит | Что делать |
|---|---|---|
| 400 | Неверный запрос (невалидный адрес, недостаточно баланса) | Прочитать сообщение об ошибке, исправить |
| 429 | Превышен rate limit (100 запросов/мин) | Подождать, повторить с backoff |
| 5xx | Ошибка сервера | Повторить с экспоненциальным backoff |
FAQ
Как быстро приходит энергия?
Обычно 3–5 секунд. Энергия делегируется on-chain в следующем блоке.
Что если я купил энергию, но не сделал перевод?
Энергия истечёт через 1 час. Стоимость аренды не возвращается — вы платите за делегирование, а не за использование.
Есть ли rate limit?
100 запросов в минуту на API-ключ. Для большинства задач — более чем достаточно.
Можно ли купить энергию для чужого адреса?
Да. Укажите любой валидный TRON-адрес в target_address. Владеть им не нужно.
Где полная документация?
docs.tronrental.com — все эндпоинты, схемы запросов/ответов, настройка вебхуков.