URL-и асосӣ: https://api.tronnrg.com Иҷозат: Ҳеҷ зарурате нест. Ҳамаи нуқтаҳои ниҳоӣ оммавӣ мебошанд. Маҳдудияти нарх: 20 дархост дар як сония барои як IP Суроғаи пардохт: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (Танҳо API , на барои иҷораи дастӣ)

Чӣ тавр кор мекунад

Се қадам. Калиди API нест, бақайдгирӣ нест, пайвасти ҳамён нест. Соҳибӣ бо роҳи криптографӣ исбот карда мешавад.

  1. TRX фиристед — 4 TRX (ё бештар)-ро ба суроғаи пардохт фиристед. 4 TRX = 65,000 энергия. 8 TRX = 130,000. Хаттӣ.
  2. Аломат — Паёмро имзо кунед {tx_hash}:{delegate_to} бо истифода аз ҳамёне, ки TRX фиристодааст. Ин исбот мекунад, ки шумо ваколатдор кардаед.
  3. ДаъвоPOST /delegate бо tx_hash, delegate_to, ва signatureEnergy дар тақрибан 3 сония мерасад.

Суроғаи пардохт

TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Танҳо суроғаи пардохти API . Ин суроға барои ҳамгироии барномавӣ тавассути API мебошад. Инро барои иҷораи дастӣ бо энергия истифода набаред. Суроғаи иҷораи дастӣ фарқ мекунад ва дар дастрас аст.tronnrg.com.

TRX ба ин суроға фиристед. Хэши транзаксияи пардохти шумо токени шумо барои фаъол кардани ваколат мебошад. Ҳар як хэшро танҳо як маротиба истифода бурдан мумкин аст.

TRX фиристода шудEnergy ваколатдоршудаҲолати истифода
4 TRX65,000Интиқоли стандартии USDT ба ҳамёни мавҷуда (ҳадди ақал фармоиш)
8 TRX130,000Интиқоли USDT ба гирандаи бори аввал
16 TRX260,000Чор интиқоли стандартӣ дар як фармоиш
40 TRX650,000Даҳ интиқоли стандартӣ
100 TRX1,625,000~25 интиқоли стандартӣ — маъмулан барои платформаҳои хурд
1,000 TRX16,250,000Максималии фармоиш, ~250 интиқоли стандартӣ
Ҳар гуна маблағ дар байниtrx × 16,250Пурра хаттӣ. Бе сатҳҳо, бе бастаҳо ва бе тахфифҳо.
Формула: energy = trxSent × 16,250. Ҳудудҳо: ҳадди ақал 4 TRX (65,000 энергия), ҳадди аксар 1,000 TRX (16,250,000 энергия). Ҳарду дар сатҳи API татбиқ карда мешаванд — маблағҳои камтар аз ҳадди ақал бо below_minimum рад карда мешаванд ва баргардонида мешаванд; маблағҳои аз ҳадди аксар болотар пеш аз ваколатдиҳӣ рад карда мешаванд. Ҳамеша арзишҳои зиндаро аз GET /supply пеш аз рамзгузории сахт дар истеҳсолот хонед — ба зер нигаред.

GET /supply

GET/supply

Маълумоти нархгузорӣ ва суроғаи пардохтро гиред. Ин нуқтаи ниҳоии иттилоотӣ аст — энергия ҳамеша дастрас аст, пеш аз фиристодани пардохт ба шумо лозим нест, ки тафтиш кунед.

