Asosiy URL: https://api.tronnrg.com Autentifikatsiya: Kerak emas. Barcha uchlari ommaviy. Tezlik chegarasi: IP manzilga 20 so'rov/sekund To'lov manzili: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (Faqat API uchun, qo'lda ijara uchun emas)

Ishlash tarzi

Uch bosqich. API kaliti yo'q, ro'yxatdan o'tish yo'q, hamyon ulanmasi yo'q. Mullik kriptografik jihatdan isbotlanadi.

  1. TRX yuborish — To'lov manzilga 4 TRX (yoki ko'proq) yuboring. 4 TRX = 65,000 energiya. 8 TRX = 130,000. Chiziqli.
  2. Imzo chekish — Xabarni imzo chekish {tx_hash}:{delegate_to} TRX yuborgan hamyondan foydalanib. Bu delegatsiyani avtorizatsiya qilganingizni isbotlaydi.
  3. Talab qilishPOST /delegate bilan tx_hash, delegate_to, va signature. Energiya ~3 soniyada keladi.

To'lov Manzili

TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Faqat API to'lov manzili. Bu manzil API orqali dasturiy integratsiyalar uchun. Qo'lda energiya ijarasi uchun foydalanmang. Qo'l ijarasi manzili boshqacha va saytida mavjud.tronnrg.com.

Bu manzilga TRX yuboring. To'lovingizning tranzaksiya heshi delegatsiyani ishga tushirish uchun sizning tokeningiz. Har bir heš faqat bir marta ishlatilishi mumkin.

Yuborilgan TRXIjaralangan EnergiyaFoydalanish Holati
4 TRX65,000Mavjud hamyonga standart USDT o'tkazma (minimal buyurtma)
8 TRX130,000Birinchi marta qabul qiluvchiga USDT o'tkazma
16 TRX260,000Bitta buyurtmada to'rtta standart o'tkazma
40 TRX650,000O'n standart o'tkazma
100 TRX1,625,000~25 standart o'tkazma — kichik platformalar uchun odatiy
1,000 TRX16,250,000Maksimal buyurtma, ~250 standart o'tkazma
Oraliqda istalgan miqdortrx × 16,250To'liq chiziqli. Qatlamlar yo'q, paketlar yo'q, skidkalar yo'q.
Formula: energy = trxSent × 16,250. Chegaralar: min 4 TRX (65,000 energiya), max 1,000 TRX (16,250,000 energiya). Ikkalasi ham API darajasida qo'llaniladi — minimal qiymatdan past miqdorlar below_minimum bilan rad etiladi va qaytariladi; maksimal qiymatdan oshiq miqdorlar delegatsiyadan oldin rad etiladi.

POST /delegate

POST/delegate

Energiya ijarasini talab qiling. Siz allaqachon TRX-ni to'lash manzilidan zanjir orqali jo'natgan bo'lishingiz kerak. Tranzaksiya xeshini, qabul qiluvchi manzilini va siz jo'natuvchi ekanligingizni isbotlaydigan imzoni o'tkazing.

ParametrTuriTavsif
tx_hashstringtalab qilinadiTRX to'lovining 64 ta belgili heksadetsimal xeshi
delegate_tostringtalab qilinadiEnergiyani qabul qiladigan Tron manzili
signaturestringtalab qilinaditronWeb.trx.signMessageV2() dan tronWeb.trx.signMessageV2(). Siz to'lov jo'natuvchi ekanligingizni isbotlaydi.
curl -X POST https://api.tronnrg.com/delegate \ -H "Content-Type: application/json" \ -d '{"tx_hash":"TX_HASH","delegate_to":"TWallet","signature":"SIG"}'
const result = await fetch('https://api.tronnrg.com/delegate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: 'YOUR_TX_HASH', delegate_to: 'TWalletAddress', signature: 'YOUR_SIGNATURE', }), }).then(r => r.json()); if (result.error) { console.error(result.error, result.message); } else { console.log('Delegated:', result.energy, 'energy'); console.log('Ref:', result.ref); }
import requests response = requests.post('https://api.tronnrg.com/delegate', json={ 'tx_hash': 'YOUR_TX_HASH', 'delegate_to': 'TWalletAddress', 'signature': 'YOUR_SIGNATURE', }) result = response.json() if 'error' in result: print(f"Error: {result['error']} - {result['message']}") else: print(f"Delegated: {result['energy']} energy") print(f"Delegation tx: {result['delegations'][0]['tx']}") print(f"Ref: {result['ref']}")
$ch = curl_init('https://api.tronnrg.com/delegate'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'tx_hash' => 'YOUR_TX_HASH', 'delegate_to' => 'TWalletAddress', 'signature' => 'YOUR_SIGNATURE', ]), ]); $result = json_decode(curl_exec($ch), true); curl_close($ch); if (isset($result['error'])) { echo "Error: " . $result['message']; } else { echo "Delegated: " . $result['energy'] . " energy"; }
var client = new HttpClient(); var content = new StringContent( JsonSerializer.Serialize(new { tx_hash = "YOUR_TX_HASH", delegate_to = "TWalletAddress", signature = "YOUR_SIGNATURE" }), Encoding.UTF8, "application/json" ); var response = await client.PostAsync("https://api.tronnrg.com/delegate", content); var json = await response.Content.ReadAsStringAsync(); var result = JsonSerializer.Deserialize<JsonElement>(json); if (result.TryGetProperty("error", out var err)) Console.WriteLine($"Error: {err}"); else Console.WriteLine($"Delegated: {result.GetProperty("energy")} energy");
Javob 200
{ "ref": "nrg_d_42", "delegate_to": "TWalletAddress", "energy": 65000, "cost": 4, "status": "delegated", "delegations": [ { "tx": "a1b2c3d4e5f6...your delegation tx hash", "energy": 65000 } ] }
MaydonTuriTavsif
refstringTronNRG identifikator raqami. Qo'llab-quvvatlash so'rovlari uchun buni qayd qiling.
energynumberJami delegat qilingan energiya
costnumberUndan olingan TRX
statusstringMuvaffaqiyatda "delegated"
delegationsarrayZanjir delegat qilish tranzaksiyasi xeshlari. Har bir tx da tekshirish mumkin TronScan. Bu sizning kvitansiyangiz.

