URL ya Msingi: https://api.tronnrg.com Uthibitisho: Hakuna inayohitajika. Ncha zote ni za umma. Kikomo cha kiwango: Maombi 20 kwa sekunde kwa kila Anwani ya IP Anwani ya Malipo: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (API tu, si kwa kukodisha kwa mikono)

Jinsi Inavyofanya Kazi

Hatua tatu. Hakuna ufunguo wa API, hakuna kumjiandikisha, hakuna unganisho la pochi. Umiliki unathibitishwa kwa njia ya cryptographic.

  1. Kutuma TRX — Kutuma 4 TRX (au zaidi) kwa anwani ya malipo. 4 TRX = nishati 65,000. 8 TRX = 130,000. Linear.
  2. Tia saini — Tia saini ujumbe {tx_hash}:{delegate_to} ukitumia pochi iliyotuma TRX. Hii inathibitisha kuwa umeidhinisha kukamatisha nishati.
  3. PokeaPOST /delegate na tx_hash, delegate_to, na signature. Nishati inakuja kwa ~sekunde 3.

Anwani ya Malipo

TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Anwani ya malipo ya API tu. Anwani hii ni kwa ujumuishaji wa programu kupitia API. Usitumie hii kwa kuchoma nishati ya mkono. Anwani ya kuchoma ya mkono ni tofauti na inapatikana kwenye .tronnrg.com.

Kutuma TRX kwa anwani hii. Hash ya muamala wa malipo yako ni token yako kuanzisha kukamatisha. Kila hash inaweza kutumiwa mara moja tu.

TRX ZilizotumiwaNishati IliyokamatishwaMatumizi
4 TRX65,000Kukamatisha USDT kwa pochi iliyopo (agizo la chini)
8 TRX130,000Kukamatisha USDT kwa pou la kwanza
16 TRX260,000Mikamatisho minne ya kawaida katika agizo moja
40 TRX650,000Mikamatisho kumi ya kawaida
100 TRX1,625,000~mikamatisho 25 ya kawaida — kawaida kwa jukwaa dogo
1,000 TRX16,250,000Agizo la juu, ~mikamatisho 250 ya kawaida
Kiasi chochote katikatitrx × 16,250Linear kabisa. Hakuna vipimo, hakuna paketi, hakuna punguzo.
Fomula: energy = trxSent × 16,250. Mipaka: chini zaidi 4 TRX (nishati 65,000), kwa juu zaidi 1,000 TRX (nishati 16,250,000). Zote mbili zinazihakikishwa kwa kiwango cha API — kiasi chini ya chini kinatakaatiwa na below_minimum na kinarejesewa; kiasi kwa juu ya kiwango cha juu kinatakaatiwa kabla ya kukamatisha.

POST /delegate

POST/delegate

Omba kukodisha nishati. Lazima umecheleza TRX kwenye anwani ya malipo kwenye mnyororo. Pasa hash ya muamala, anwani ya mpokeaji, na saini inayothibitisha kuwa wewe ndiyo mtumaji.

ParametaAinaMaelezo
tx_hashstringinahitajikaHash ya hexi ya herufi 64 ya malipo ya TRX
delegate_tostringinahitajikaAnwani ya Tron itakaoyopokea nishati
signaturestringinahitajikatronWeb.trx.signMessageV2() ya tronWeb.trx.signMessageV2(). Inathibitisha kuwa wewe ndiyo mtumaji wa malipo.
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");
Jibu 200
{ "ref": "nrg_d_42", "delegate_to": "TWalletAddress", "energy": 65000, "cost": 4, "status": "delegated", "delegations": [ { "tx": "a1b2c3d4e5f6...your delegation tx hash", "energy": 65000 } ] }
SehemuAinaMaelezo
refstringKitambulisho cha TronNRG. Rekebisha hii kwa malalamishi ya usaidizi.
energynumberJumla ya nishati iliyokodishwa
costnumberTRX iliyochaaji
statusstring"delegated" ikiwa ni mafanikio
delegationsarrayHash za muamala wa kukodisha kwenye mnyororo. Kila tx inaweza kuthibitishwa kwenye TronScan. Hii ni risiti yako.

GET /health

GET/health

Hundi ya kuishi kwa zana za ufuatiliaji na utumiaji. Inarejesha 200 OK wakati mchakato wa API unakuwa juu. Haiangalii nodis au wachangiaji wa juu.

Jibu 200
{ "status": "ok" }

Nambari za Hitilafu

Kila jibu la hitilafu lina error (thabiti, inayosomaika kwa mashine) na message (inayosomaika kwa binadamu). Badilisha kila wakati error katika msimbo wako.

MsimboHTTPMaana
invalid_tx_hash400Si kamba ya hexi ya herufi 64
invalid_address400Si anwani halali ya Tron
missing_signature400Hakuna saini iliyotolewa
invalid_signature401Saini haikuweza kuthibitishwa
signature_mismatch403Anwani ya saini hailani kwa mtumaji wa malipo
hash_already_used409Hash ya muamala tayari imeombi
payment_verification_failed404 / 400Uthibitisho wa kwenye mnyororo wa malipo umekosa. Soma sehemu ya message kwa sababu mahususi: muamala haijapatikana bado (404, jaribu tena baada ya sekunde chache), mpokeaji vibaya, si uhamisho wa TRX, au chini ya kiwango cha TRX 4 zaidi.
delegation_failed400 / 500Mchangiaji haweza kutoa nishati. Ikiwa kosa lilitokea baada ya malipo kuthibitishwa, nyuma ya pesa inatarajiwa moja kwa moja. Angalia kitu cha refund wakati hii inatokea.
rate_limited429Ombi nyingi sana kwa sekunde kutoka IP hii. Kikomo ni 20/sec.
server_error500Kosa la ndani lisilotarajiwa. Jaribu tena baada ya sekunde kadhaa.
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; } }

Kamata Pesa

Ikiwa kukodisha nishati kinachoshindwa baada ya malipo yako kuthibitishwa, kamata TRX inapangiliwa otomatiki na kutumwa kwa anwani ya mtumaji kwenye mlolongo. Tafuta kitu cha kamata pesa katika jibu la kosa.

Kosa na kurudi pesa
{ "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 mwisho hadi mwisho: tuma TRX, saini, dai na kusumbuwa. Nakili na tekeleza.

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