URL ya Msingi: https://api.tronnrg.com Idhini: Hakuna kinachohitajika. Sehemu zote za mwisho ni za umma. Kikomo cha kiwango: Maombi 20 kwa sekunde kwa kila IP Anwani ya malipo: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx ( API pekee, si kwa ajili ya kukodisha kwa mikono)

Jinsi Inavyofanya Kazi

Hatua tatu. Hakuna ufunguo API , hakuna usajili, hakuna muunganisho wa pochi. Umiliki unathibitishwa kwa njia ya siri.

  1. Tuma TRX — Tuma TRX 4 (au zaidi) kwa anwani ya malipo. TRX 4 = nishati 65,000. TRX 8 = 130,000. Mstari.
  2. Ishara — Saini ujumbe {tx_hash}:{delegate_to} kwa kutumia pochi iliyotuma TRX . Hii inathibitisha kwamba uliidhinisha uwasilishaji.
  3. DaiPOST /delegate na tx_hash, delegate_tona signatureEnergy hufika baada ya sekunde ~3.

Anwani ya Malipo

TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Anwani ya malipo API pekee. Anwani hii ni ya ujumuishaji wa programu kupitia API . Usitumie hii kwa ukodishaji wa nishati kwa mikono. Anwani ya ukodishaji kwa mikono ni tofauti na inapatikana kwenye .tronnrg.com.

Tuma TRX kwa anwani hii. Hashi ya muamala wa malipo yako ni tokeni yako ya kuanzisha ugawaji. Kila hashi inaweza kutumika mara moja tu.

TRX ImetumwaEnergy ImekabidhiwaTumia Kipochi
4 TRX65,000Uhamisho wa kawaida USDT hadi kwenye pochi iliyopo (kiasi cha chini cha agizo)
8 TRX130,000Uhamisho wa USDT kwa mpokeaji wa mara ya kwanza
16 TRX260,000Uhamisho wa kawaida nne katika mpangilio mmoja
40 TRX650,000Uhamisho kumi wa kawaida
100 TRX1,625,000~Uhamisho wa kawaida 25 — kawaida kwa mifumo midogo
1,000 TRX16,250,000Agizo la juu zaidi, uhamisho wa kawaida wa ~250
Kiasi chochote kati yatrx × 16,250Kikamilifu mstari. Hakuna ngazi, hakuna vifurushi, hakuna punguzo.
Fomula: energy = trxSent × 16,250. Mipaka: Kiwango cha chini cha 4 TRX (nishati 65,000), kiwango cha juu cha 1,000 TRX (nishati 16,250,000). Zote mbili zinatekelezwa katika kiwango API — kiasi kilicho chini ya kiwango cha chini kinakataliwa kwa kiwango cha chini cha chini na kurejeshewa pesa; kiasi kilicho juu ya kiwango cha juu kinakataliwa kabla ya kugawa. Soma kila wakati thamani za moja kwa moja kutoka kwa GET /supply kabla ya kuziweka kwenye mfumo wa uandishi — tazama hapa chini.

GET /supply

GET/supply

Pata maelezo ya bei na anwani ya malipo. Hii ni sehemu ya mwisho ya taarifa — nishati inapatikana kila wakati, huhitaji kuangalia kabla ya kutuma malipo.

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

Dai uwakilishi wa nishati. Lazima uwe tayari umetuma TRX kwa anwani ya malipo iliyopo kwenye mnyororo. Toa hash ya muamala, anwani ya mpokeaji, na sahihi inayothibitisha wewe ndiye mtumaji.

ParameterTypeDescription
tx_hashstringrequiredHash ya heksaidi yenye herufi 64 ya malipo ya TRX
delegate_tostringrequiredAnwani Tron ili kupokea nishati
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
refstringKitambulisho cha marejeleo TronNRG . Ingia hii kwa maswali ya usaidizi.
energynumberJumla ya nishati iliyokabidhiwa
costnumberTRX imechajiwa
statusstring&quot;kukabidhiwa&quot; kwa mafanikio
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" }

Misimbo ya Hitilafu

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

CodeHTTPMeaning
invalid_tx_hash400Sio mfuatano wa heksadi wenye herufi 64
invalid_address400Sio anwani halali Tron
missing_signature400Hakuna sahihi iliyotolewa
invalid_signature401Saini haikuweza kuthibitishwa
signature_mismatch403Anwani ya mwenye kusaini hailingani na mtumaji wa malipo
hash_already_used409Hash ya muamala tayari imedaiwa
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_limited429Maombi mengi sana kwa sekunde kutoka kwa IP hii. Kikomo ni 20/sekunde.
server_error500Hitilafu ya ndani isiyotarajiwa. Jaribu tena baada ya sekunde chache.
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

Ikiwa ugawaji utashindwa baada ya malipo yako kuthibitishwa, marejesho TRX huwekwa kwenye foleni kiotomatiki na kutumwa kwa anwani ya mtumaji iliyopo kwenye mnyororo. Tafuta kitu cha marejesho katika jibu la hitilafu.

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 } }

Mfano Kamili

Mtiririko kamili wa kuanzia mwanzo hadi mwisho: tuma TRX , saini, dai kwa kujaribu tena. Nakili na uendesha.

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