Зачем арендовать bandwidth?
Каждая транзакция TRON расходует bandwidth. Каждый активированный адрес получает 600 бесплатного bandwidth в день — но это быстро заканчивается:
- 600 бесплатного bandwidth/день ≈ один USDT-перевод (TRC-20) — и всё
- Бесплатный bandwidth израсходован → сеть жжёт ~0.35 TRX за транзакцию вместо него
Аренда bandwidth через API стоит ~0.34 TRX за 350 единиц (один перевод). Для сервисов, делающих много переводов в день с одного адреса, аренда дешевле и предсказуемее.
Bandwidth — дешёвый ресурс, но на масштабе (массовые выплаты, биржи, боты) сожжённый TRX накапливается. Арендуйте его так же, как энергию.
Что понадобится
- Аккаунт на tronrental.com
- API-ключ (Кабинет → API → Создать ключ)
- TRX на балансе (Кабинет → Пополнить)
- 5 минут
Быстрый старт: первая покупка за 3 шага
Шаг 1 — Узнать цену
curl https://api.tronrental.com/v1/bandwidth/prices{
"price_sun_1h": 400,
"price_sun_1d": 630,
"min_volume": 350,
"max_volume": 100000,
"fixed_fee_trx": "0.2"
}price_sun_1h — цена за единицу bandwidth при аренде на 1 час, price_sun_1d — на 1 день. min_volume / max_volume ограничивают один заказ, fixed_fee_trx добавляется сверху.
Шаг 2 — Купить bandwidth
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"}'{
"id": 1842,
"status": "pending",
"volume": 350,
"price_trx": "0.34",
"target_address": "TRecipient..."
}Bandwidth делегируется на target_address — это может быть ваш адрес или чужой. 350 единиц покрывают один стандартный USDT-перевод.
Шаг 3 — Подтвердить заказ
curl https://api.tronrental.com/v1/orders/1842 \
-H "X-API-Key: YOUR_API_KEY"{
"id": 1842,
"status": "filled",
"volume": 350,
"txid": "a1b2c3..."
}Когда статус становится "filled" — bandwidth делегирован. Теперь можно отправлять транзакцию.
То же самое на Python
import httpx
API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}
async def buy_bandwidth(target_address: str, amount: int = 350) -> dict:
async with httpx.AsyncClient() as client:
resp = await client.post(
f"{BASE}/bandwidth/buy",
headers=HEADERS,
json={"target_address": target_address, "volume": 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 buyBandwidth(targetAddress, amount = 350) {
const resp = await fetch(`${BASE}/bandwidth/buy`, {
method: "POST",
headers: {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
target_address: targetAddress,
volume: amount,
duration: "1h",
}),
});
if (!resp.ok) throw new Error(`API error: ${resp.status}`);
return resp.json();
}Сколько bandwidth покупать?
| Сценарий | Bandwidth | Почему |
|---|---|---|
| Один USDT-перевод | 350 | Размер стандартного TRC-20 перевода |
| Несколько переводов с одного адреса | 350 × N | Бесплатные 600/день покрывают только первый перевод |
Не уверены, сколько бесплатного bandwidth осталось? Проверьте перед покупкой:
curl "https://api.tronrental.com/v1/tools/address-info?address=TRecipient..."{
"bandwidth_used": 0,
"bandwidth_limit": 600,
"is_activated": true
}Лимиты: минимум 350 bandwidth за заказ, максимум 100 000. Длительности: "1h" и "1d".
Аренда энергии
Bandwidth покрывает саму транзакцию, но USDT-перевод (TRC-20) требует ещё и энергию — и вот тут основная стоимость. Без энергии сеть жжёт 6.43–13.28 TRX за перевод.
Если вы отправляете USDT, энергия почти всегда тоже нужна. Аренда стоит ~1.80 TRX за 65K вместо сжигания 6.43 TRX.
Покупка
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...", "volume": 65000, "duration": "1h"}'65 000 энергии = 1 USDT-перевод (у получателя уже есть USDT), 131 000 — если у получателя никогда не было USDT. Подробности — в отдельном гайде по API энергии.
Полный пример: купить bandwidth → отправить транзакцию
Реальный паттерн — купить bandwidth для адреса-отправителя, дождаться делегирования, затем отправить транзакцию:
import asyncio
import httpx
API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}
async def buy_bandwidth_and_wait(target: str, amount: int = 350) -> str:
async with httpx.AsyncClient() as client:
resp = await client.post(
f"{BASE}/bandwidth/buy",
headers=HEADERS,
json={"target_address": target, "volume": 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["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["txid"]
raise TimeoutError(f"Order {order_id} not filled after 30s")
async def send_usdt_with_resources(sender: str, recipient: str, amount_usdt: float):
bw_tx = await buy_bandwidth_and_wait(sender, amount=350)
print(f"Bandwidth delegated: {bw_tx}")
# ... your USDT transfer logic here (tronpy, tronweb, etc.)Обработка ошибок
| HTTP-статус | Что значит | Что делать |
|---|---|---|
| 400 | Неверный запрос (некорректный адрес, недостаточно баланса) | Прочитать сообщение об ошибке, исправить и повторить |
| 429 | Превышен лимит запросов (100 req/min) | Подождать и повторить с backoff |
| 5xx | Ошибка сервера | Повторить с экспоненциальным backoff |
FAQ
Как быстро делегируется bandwidth?
Обычно 3–5 секунд. Bandwidth делегируется on-chain в следующем блоке.
А мне вообще нужно покупать bandwidth? Разве он не бесплатный?
Каждый адрес получает 600 бесплатного bandwidth в день — этого хватает примерно на 1 USDT-перевод. Если переводите больше с одного адреса за день, сеть жжёт TRX за bandwidth, и аренда выходит дешевле.
Bandwidth или энергия — что нужно для USDT-перевода?
И то, и другое. Bandwidth покрывает запись транзакции (~350 единиц); энергия — выполнение смарт-контракта (65 000 единиц). Энергия — дорогой ресурс, большинство арендуют оба.
Можно купить bandwidth для чужого адреса?
Да. Укажите в target_address любой валидный TRON-адрес. Владеть им не обязательно.
Где полная документация?
docs.tronrental.com — все эндпоинты, схемы запросов/ответов, настройка вебхуков и прочее.