Інтегруйте API v2, щоб пропонувати, створювати та відстежувати замовлення на оренду TRON Energy програмно. Сплачуйте в ланцюжку або зі свого балансу TronBid і зменшуйте TRX, спалений дзвінками за смарт-контрактами.
Quick Rent API — це спосіб оренди TRON Energy автоматично, без ручної роботи. Energy робить перекази USDT (TRC-20) та інші виклики за смарт-контрактами дешевшими, ніж використання TRX.
Простими словами: ваша програма (сайт, бот або сервіс) сама купує енергію саме тоді, коли вона потрібна — наприклад, перед кожним переказом USDT, який здійснює ваш клієнт.
Подумайте про торговельний автомат: ви перевіряєте ціну, вкладаєте гроші, отримуєте товар. API — це той самий набір кнопок — тільки ваша програма їх натискає.
Ваша програма запитує API, скільки зараз коштує необхідний енергетичний пакет.
Ваша програма створює замовлення та оплачує його — надсилаючи TRX на вказану адресу або стягуючи з вашого балансу TronBid.
Протягом кількох секунд енергія з’являється на цільовому гаманці, і USDT можна відправити дешевше.
Важливо: API є інструментом для розробника. Щоб використовувати його, хтось має написати код, який надсилає запити.
Якщо немає кому писати код — скористайтеся готовою покупкою енергії на сайті (Quick Rent) або телеграм-ботом @tronbid. Той самий результат, тільки зроблено вручну.
Повний наскрізний приклад у найпростішому сценарії (он-чейн). Чотири кроки і енергія в гаманці.
Нижче описано, що відбувається на кожному кроці та що повертає API. Підключіть свій ключ API, адреси та ідентифікатор замовлення.
Надішліть кількість енергії та тривалість. Ви отримуєте price_trx назад і скільки секунд його заблоковано.
Надішліть посилку, ваш idempotency_key і payer_address. Ви отримуєте pay_address (де платити), amount_trx (скільки) і expires_at (до коли).
Надішліть саме сума_trx TRX на pay_address з вашої payer_address. Це звичайна передача TRON.
Опитуйте статус кожні кілька секунд, доки його не буде делеговано. Це означає, що енергія передається в гаманець — готово.
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}# poll every 3s until the order is done
while true; do
STATUS=$(curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY" | jq -r .status)
echo "status: $STATUS"
case "$STATUS" in
delegated|failed|expired|cancelled) break ;;
esac
sleep 3
done{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}Короткі пояснення слів, які використовуються в цій документації.
Що підготувати перед першим запитом.
Надішліть повідомлення @tronbid у Telegram — ви отримаєте ключ, прив’язаний до вашого облікового запису TronBid. Без цього запити не пройдуть.
Визначте адресу (target_address), яка потребує енергії. Зазвичай це гаманець, з якого ваші клієнти надсилають USDT.
Енергія продається пакетами (зазвичай 65000 або 131000 енергії на 15 або 60 хвилин). Отримайте живий список із кінцевої точки каталогу, авторизація не потрібна.
Для on-chain — гаманець із TRX для оплати. Для оплати балансу — поповнений рахунок TronBid і включений режим балансу.
Quick Rent API дозволяє вашій службі автоматично орендувати TRON Energy, тому перекази USDT TRC-20 та інші дзвінки за смарт-контрактами коштують менше, ніж використання TRX.
Усі кінцеві точки мають одну базову URL-адресу.
https://tronbid.com/api/v2/quick-rentЄ два способи оплати замовлення. Он-ланцюг є стандартним і не потребує налаштування. Оплата балансу є необов’язковою та має бути включена для вашого ключа.
Без активації запит з pay_mode: баланс повертає 403 BALANCE_PAYMENT_NOT_ENABLED. Щоб увімкнути його, зверніться до служби підтримки TronBid.
| Mode | Як включити | Оплата |
|---|---|---|
on-chain | За замовчуванням — не використовувати payment_mode (або «onchain») | Надіслати TRX на pay_address з payer_address |
balance | payment_mode: баланс + увімкнено для вашого ключа | Списано з вашого балансу TronBid TRX |
Energy_amount і duration_minutes мають відповідати активному пакету Quick Rent — зазвичай 65000 або 131000 енергії та 15 або 60 хвилин.
Отримати поточний каталог у будь-який час (автентифікація не потрібна):
curl -sS https://tronbid.com/api/public/quick-rent/skusКрок 1 — ОПУБЛІКУЙТЕ /котирування, щоб дізнатися ціну. Крок 2 — POST /orders, щоб створити замовлення й отримати pay_address, amount_trx і expires_at. Крок 3 — надішліть саме сума_trx TRX на pay_address з вашої payer_address. Крок 4 — опитування GET /orders/:id до тих пір, поки статус не буде делеговано (або не вдалося / минув / скасовано).
target_address необов’язковий — якщо опущено, енергія делегується payer_address.
Одночасно на кожну адресу платника дозволяється лише одне відкрите замовлення в ланцюжку (очікуючий_платіж); інакше ви отримаєте 409 PENDING_PAYMENT_INTENT_EXISTS. У разі недо/переплати кінцева енергія може відрізнятися — перевірте ефективну_енергію_кількість у GET /orders/:id.
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-001",
"payer_address": "TPayerWalletXXXXXXXXXXXXXXXXXXXXXX",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}Крок 1 — ОТРИМАЙТЕ /balance, щоб перевірити свій TRX. Крок 2 — ПУБЛІКАЦІЯ /котирування ціни. Крок 3 — POST /замовлення з payment_mode: баланс для дебетування та початок делегування. Крок 4 — опитування GET /orders/:id до делегування (у разі помилки делегування воно стає невдалим і TRX повертається на ваш баланс).
payer_address не потрібен — платить обліковий запис, пов’язаний із вашим ключем API. Energy_amount у відповіді може бути вищим, ніж замовлений SKU (бонус матриці ціни).
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-balance-001",
"payment_mode": "balance",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}Кожне замовлення проходить через ці статуси. Опитування GET /orders/:id для його підписки.
| Status | Значення |
|---|---|
pending_payment | Очікування платежу в ланцюжку |
delegating | Отримано платіж або стягнено залишок; делегування триває |
delegated | Енергія делегована |
cancelled | Скасовано до оплати (в мережі) |
expired | Період платежу в мережі минув |
failed | Помилка (для балансу TRX повертається) |
idempotency_key (8–128 символів) – унікальний ідентифікатор замовлення на вашому боці. Повторення POST /orders з тим самим ключем (для того самого клієнта API) повертає той самий порядок із «дублікатом»: true.
Не використовуйте повторно один idempotency_key для різних способів оплати (onchain або баланс) — це повертає 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Оцініть, скільки енергії потрібна адреса для передачі. Передайте гаманець одержувача та чи він уже містить USDT.
/api/v2/quick-rent/calculator| Параметр | Type | опис | Example |
|---|---|---|---|
wallet_address | string | Адреса TRON для аналізу | TXXXXXXXX...XXXX |
has_usdt | boolean | null | Чи одержувач уже має USDT (впливає на енергію). правда, хибність або пропущено. | true |
{
"wallet_address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"has_usdt": true
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/calculator" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"wallet_address":"TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","has_usdt":true}'Повертає поточну ціну пакета: price_trx, доступність, save_percent і час дії пропозиції (expires_in_sec).
/api/v2/quick-rent/quote| Параметр | Type | опис | Example |
|---|---|---|---|
кількість_енергії | int | Кількість енергії з активного каталогу | 131000 |
тривалість_хвилин | int | Термін прокату з каталогу | 15 |
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}export BASE_URL="https://tronbid.com"
export API_KEY="your_api_key"
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/quote" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"energy_amount":131000,"duration_minutes":15}'Створює замовлення на оренду. Для on-chain передайте payer_address і сплатіть повернуту суму_trx на pay_address. Для балансу додайте payment_mode: balance, і плата з пов’язаного облікового запису буде стягнено негайно.
target_address необов’язковий (за замовчуванням payer_address). Пам’ятайте про правила 409: одне відкрите онлайн-замовлення на кожного платника та відсутність активного делегування Quick Rent на ціль (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Параметр | Type | опис | Example |
|---|---|---|---|
кількість_енергії | int | Кількість енергії з каталогу | 131000 |
тривалість_хвилин | int | Термін прокату з каталогу | 15 |
idempotency_key | string | Ваш унікальний ідентифікатор замовлення (8–128 символів) | partner-onchain-001 |
спосіб_оплати | string | Додатково. "onchain" (за замовчуванням) або "balance". | balance |
адреса_платника | string | On-chain: гаманець, який надсилає TRX. Не потрібно для балансу. | TPayer... |
цільова_адреса | string | Додатково. Гаманець, який отримує енергію (за замовчуванням payer_address). | TTarget... |
{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-onchain-001",
"payer_address": "TPayer...",
"target_address": "TTarget..."
}'curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-balance-001",
"payment_mode": "balance",
"target_address": "TTarget..."
}'Повертає поточний статус, спосіб оплати, суми, адреси та код помилки / повідомлення про помилку, якщо щось не вдалося. ефективна_енергія_кількість відображає фактичну делеговану енергію після недо/переплати.
/api/v2/quick-rent/orders/:id| Параметр | Type | опис | Example |
|---|---|---|---|
id | string | ID замовлення (параметр шляху) | uuid |
{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY"Скасовує замовлення, яке все ще очікує на оплату (лише в мережі). Після делегування енергії замовлення більше не можна скасувати.
/api/v2/quick-rent/orders/:id/cancel| Параметр | Type | опис | Example |
|---|---|---|---|
id | string | ID замовлення (параметр шляху) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Змінює платіжний гаманець для замовлення on-chain pending_payment — корисно, якщо клієнт вирішить оплатити з іншого гаманця перед надсиланням TRX.
/api/v2/quick-rent/orders/:id/set-payer| Параметр | Type | опис | Example |
|---|---|---|---|
id | string | ID замовлення (параметр шляху) | uuid |
адреса_платника | string | Новий платіжний гаманець | TNewPayer... |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/set-payer" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"payer_address":"TNewPayer..."}'Повертає баланс TRX облікового запису TronBid, пов’язаного з вашим ключем API (ваш баланс у додатку, а не гаманець у мережі). Потрібен заголовок авторизації.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Помилки повертають статус HTTP та поле помилки. Ось ті, з якими ви можете зіткнутися.
| HTTP | error | Коли |
|---|---|---|
| 400 | Invalid body | Недійсний JSON або поля |
| 400 | INVALID_SKU / SKU_INACTIVE | Пакет недоступний |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Неправильна адреса TRON |
| 400 | INSUFFICIENT_BALANCE | Недостатньо TRX на балансі (режим балансу) |
| 401 | Unauthorized | Відсутній або недійсний ключ API |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Для вашого ключа не ввімкнено оплату балансу |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Для цього платника вже існує відкрите замовлення в мережі |
| 409 | ACTIVE_DELEGATION_EXISTS | Target уже має активне делегування Quick Rent |
| 409 | POOL_ENERGY_INSUFFICIENT | Зараз немає безкоштовної енергії для басейну |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | Той самий idempotency_key з іншим payment_mode |
| 429 | Too Many Requests | Ліміт тарифу |
| 503 | — | Послуга тимчасово недоступна, повторіть спробу пізніше |
Типові ситуації і що робити, простими словами.
Переконайтеся, що сума переказу дорівнює сума_trx і кошти надійшли на pay_address із точної адреси платника. Переказ має надійти до expires_at. Статус зазвичай оновлюється протягом хвилини після підтвердження мережі — продовжуйте опитування GET /orders/:id.
Делегування не вдалося. Для балансових платежів TRX автоматично повертається на ваш баланс. Причина в error_code та error_message GET /orders/:id. Ви можете створити нове замовлення.
Ця адреса_платника вже має неоплачене замовлення в ланцюжку. Сплатіть його, зачекайте, доки закінчиться термін дії (expires_at), або скасуйте його через /orders/:id/cancel, а потім створіть новий.
Для вашого ключа не ввімкнено оплату балансу. Зверніться до служби підтримки TronBid, щоб активувати його, або скористайтеся on-chain (за замовчуванням).
Забагато запитів за короткий час. Зменште частоту опитування (наприклад, кожні 3 секунди) і повторіть спробу пізніше.
З недоплатою/переплатою в ланцюжку остаточна сума змінюється. Перевірте efektivn_energy_amount у GET /orders/:id — це фактично делегована енергія.
Потрібен доступ до API, вищі ліміти чи ввімкнута оплата балансу? Звертайтесь і ми допоможемо.