Навіщо орендувати energy?
Кожен переказ USDT (TRC-20) у TRON потребує energy. Без неї мережа спалює ваші TRX:
- 65,000 energy × 100 SUN = 6.43 TRX (~$1.60) — отримувач має USDT
- 131,000 energy × 100 SUN = 13.28 TRX (~$3.30) — отримувач не має USDT
Оренда energy через API коштує ~1.80 TRX за 65K та ~3.60 TRX за 131K. Це на 72% дешевше.
При 50 переказах на день ви заощаджуєте ~230 TRX щодня — приблизно $1,700/місяць. Важко сперечатися з математикою.
Що вам знадобиться
- Акаунт на tronrental.com
- API-ключ (Dashboard → API → Create Key)
- TRX на балансі (Dashboard → Deposit)
- 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 — ціна за одиницю energy. Інші поля попередньо розраховані для зручності.
Крок 2 — Купіть energy
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..."
}Energy делегується на 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" — energy делеговано. Тепер ви можете відправити переказ 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();
}Скільки energy купувати?
| Сценарій | Energy | Чому |
|---|---|---|
| Отримувач має USDT | 65,000 | Стандартний переказ |
| Отримувач не має USDT | 131,000 | Перший переказ на цю адресу коштує 2x |
Не впевнені? Перевірте перед покупкою:
curl "https://api.tronrental.com/v1/tools/check-energy?address=TRecipient..."{
"has_usdt": true,
"energy_needed": 64285,
"rental_cost_trx": "2.12"
}Ліміти: мінімум 32,000 energy на замовлення, максимум 5,000,000.
Оренда bandwidth
Окрім energy, 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"
}Формула: (об'єм / 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.
Повний приклад: купити energy → відправити USDT
Реальний патерн — купити energy для адреси відправника, дочекатися делегування, потім відправити 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 | Перевищено ліміт запитів (100 req/min) | Зачекайте та повторіть з backoff |
| 5xx | Помилка сервера | Повторіть з exponential backoff |
FAQ
Як швидко делегується energy?
Зазвичай 3–5 секунд. Energy делегується on-chain у наступному блоці.
Що якщо я купив energy, але не зробив переказ?
Energy закінчується через 1 годину. Вартість оренди не повертається — ви платите за делегування, а не за використання.
Чи є ліміт запитів?
100 запитів на хвилину на один API-ключ. Більш ніж достатньо для більшості випадків використання.
Чи можу я купити energy для чужої адреси?
Так. Вкажіть target_address як будь-яку валідну адресу TRON. Вам не потрібно нею володіти.
Де повна документація?
docs.tronrental.com — усі ендпоінти, схеми запитів/відповідей, налаштування webhook та інше.