URL หลัก: https://api.tronnrg.com
อนุมัติ: ไม่จำเป็นต้องระบุอะไรเลย ทุกเอนด์พอยต์เป็นแบบสาธารณะ
ขีดจำกัดอัตรา: 20 คำขอต่อวินาทีต่อ IP
ที่อยู่สำหรับชำระเงิน: TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (ใช้งานได้เฉพาะผ่าน API เท่านั้น ไม่สามารถใช้สำหรับการเช่าด้วยตนเองได้)
วิธีการทำงาน
สามขั้นตอน ไม่ต้องใช้คีย์ API ไม่ต้องลงทะเบียน ไม่ต้องเชื่อมต่อกระเป๋าเงิน การเป็นเจ้าของได้รับการพิสูจน์ด้วยวิธีการเข้ารหัสลับ
ส่ง TRX — ส่ง TRX จำนวน 4 หน่วย (หรือมากกว่า) ไปยังที่อยู่สำหรับการชำระเงิน 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 ก่อนที่จะกำหนดค่าเหล่านั้นลงในโค้ดจริง — ดูรายละเอียดด้านล่าง
GET /supply
รับข้อมูลราคาและที่อยู่สำหรับการชำระเงิน นี่เป็นเพียงจุดเชื่อมต่อข้อมูลเท่านั้น พลังงานมีให้บริการตลอดเวลา คุณไม่จำเป็นต้องตรวจสอบก่อนส่งการชำระเงิน
cURL
JavaScript
Python
PHP
C#
สำเนา
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 ();
{
"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
ขอรับสิทธิ์การมอบหมายพลังงาน คุณต้องได้ส่ง 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 รหัสอ้างอิง TronNRG โปรดบันทึกรหัสนี้ไว้สำหรับการสอบถามด้านการสนับสนุน
energy number พลังงานทั้งหมดที่ได้รับมอบหมาย
cost number TRX ชาร์จแล้ว
status string "มอบหมาย" เมื่อประสบความสำเร็จ
delegations array แฮชธุรกรรมการมอบหมายบนบล็อกเชน แต่ละรายการ tx สามารถตรวจสอบได้ที่ TronScan นี่คือใบเสร็จรับเงินของคุณ
GET /health
ตรวจสอบความมีชีวิตของเครื่องมือตรวจสอบและเวลาทำงาน ส่งคืน 200 OK เมื่อกระบวนการ API ทำงานอยู่ จะไม่ตรวจสอบโหนดต้นทางหรือผู้ให้บริการ
รหัสข้อผิดพลาด
การตอบสนองต่อข้อผิดพลาดทุกครั้งมี error (เสถียร อ่านได้ด้วยเครื่อง) และ message (อ่านง่ายสำหรับมนุษย์) เปิดใช้งานตลอดเวลา error ในโค้ดของคุณ
รหัส ทศนิยม ความหมาย
invalid_tx_hash400 ไม่ใช่สตริงเลขฐานสิบหก 64 ตัวอักษร
invalid_address400 ไม่ใช่ที่อยู่ Tron ที่ถูกต้อง
missing_signature400 ไม่มีลายเซ็น
invalid_signature401 ไม่สามารถตรวจสอบลายเซ็นได้
signature_mismatch403 ที่อยู่ผู้ลงนามไม่ตรงกับที่อยู่ผู้ส่งเงิน
hash_already_used409 แฮชธุรกรรมถูกใช้งานไปแล้ว
payment_verification_failed404 / 400 การตรวจสอบความถูกต้องของการชำระเงินบนบล็อกเชนล้มเหลว โปรดอ่านรายละเอียดเพิ่มเติม message ระบุสาเหตุที่เฉพาะเจาะจง: ยังไม่พบธุรกรรม (404 โปรดลองใหม่อีกครั้งในอีกไม่กี่วินาที), ผู้รับไม่ถูกต้อง, ไม่ใช่การโอน TRX หรือจำนวน TRX น้อยกว่า 4 รายการขั้นต่ำ
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