Integrasikan API v2 untuk mengutip, membuat, dan melacak pesanan sewa TRON Energy secara terprogram. Bayar secara on-chain atau dari saldo TronBid Anda dan kurangi TRX yang dibakar oleh panggilan kontrak pintar.
Quick Rent API adalah cara menyewa TRON Energy secara otomatis, tanpa pekerjaan manual. Energi membuat transfer USDT (TRC-20) dan panggilan kontrak pintar lainnya lebih murah daripada membakar TRX.
Sederhananya: program Anda (situs, bot, atau layanan) membeli energi itu sendiri, tepat pada saat dibutuhkan — misalnya, sebelum setiap transfer USDT yang dilakukan pelanggan Anda.
Bayangkan sebuah mesin penjual otomatis: Anda memeriksa harga, memasukkan uang, mengambil barang Anda. API adalah kumpulan tombol yang sama — hanya program Anda yang menekannya.
Program Anda menanyakan API berapa biaya paket energi yang dibutuhkan saat ini.
Program Anda membuat pesanan dan membayarnya — dengan mengirimkan TRX ke alamat yang diberikan atau dengan menagih saldo TronBid Anda.
Dalam beberapa detik energi muncul di dompet target, dan USDT dapat dikirim lebih murah.
Penting: API adalah alat untuk pengembang. Untuk menggunakannya, seseorang harus menulis kode yang mengirimkan permintaan.
Jika tidak ada yang menulis kode — gunakan pembelian energi yang sudah jadi di situs (Quick Rent) atau bot Telegram @tronbid. Hasilnya sama, hanya dilakukan secara manual.
Contoh lengkap end-to-end pada skenario paling sederhana (on-chain). Empat langkah dan energi ada di dompet.
Di bawah ini adalah apa yang terjadi pada setiap langkah dan apa yang dikembalikan oleh API. Masukkan kunci API, alamat, dan id pesanan Anda.
Kirim jumlah dan durasi energi. Anda mendapatkan price_trx kembali dan berapa detik terkunci.
Kirimkan paket, kunci_idempotensi, dan alamat_pembayar Anda. Anda mendapatkan pay_address (tempat membayar), amount_trx (berapa) dan expired_at (sampai kapan).
Kirim tepat amount_trx TRX ke pay_address dari pembayar_address Anda. Ini adalah transfer TRON biasa.
Jajak pendapat status setiap beberapa detik hingga didelegasikan. Itu berarti energi didelegasikan ke dompet — selesai.
{
"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
}Penjelasan singkat tentang kata-kata yang digunakan dalam dokumentasi ini.
Apa yang harus dipersiapkan sebelum mengajukan permintaan pertama Anda.
Pesan @tronbid di Telegram — Anda akan mendapatkan kunci yang terikat ke akun TronBid Anda. Permintaan tidak akan lolos tanpanya.
Tentukan alamat (target_address) yang membutuhkan energi. Biasanya itu adalah dompet tempat pelanggan Anda mengirim USDT.
Energi dijual dalam bentuk paket (biasanya 65000 atau 131000 energi selama 15 atau 60 menit). Dapatkan daftar langsung dari titik akhir katalog, tidak diperlukan autentikasi.
Untuk on-chain — dompet dengan TRX untuk membayar. Untuk pembayaran saldo — akun TronBid yang didanai dan mode saldo diaktifkan.
Quick Rent API memungkinkan layanan Anda menyewa TRON Energy secara otomatis, sehingga transfer USDT TRC-20 dan panggilan kontrak pintar lainnya lebih murah dibandingkan membakar TRX.
Semua titik akhir berbagi satu URL dasar.
https://tronbid.com/api/v2/quick-rentAda dua cara untuk membayar pesanan. On-chain adalah default dan tidak memerlukan pengaturan. Pembayaran saldo bersifat opsional dan harus diaktifkan untuk kunci Anda.
Tanpa aktivasi, permintaan dengan mode_pembayaran: saldo mengembalikan 403 BALANCE_PAYMENT_NOT_ENABLED. Untuk mengaktifkannya, hubungi dukungan TronBid.
| Mode | Cara mengaktifkan | Pembayaran |
|---|---|---|
on-chain | Default — hilangkan mode_pembayaran (atau "onchain") | Kirim TRX ke alamat_bayar dari alamat_pembayar |
balance | mode_pembayaran: saldo + diaktifkan untuk kunci Anda | Didebit dari saldo TronBid TRX Anda |
jumlah_energi dan durasi_menit harus sesuai dengan paket Quick Rent yang aktif — biasanya 65.000 atau 131.000 energi dan 15 atau 60 menit.
Ambil katalog saat ini kapan saja (tidak diperlukan autentikasi):
curl -sS https://tronbid.com/api/public/quick-rent/skusLangkah 1 — POST /quote untuk mengetahui harganya. Langkah 2 — POST /pesanan untuk membuat pesanan dan menerima alamat_bayar, jumlah_trx, dan kadaluwarsa_at. Langkah 3 — kirim jumlah_trx TRX ke alamat_bayar dari alamat_pembayar Anda. Langkah 4 — polling GET /orders/:id hingga status didelegasikan (atau gagal/kedaluwarsa/dibatalkan).
target_address bersifat opsional — jika dihilangkan, energi didelegasikan ke payer_address.
Hanya satu pesanan on-chain terbuka (pembayaran_tertunda) yang diperbolehkan per alamat_pembayar dalam satu waktu; jika tidak, Anda mendapatkan 409 PENDING_PAYMENT_INTENT_EXISTS. Jika kurang/lebih bayar, energi akhir mungkin berbeda — periksa jumlah_energi_efektif di 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..."
}Langkah 1 — DAPATKAN /saldo untuk memeriksa TRX Anda. Langkah 2 — POST/kutipan untuk harganya. Langkah 3 — POST /pesanan dengan mode_pembayaran: saldo ke debit dan mulai delegasi. Langkah 4 — polling GET /orders/:id hingga didelegasikan (jika terjadi kesalahan delegasi, maka gagal dan TRX dikembalikan ke saldo Anda).
payer_address tidak diperlukan — akun yang ditautkan ke kunci API Anda akan membayar. Jumlah_energi dalam respons bisa lebih tinggi dari SKU yang dipesan (bonus matriks harga).
{
"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..."
}Setiap pesanan bergerak melalui status ini. Jajak pendapat GET /orders/:id untuk mengikutinya.
| Status | Arti |
|---|---|
pending_payment | Menunggu pembayaran on-chain |
delegating | Pembayaran diterima atau saldo dibebankan; delegasi sedang berlangsung |
delegated | Energi didelegasikan |
cancelled | Dibatalkan sebelum pembayaran (on-chain) |
expired | Jendela pembayaran on-chain telah berlalu |
failed | Error (untuk saldo, TRX dikembalikan) |
idempotency_key (8–128 karakter) adalah id pesanan unik di pihak Anda. Mengulangi POST /orders dengan kunci yang sama (untuk klien API yang sama) akan mengembalikan urutan yang sama dengan "duplikat": true.
Jangan gunakan kembali satu idempotency_key di mode pembayaran yang berbeda (onchain vs saldo) — yang akan menghasilkan 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Perkirakan berapa banyak energi yang dibutuhkan suatu alamat untuk transfer. Berikan dompet penerima dan apakah dompet tersebut sudah menyimpan USDT.
/api/v2/quick-rent/calculator| Parameter | Type | Keterangan | Example |
|---|---|---|---|
dompet_alamat | string | Alamat TRON untuk dianalisis | TXXXXXXXX...XXXX |
memiliki_usdt | boolean | null | Apakah penerima sudah memiliki USDT (mempengaruhi energi). benar, salah, atau dihilangkan. | 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}'Mengembalikan harga saat ini untuk sebuah paket: price_trx, ketersediaan, save_percent dan berapa lama penawaran berlaku (expires_in_sec).
/api/v2/quick-rent/quote| Parameter | Type | Keterangan | Example |
|---|---|---|---|
energi_jumlah | int | Jumlah energi dari katalog aktif | 131000 |
durasi_menit | int | Durasi sewa dari katalog | 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}'Membuat pesanan sewa. Untuk on-chain, berikan alamat_pembayar dan bayar jumlah_trx yang dikembalikan ke alamat_bayar. Untuk saldo, tambahkan mode_pembayaran: saldo dan akun tertaut akan segera ditagih.
target_address bersifat opsional (defaultnya adalah payer_address). Perhatikan aturan 409: satu pesanan on-chain terbuka per pembayar, dan tidak ada delegasi Quick Rent aktif yang sudah mencapai target (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Parameter | Type | Keterangan | Example |
|---|---|---|---|
energi_jumlah | int | Jumlah energi dari katalog | 131000 |
durasi_menit | int | Durasi sewa dari katalog | 15 |
kunci_idempotensi | string | ID pesanan unik Anda (8–128 karakter) | partner-onchain-001 |
mode_pembayaran | string | Opsional. "onchain" (default) atau "keseimbangan". | balance |
pembayar_alamat | string | On-chain: dompet yang mengirimkan TRX. Tidak diperlukan untuk keseimbangan. | TPayer... |
alamat_target | string | Opsional. Dompet yang menerima energi (default pada alamat_pembayar). | 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..."
}'Mengembalikan status saat ini, mode_pembayaran, jumlah, alamat, dan kode_kesalahan/pesan_kesalahan jika terjadi kegagalan. jumlah_energi_efektif mencerminkan energi sebenarnya yang didelegasikan setelah kurang/lebih bayar.
/api/v2/quick-rent/orders/:id| Parameter | Type | Keterangan | Example |
|---|---|---|---|
pengenal | string | Id pesanan (parameter jalur) | 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"Membatalkan pesanan yang masih menunggu_pembayaran (khusus on-chain). Setelah energi didelegasikan, pesanan tidak dapat dibatalkan lagi.
/api/v2/quick-rent/orders/:id/cancel| Parameter | Type | Keterangan | Example |
|---|---|---|---|
pengenal | string | Id pesanan (parameter jalur) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Mengubah dompet pembayaran untuk pesanan on-chain pending_pembayaran — berguna jika pelanggan memutuskan untuk membayar dari dompet lain sebelum mengirim TRX.
/api/v2/quick-rent/orders/:id/set-payer| Parameter | Type | Keterangan | Example |
|---|---|---|---|
pengenal | string | Id pesanan (parameter jalur) | uuid |
pembayar_alamat | string | Dompet pembayaran baru | 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..."}'Mengembalikan saldo TRX dari akun TronBid yang ditautkan ke kunci API Anda (saldo dalam aplikasi Anda, bukan dompet on-chain). Membutuhkan header Otorisasi.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Kesalahan mengembalikan status HTTP dan bidang kesalahan. Inilah yang mungkin Anda temui.
| HTTP | error | Kapan |
|---|---|---|
| 400 | Invalid body | JSON atau kolom tidak valid |
| 400 | INVALID_SKU / SKU_INACTIVE | Paket tidak tersedia |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Alamat TRON salah format |
| 400 | INSUFFICIENT_BALANCE | TRX pada saldo tidak cukup (mode keseimbangan) |
| 401 | Unauthorized | Kunci API tidak ada atau tidak valid |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Pembayaran saldo tidak diaktifkan untuk kunci Anda |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Pesanan on-chain terbuka sudah ada untuk pembayar ini |
| 409 | ACTIVE_DELEGATION_EXISTS | Target sudah memiliki delegasi Quick Rent yang aktif |
| 409 | POOL_ENERGY_INSUFFICIENT | Tidak ada energi kolam gratis saat ini |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | Kunci_idempotensi yang sama dengan mode_pembayaran yang berbeda |
| 429 | Too Many Requests | Batas tarif |
| 503 | — | Layanan untuk sementara tidak tersedia, coba lagi nanti |
Situasi umum dan apa yang harus dilakukan, dengan kata sederhana.
Pastikan jumlah yang ditransfer sama persis dengan jumlah_trx dan dana masuk ke alamat_pembayaran dari alamat_pembayar yang tepat. Transfer harus sampai sebelum expired_at. Status biasanya diperbarui dalam satu menit setelah konfirmasi jaringan — teruskan polling GET /orders/:id.
Delegasi tidak berhasil. Untuk pembayaran saldo TRX otomatis dikembalikan ke saldo Anda. Alasannya ada di error_code dan error_message dari GET /orders/:id. Anda dapat membuat pesanan baru.
Alamat_pembayar ini sudah memiliki pesanan on-chain yang belum dibayar. Bayar, tunggu sampai habis masa berlakunya (expires_at), atau batalkan lewat /orders/:id/cancel, lalu buat yang baru.
Pembayaran saldo tidak diaktifkan untuk kunci Anda. Hubungi dukungan TronBid untuk mengaktifkannya, atau gunakan on-chain (default).
Terlalu banyak permintaan dalam waktu singkat. Turunkan frekuensi polling (misalnya setiap 3 detik sekali) dan coba lagi nanti.
Dengan kekurangan/kelebihan pembayaran secara on-chain, jumlah akhir berubah. Periksa Effective_energy_amount di GET /orders/:id — itulah energi yang sebenarnya didelegasikan.
Perlu akses API, batas lebih tinggi, atau pembayaran saldo diaktifkan? Hubungi kami dan kami akan membantu.