بنیادی URL: https://api.tronnrg.com تصدیق: کوئی ضرورت نہیں۔ تمام اختتامی مقامات عوامی ہیں۔ شرح کی حد: 20 درخواستیں/سیکنڈ فی آئی پی ادائیگی کا پتہ: 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، اور signature. Energy ~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_hashstringrequiredTRX ادائیگی کا 64-حروف ہیکس ہیش
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
refstringTronNRG حوالہ ID۔ سپورٹ کے سوالات کے لیے اسے لاگ ان کریں۔
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_hash40064 حروف کی ہیکس سٹرنگ نہیں۔
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