curl https://api.tronnrg.com/supply
const supply = await fetch('https://api.tronnrg.com/supply') .then(r => r.json()); // Energy is always available. Use supply.pay_to for the payment address. console.log('Pay to:', supply.pay_to);
import requests supply = requests.get('https://api.tronnrg.com/supply').json() # Energy is always available. Use supply['pay_to'] for the payment address. print(supply['pay_to'])
$supply = json_decode( file_get_contents('https://api.tronnrg.com/supply'), true ); // if less than you require, wait and retry // Energy is always available. Use $supply['pay_to'] for the payment address. echo $supply['pay_to'];
var client = new HttpClient(); var json = await client.GetStringAsync("https://api.tronnrg.com/supply"); var supply = JsonSerializer.Deserialize<JsonElement>(json); // Energy is always available. Use pay_to for the payment address. var payTo = supply.GetProperty("pay_to").GetString();
Response 200
{ "available": true, "energy_per_trx": 16250, "min_order_trx": 4, "max_order_trx": 1000, "pay_to": "TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx", "examples": { "standard": { "trx": 4, "energy": 65000, "note": "Existing USDT wallet" }, "new_wallet": { "trx": 8, "energy": 130000, "note": "First-time USDT recipient" } } }

POST /delegate

POST/delegate

Талаб кардани намояндагии энергия. Шумо бояд аллакай TRX ба суроғаи пардохт дар шабака фиристода бошед. Хэши транзаксия, суроғаи гиранда ва имзоеро, ки тасдиқ мекунад, ки шумо фиристанда ҳастед, интиқол диҳед.

ParameterTypeDescription
tx_hashstringrequiredХэши шашкашакли 64-рақамаи пардохти TRX
delegate_tostringrequiredСуроғаи Tron барои гирифтани энергия
signaturestringrequiredSign {tx_hash}:{delegate_to} using tronWeb.trx.signMessageV2(). Proves you are the payment sender.
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");
Response 200
{ "ref": "nrg_d_42", "delegate_to": "TWalletAddress", "energy": 65000, "cost": 4, "status": "delegated", "delegations": [ { "tx": "a1b2c3d4e5f6...your delegation tx hash", "energy": 65000 } ] }
FieldTypeDescription
refstringID-и истинодии TronNRG . Инро барои дархостҳои дастгирӣ сабт кунед.
energynumberЭнергияи умумии супурдашуда
costnumberTRX ситонида шудааст
statusstring&quot;ваколатдор&quot; барои муваффақият
delegationsarrayOn-chain delegation transaction hashes. Each tx is verifiable on TronScan. This is your receipt.

GET /health

GET/health

Liveness check for monitoring and uptime tools. Returns 200 OK when the API process is up. Does not check upstream nodes or providers.

Response 200
{ "status": "ok" }

Рамзҳои хато

Every error response has error (stable, machine-readable) and message (human-readable). Always switch on error.

CodeHTTPMeaning
invalid_tx_hash400Сатри шашкунҷаи 64-рақама нест
invalid_address400Суроғаи Tron дуруст нест
missing_signature400Имзо дода нашудааст
invalid_signature401Имзо тасдиқ карда нашуд
signature_mismatch403Суроғаи имзокунанда бо фиристандаи пардохт мувофиқат намекунад
hash_already_used409Хеши транзаксия аллакай талаб карда шудааст
payment_verification_failed404 / 400On-chain verification of the payment failed. Read the message field for the specific cause: tx not found yet (404, retry in a few seconds), wrong recipient, not a TRX transfer, or below the 4 TRX minimum.
delegation_failed400 / 500Provider could not deliver energy. If the failure happened after the payment was verified, an automatic refund is queued. The error response includes a refund object when this happens.
rate_limited429Дархостҳо аз ҳад зиёд дар як сония аз ин IP. Маҳдудият 20/сония аст.
server_error500Хатои дохилии ғайричашмдошт. Баъди чанд сония такрор кунед.
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; } }

Refunds

Агар супориш пас аз тасдиқи пардохти шумо ноком шавад, баргардонидани TRX ба таври худкор ба навбат гузошта мешавад ва ба суроғаи фиристанда дар шабака фиристода мешавад. Дар посухи хатогӣ объекти баргардониданро ҷустуҷӯ кунед.

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

Намунаи пурра

Ҷараёни пурраи пурра: TRX фиристед, имзо гузоред, бо такрори кӯшиш даъво кунед. Нусхабардорӣ кунед ва иҷро кунед.

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