Temel URL: https://api.tronnrg.com Yetki: Hiçbir şey gerekli değil. Tüm uç noktalar herkese açık. Hız sınırı: IP adresi başına saniyede 20 istek Ödeme adresi: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (Sadece API kiralama yapılabilir, manuel kiralama geçerli değildir)

Nasıl Çalışır

Üç adım. API anahtarı yok, kayıt yok, cüzdan bağlantısı yok. Mülkiyet kriptografik olarak kanıtlanıyor.

  1. TRX gönder — Ödeme adresine 4 TRX (veya daha fazla) gönderin. 4 TRX = 65.000 enerji. 8 TRX = 130.000. Doğrusal.
  2. İmza — Mesajı imzalayın {tx_hash}:{delegate_to} TRX gönderen cüzdanı kullanarak yetkilendirme işlemini onayladığınızı kanıtlayabilirsiniz.
  3. İddiaPOST /delegate ile tx_hash, delegate_to, Ve signatureEnergy yaklaşık 3 saniyede ulaşır.

Ödeme Adresi

TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Yalnızca API ödeme adresi. Bu adres, API aracılığıyla programatik entegrasyonlar içindir. Manuel enerji kiralama işlemleri için kullanmayın. Manuel kiralama adresi farklıdır ve adresinde mevcuttur.tronnrg.com.

TRX bu adrese gönderin. Ödemenizin işlem özeti (hash), yetkilendirmeyi tetiklemek için kullanılan belirtecinizdir. Her özet yalnızca bir kez kullanılabilir.

TRX GönderildiEnergy DevredildiKullanım Durumu
4 TRX65,000Mevcut bir cüzdana standart USDT transferi (minimum sipariş)
8 TRX130,000İlk kez alıcıya USDT transferi
16 TRX260,000Tek siparişte dört standart transfer
40 TRX650,000On standart transfer
100 TRX1,625,000~25 standart aktarım — küçük platformlar için yaygın
1,000 TRX16,250,000Maksimum sipariş, yaklaşık 250 standart havale.
Aradaki herhangi bir miktartrx × 16,250Tamamen doğrusal. Kademe yok, paket yok, indirim yok.
Formül: energy = trxSent × 16,250. Sınırlar: Minimum 4 TRX (65.000 enerji), maksimum 1.000 TRX (16.250.000 enerji). Her ikisi de API seviyesinde uygulanır — minimumun altındaki miktarlar below_minimum ile reddedilir ve iade edilir; maksimumun üzerindeki miktarlar ise yetkilendirmeden önce reddedilir. Üretimde kodlamadan önce her zaman GET /supply'den canlı değerleri okuyun — aşağıya bakın.

GET /supply

GET/supply

Fiyat bilgisi ve ödeme adresini alın. Bu bilgilendirme amaçlı bir uç noktadır; enerji her zaman mevcuttur, ödeme göndermeden önce kontrol etmenize gerek yoktur.

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();
Yanıt 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

Enerji delegasyonu talep edin. Ödeme adresine zincir üzerinde TRX göndermiş olmanız gerekir. İşlem özetini, alıcı adresini ve gönderen olduğunuzu kanıtlayan bir imzayı iletin.

ParametreTipTanım
tx_hashstringgerekliTRX ödemesinin 64 karakterlik onaltılık özet kodu.
delegate_tostringgerekliEnerjiyi almak için Tron adresi
signaturestringgereklitronWeb.trx.signMessageV2() tronWeb.trx.signMessageV2()Ödemeyi gönderen kişinin siz olduğunuzu kanıtlar.
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");
Yanıt 200
{ "ref": "nrg_d_42", "delegate_to": "TWalletAddress", "energy": 65000, "cost": 4, "status": "delegated", "delegations": [ { "tx": "a1b2c3d4e5f6...your delegation tx hash", "energy": 65000 } ] }
AlanTipTanım
refstringTronNRG referans kimliği. Destek talepleri için bunu kaydedin.
energynumberToplam devredilen enerji
costnumberTRX şarj edildi
statusstringbaşarı üzerine &quot;devredildi&quot;
delegationsarrayZincir üstü yetkilendirme işlem özetleri. Her biri tx doğrulanabilir TronScanBu sizin makbuzunuz.

GET /health

GET/health

İzleme ve çalışma süresi araçları için canlılık kontrolü. Geri dönüş değerleri. 200 OK API işlemi çalışır durumda olduğunda. Yukarı akış düğümlerini veya sağlayıcılarını kontrol etmez.

Yanıt 200
{ "status": "ok" }

Hata Kodları

Her hata yanıtının error (kararlı, makine tarafından okunabilir) ve message (İnsan tarafından okunabilir). Her zaman açık bırakın. error kodunuzda.

KodHTTPAnlam
invalid_tx_hash40064 karakterlik onaltılık dize değil
invalid_address400Geçerli bir Tron adresi değil.
missing_signature400İmza verilmedi.
invalid_signature401İmza doğrulanamadı.
signature_mismatch403İmzalayanın adresi ödeme gönderenin adresiyle eşleşmiyor.
hash_already_used409İşlem özeti zaten talep edildi.
payment_verification_failed404 / 400Ödeme işleminin zincir içi doğrulaması başarısız oldu. Lütfen okuyun. message Belirli neden için ilgili alan: işlem henüz bulunamadı (404, birkaç saniye sonra tekrar denenecek), yanlış alıcı, TRX transferi değil veya 4 TRX minimumunun altında.
delegation_failed400 / 500Sağlayıcı enerji sağlayamadı. Ödeme doğrulandıktan sonra bir aksaklık meydana geldiyse, otomatik olarak geri ödeme işlemi başlatılır. Lütfen kontrol edin. refund Bu durum gerçekleştiğinde nesne.
rate_limited429Bu IP adresinden saniyede çok fazla istek geliyor. Limit saniyede 20 istektir.
server_error500Beklenmeyen dahili bir hata oluştu. Birkaç saniye sonra tekrar deneyin.
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; } }

Geri ödemeler

Ödemeniz doğrulandıktan sonra yetkilendirme başarısız olursa, otomatik olarak bir TRX iadesi sıraya alınır ve zincir üzerinde gönderen adresine geri gönderilir. Hata yanıtında iade nesnesini arayın.

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

Tam Örnek

Uçtan uca eksiksiz akış: TRX gönder, imzala, yeniden deneme ile talep et. Kopyala ve çalıştır.

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