GET /health

GET/health

Monitoring va uptime vositalari uchun tiriklik tekshiruvi. API jarayoni yuqorida bo'lganda qaytaradi 200 OK. Upstream tugunlarini yoki ta'minotchilarini tekshirmaydi.

Javob 200
{ "status": "ok" }

Xato Kodlari

Har bir xato javobining error (barqaror, mashinaga o'qish mumkin) va message (inson tomonidan o'qiladigan) bor. Har doim kodingizda error ga o'tkazing.

KodHTTPMa'nosi
invalid_tx_hash40064 ta belgili heksadetsimal qator emas
invalid_address400Haqiqiy Tron manzili emas
missing_signature400Imzo taqdim etilmadi
invalid_signature401Imzoni tekshirish mumkin emas edi
signature_mismatch403Imzo qo'yuvchi manzili to'lov jo'natuvchisi bilan mos kelmaydi
hash_already_used409Tranzaksiya xeshi allaqachon talab qilingan
payment_verification_failed404 / 400To'lovning zanjir tekshiruvi bajarilmadi. Aniq sababni bilish uchun message maydonini o'qing: tx hali topilmadi (404, bir necha soniyadan keyin qayta urinib ko'ring), noto'g'ri qabul qiluvchi, TRX o'tkazma emas yoki 4 TRX minimaldan past.
delegation_failed400 / 500Ta'minotchi energiya yetkazib bera olmadi. Agar muvaffaqiyatsizlik to'lov tekshiruvdan keyin sodir bo'lsa, qaytarish avtomatik ravishda navbatga olinadi. Bu sodir bo'lganda refund ob'ektini tekshiring.
rate_limited429Bu IP manzilidan sekundiga juda ko'p so'rov. Limit 20/sec.
server_error500Kutilmagan ichki xato. Bir necha soniyadan keyin qayta urinib ko'ring.
const result = await fetch('https://api.tronnrg.com/delegate', { ... }) .then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Most common cause: tx not yet indexed. Wait 3s and retry. // Read result.message for the specific cause. break; case 'hash_already_used': // Already claimed. Don't retry. break; case 'signature_mismatch': // Signer != payment sender. Sign with the same key that sent TRX. break; case 'delegation_failed': // Refund queued automatically if payment was verified. if (result.refund) console.log('Refund queued:', result.refund); break; } }
result = requests.post('https://api.tronnrg.com/delegate', json=data).json() if 'error' in result: if result['error'] == 'payment_verification_failed': # Most common cause: tx not yet indexed. Wait 3s and retry. pass elif result['error'] == 'hash_already_used': # Already claimed. Don't retry. pass elif result['error'] == 'signature_mismatch': # Signer != payment sender. Sign with the same key. pass elif result['error'] == 'delegation_failed': # Refund queued automatically if payment was verified. pass
if (isset($result['error'])) { switch ($result['error']) { case 'payment_verification_failed': // Most common cause: tx not yet indexed. Wait 3s and retry. break; case 'hash_already_used': // Already claimed. Don't retry. break; case 'signature_mismatch': // Signer != payment sender. Sign with the same key. break; case 'delegation_failed': // Refund queued automatically if payment was verified. break; } }

Qaytarimlar

Agar to'lovingiz tekshirilgandan keyin energiya ijarasi bajarilmasa, TRX qaytarimi avtomatik navbatga qo'yiladi va yuboruvchi manzilga zanjirda qaytariladi. Xato javobida qaytarish ob'ektini qidiring.

Qaytarish bilan xato
{ "error": "delegation_failed", "message": "Energy delegation failed. Your payment will be refunded.", "ref": "nrg_d_43", "refund": { "type": "queued", "to": "TSenderAddress", "amount": 4 } }

To'liq Misol

Butun oqimni oxiriga qadar: TRX yuboring, imzo qo'ying, qayta urinish bilan talab qiling. Nusxa oling va ishga tushiring.

const API = 'https://api.tronnrg.com'; const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; async function rentEnergy(delegateTo, trxAmount = 4) { // 1. Send TRX to the payment address const payment = await tronWeb.trx.sendTransaction(ADDR, trxAmount * 1e6); // 2. Sign: proves you are the sender const message = `${payment.txid}:${delegateTo}`; const signature = await tronWeb.trx.signMessageV2(message); // 3. Claim delegation (retry if tx not indexed yet) let result; for (let i = 0; i < 3; i++) { result = await fetch(`${API}/delegate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: payment.txid, delegate_to: delegateTo, signature, }), }).then(r => r.json()); if (!result.error) break; if (result.error !== 'payment_verification_failed') throw new Error(result.message); await new Promise(r => setTimeout(r, 3000)); } if (result.error) throw new Error(result.message); return result; } // Usage — send any amount between 4 and 1,000 TRX const result = await rentEnergy('TWalletThatNeedsEnergy', 4); // 4 TRX → 65k energy // rentEnergy(addr, 8) // → 130,000 energy (new-wallet transfer) // rentEnergy(addr, 40) // → 650,000 energy (10 transfers) // rentEnergy(addr, 1000) // → 16,250,000 energy (max) console.log(result.energy); // trxAmount × 16,250 console.log(result.delegations[0].tx); // on-chain tx hash console.log(result.ref); // "nrg_d_42"
import requests import time API = 'https://api.tronnrg.com' ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx' def rent_energy(delegate_to, trx_amount=4): # 1. Send TRX to ADDR (via your Tron library) tx_hash = send_trx(ADDR, trx_amount) # your TRX send function # 2. Sign: proves you are the sender message = f'{tx_hash}:{delegate_to}' signature = tron.trx.sign_message_v2(message) # 3. Claim delegation (retry if tx not indexed yet) for attempt in range(3): result = requests.post(f'{API}/delegate', json={ 'tx_hash': tx_hash, 'delegate_to': delegate_to, 'signature': signature, }).json() if 'error' not in result: return result if result['error'] != 'payment_verification_failed': raise Exception(result['message']) time.sleep(3) raise Exception('Transaction not found after retries') # Usage result = rent_energy('TWalletThatNeedsEnergy', 4) print(f"Delegated: {result['energy']} energy") print(f"Delegation tx: {result['delegations'][0]['tx']}") print(f"Ref: {result['ref']}")
<?php $api = 'https://api.tronnrg.com'; $addr = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; function rentEnergy($api, $txHash, $delegateTo, $signature) { // 1. Send TRX to $addr (via iexbase/tron-api) // $payment = $tron->sendTrx($addr, 4); // $txHash = $payment['txid']; // 3. Claim delegation (retry if tx not indexed yet) for ($i = 0; $i < 3; $i++) { $ch = curl_init("${api}/delegate"); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode([ 'tx_hash' => $txHash, 'delegate_to' => $delegateTo, 'signature' => $signature, ]), ]); $result = json_decode(curl_exec($ch), true); curl_close($ch); if (!isset($result['error'])) return $result; if ($result['error'] !== 'payment_verification_failed') throw new Exception($result['message']); sleep(3); } throw new Exception('Transaction not found after retries'); } // Usage $result = rentEnergy($api, $txHash, 'TWalletThatNeedsEnergy'); echo "Delegated: " . $result['energy'] . " energy\n"; echo "Delegation tx: " . $result['delegations'][0]['tx'] . "\n"; echo "Ref: " . $result['ref'] . "\n";
# 1. Send TRX to TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx # Pricing is linear at 16,250 energy per TRX. # Min 4 TRX (65,000 energy), max 1,000 TRX (16.25M energy). # (use your wallet or tronweb CLI) # 2. Sign the message {tx_hash}:{delegate_to} (proves you are the sender) # (use tronWeb.trx.signMessageV2 in your code) # 3. Claim delegation with tx hash + signature curl -X POST https://api.tronnrg.com/delegate \ -H "Content-Type: application/json" \ -d '{ "tx_hash": "YOUR_PAYMENT_TX_HASH", "delegate_to": "TWalletThatNeedsEnergy", "signature": "YOUR_SIGNATURE" }' # Response includes delegations[].tx — the on-chain hash you can verify on TronScan
Telegram WhatsApp