URL-и асосӣ: https://api.tronnrg.com
Иҷозат: Ҳеҷ зарурате нест. Ҳамаи нуқтаҳои ниҳоӣ оммавӣ мебошанд.
Маҳдудияти нарх: 20 дархост дар як сония барои як IP
Суроғаи пардохт: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (Танҳо API , на барои иҷораи дастӣ)
Чӣ тавр кор мекунад
Се қадам. Калиди API нест, бақайдгирӣ нест, пайвасти ҳамён нест. Соҳибӣ бо роҳи криптографӣ исбот карда мешавад.
TRX фиристед — 4 TRX (ё бештар)-ро ба суроғаи пардохт фиристед. 4 TRX = 65,000 энергия. 8 TRX = 130,000. Хаттӣ.
Аломат — Паёмро имзо кунед {tx_hash}:{delegate_to} бо истифода аз ҳамёне, ки TRX фиристодааст. Ин исбот мекунад, ки шумо ваколатдор кардаед.
Даъво — POST /delegate бо tx_hash, delegate_to, ва signatureEnergy дар тақрибан 3 сония мерасад.
Суроғаи пардохт
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Нусха
Танҳо суроғаи пардохти API . Ин суроға барои ҳамгироии барномавӣ тавассути API мебошад. Инро барои иҷораи дастӣ бо энергия истифода набаред. Суроғаи иҷораи дастӣ фарқ мекунад ва дар дастрас аст.
tronnrg.com .
TRX ба ин суроға фиристед. Хэши транзаксияи пардохти шумо токени шумо барои фаъол кардани ваколат мебошад. Ҳар як хэшро танҳо як маротиба истифода бурдан мумкин аст.
TRX фиристода шуд Energy ваколатдоршуда Ҳолати истифода
4 TRX 65,000 Интиқоли стандартии USDT ба ҳамёни мавҷуда (ҳадди ақал фармоиш)
8 TRX 130,000 Интиқоли USDT ба гирандаи бори аввал
16 TRX 260,000 Чор интиқоли стандартӣ дар як фармоиш
40 TRX 650,000 Даҳ интиқоли стандартӣ
100 TRX 1,625,000 ~25 интиқоли стандартӣ — маъмулан барои платформаҳои хурд
1,000 TRX 16,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 пеш аз рамзгузории сахт дар истеҳсолот хонед — ба зер нигаред.
POST /delegate
Талаб кардани намояндагии энергия. Шумо бояд аллакай TRX ба суроғаи пардохт дар шабака фиристода бошед. Хэши транзаксия, суроғаи гиранда ва имзоеро, ки тасдиқ мекунад, ки шумо фиристанда ҳастед, интиқол диҳед.
Параметр Навъ Тавсиф
tx_hash string зарурӣ Хэши шашкашакли 64-рақамаи пардохти TRX
delegate_to string зарурӣ Суроғаи Tron барои гирифтани энергия
signature string зарурӣ tronWeb.trx.signMessageV2() аз tronWeb.trx.signMessageV2()Исбот мекунад, ки шумо фиристандаи пардохт ҳастед.
cURL
JavaScript
Python
PHP
C#
Нусха
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" );
{
"ref" : "nrg_d_42" ,
"delegate_to" : "TWalletAddress" ,
"energy" : 65000 ,
"cost" : 4 ,
"status" : "delegated" ,
"delegations" : [
{ "tx" : "a1b2c3d4e5f6...your delegation tx hash" , "energy" : 65000 }
]
}
Майдон Навъ Тавсиф
ref string ID-и истинодии TronNRG . Инро барои дархостҳои дастгирӣ сабт кунед.
energy number Энергияи умумии супурдашуда
cost number TRX ситонида шудааст
status string "ваколатдор" барои муваффақият
delegations array Хэшҳои муомилоти намояндагии дохили занҷир. Ҳар як tx тасдиқшаванда аст TronScan Ин квитансияи шумост.
GET /health
Санҷиши зиндамонӣ барои асбобҳои мониторинг ва вақти корӣ. Баргардонидан 200 OK вақте ки раванди API фаъол аст. Гиреҳҳо ё провайдерҳои болообро тафтиш намекунад.
Рамзҳои хато
Ҳар як посухи хатогӣ дорад error (устувор, хондашаванда дар мошин) ва message (барои инсон хондашаванда). Ҳамеша фаъол кунед error дар рамзи шумо.
Код HTTP Маънӣ
invalid_tx_hash400 Сатри шашкунҷаи 64-рақама нест
invalid_address400 Суроғаи Tron дуруст нест
missing_signature400 Имзо дода нашудааст
invalid_signature401 Имзо тасдиқ карда нашуд
signature_mismatch403 Суроғаи имзокунанда бо фиристандаи пардохт мувофиқат намекунад
hash_already_used409 Хеши транзаксия аллакай талаб карда шудааст
payment_verification_failed404 / 400 Тасдиқи пардохт дар шабака ноком шуд. Бихонед message майдон барои сабаби мушаххас: tx ҳанӯз ёфт нашудааст (404, пас аз чанд сония такрор кунед), гирандаи нодуруст, интиқоли TRX нест ё аз ҳадди ақали 4 TRX камтар аст.
delegation_failed400 / 500 Таъминкунанда натавонист барқро интиқол диҳад. Агар нокомӣ пас аз тасдиқи пардохт рух диҳад, баргардонидани маблағ ба таври худкор ба навбат гузошта мешавад. Санҷед refund вақте ки ин рӯй медиҳад, эътироз кунед.
rate_limited429 Дархостҳо аз ҳад зиёд дар як сония аз ин IP. Маҳдудият 20/сония аст.
server_error500 Хатои дохилии ғайричашмдошт. Баъди чанд сония такрор кунед.
JavaScript
Python
PHP
Нусха
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 ;
}
}
Баргардонидани маблағҳо
Агар супориш пас аз тасдиқи пардохти шумо ноком шавад, баргардонидани TRX ба таври худкор ба навбат гузошта мешавад ва ба суроғаи фиристанда дар шабака фиристода мешавад. Дар посухи хатогӣ объекти баргардониданро ҷустуҷӯ кунед.
{
"error" : "delegation_failed" ,
"message" : "Energy delegation failed. Your payment will be refunded." ,
"ref" : "nrg_d_43" ,
"refund" : {
"type" : "queued" ,
"to" : "TSenderAddress" ,
"amount" : 4
}
}
Намунаи пурра
Ҷараёни пурраи пурра: TRX фиристед, имзо гузоред, бо такрори кӯшиш даъво кунед. Нусхабардорӣ кунед ва иҷро кунед.
JavaScript
Python
PHP
cURL
Нусха
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