Vollständige REST- API -Dokumentation für TronEnergy Energy . Endpunkte, Parameter, Antwortformate und Fehlercodes.
Basis-URL:https://api.tronnrg.comAuthentifizierung: Keine erforderlich. Alle Endpunkte sind öffentlich.
Ratenbegrenzung: 20 Anfragen pro Sekunde pro IP-Adresse
Zahlungsadresse:TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx (Nur API , nicht für manuelle Vermietungen)
So funktioniert es
Drei Schritte. Kein API Schlüssel, keine Registrierung, keine Wallet-Verbindung. Der Eigentumsnachweis erfolgt kryptografisch.
Send TRX Senden Sie 4 TRX (oder mehr) an die Zahlungsadresse. 4 TRX = 65.000 Energie. 8 TRX = 130.000. Linear.
Zeichen — Unterschreiben Sie die Nachricht {tx_hash}:{delegate_to} Die Verwendung der Wallet, von der die TRX gesendet wurden, beweist, dass Sie die Delegation autorisiert haben.
Beanspruchen — POST /delegate mit tx_hash, delegate_to, Und signatureEnergy trifft in etwa 3 Sekunden ein.
Zahlungsadresse
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Nur API Zahlungsadresse. Diese Adresse dient der programmatischen Integration über die API . Bitte verwenden Sie diese Adresse nicht für manuelle Energievermietungen. Die Adresse für manuelle Vermietungen ist separat und auf verfügbar.tronnrg.com.
Senden Sie TRX an diese Adresse. Der Transaktions-Hash Ihrer Zahlung ist Ihr Token zur Auslösung der Delegierung. Jeder Hash kann nur einmal verwendet werden.
TRX gesendet
Energy delegiert
Anwendungsfall
4 TRX
65,000
Standardmäßige USDT Überweisung auf eine bestehende Wallet (Mindestbestellwert)
8 TRX
130,000
USDT Überweisung an einen Erstempfänger
16 TRX
260,000
Vier Standardtransfers in einer Bestellung
40 TRX
650,000
Zehn Standardtransfers
100 TRX
1,625,000
~25 Standardtransfers – üblich für kleine Plattformen
1,000 TRX
16,250,000
Maximale Bestellmenge: ca. 250 Standardüberweisungen
Jeder beliebige Betrag dazwischen
trx × 16,250
Vollständig linear. Keine Stufen, keine Pakete, keine Rabatte.
Formel:energy = trxSent × 16,250. Grenzen: Mindestens 4 TRX (65.000 Energie), maximal 1.000 TRX (16.250.000 Energie). Beide Werte werden auf API -Ebene durchgesetzt: Beträge unterhalb des Mindestwerts werden mit `below_minimum` abgelehnt und erstattet; Beträge oberhalb des Höchstwerts werden vor der Delegierung abgelehnt. Lesen Sie die aktuellen Werte immer über `GET /supply`, bevor Sie sie in der Produktionsumgebung fest codieren – siehe unten.
GET /supply
GET/supply
Hier erhalten Sie Preisinformationen und die Zahlungsadresse. Dies ist lediglich ein Informationspunkt – Energie ist immer verfügbar, Sie müssen dies vor der Zahlung nicht prüfen.
curl https://api.tronnrg.com/supply
const supply = awaitfetch('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 = newHttpClient();
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();
Fordern Sie eine Energiedelegation an. Sie müssen bereits TRX an die On-Chain-Zahlungsadresse gesendet haben. Übermitteln Sie den Transaktions-Hash, die Empfängeradresse und eine Signatur, die Ihre Absenderidentität belegt.
Parameter
Type
Description
tx_hash
string
required
64-stelliger Hex-Hash der TRX Zahlung
delegate_to
string
required
Tron -Adresse zum Empfangen der Energie
signature
string
required
Sign {tx_hash}:{delegate_to} using tronWeb.trx.signMessageV2(). Proves you are the payment sender.
TronNRG Referenz-ID. Bitte notieren Sie diese für Supportanfragen.
energy
number
Gesamtenergie delegiert
cost
number
TRX geladen
status
string
"delegiert" auf Erfolg
delegations
array
On-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" }
Fehlercodes
Every error response has error (stable, machine-readable) and message (human-readable). Always switch on error.
Code
HTTP
Meaning
invalid_tx_hash
400
Keine 64-stellige Hexadezimalzeichenkette
invalid_address
400
Keine gültige Tron -Adresse
missing_signature
400
Keine Unterschrift vorhanden
invalid_signature
401
Die Signatur konnte nicht verifiziert werden.
signature_mismatch
403
Die Adresse des Unterzeichners stimmt nicht mit der Adresse des Zahlungsempfängers überein.
hash_already_used
409
Der Transaktions-Hash wurde bereits beansprucht.
payment_verification_failed
404 / 400
On-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_failed
400 / 500
Provider 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_limited
429
Zu viele Anfragen pro Sekunde von dieser IP-Adresse. Limit: 20/Sek.
server_error
500
Unerwarteter interner Fehler. Bitte versuchen Sie es in wenigen Sekunden erneut.
const result = awaitfetch('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.passelif result['error'] == 'hash_already_used':
# Already claimed. Don't retry.passelif result['error'] == 'signature_mismatch':
# Signer != payment sender. Sign with the same key.passelif 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
Schlägt die Delegation nach der Zahlungsbestätigung fehl, wird automatisch eine TRX Rückerstattung veranlasst und an die Absenderadresse in der Blockchain zurückgesendet. Suchen Sie in der Fehlerantwort nach dem Rückerstattungsobjekt.
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
}
}
Vollständiges Beispiel
Vollständiger End-to-End-Ablauf: TRX senden, signieren, mit Wiederholungsversuchen beanspruchen. Kopieren und ausführen.
const API = 'https://api.tronnrg.com';
const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
async functionrentEnergy(delegateTo, trxAmount = 4) {
// 1. Send TRX to the payment addressconst payment = await tronWeb.trx.sendTransaction(ADDR, trxAmount * 1e6);
// 2. Sign: proves you are the senderconst 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 = awaitfetch(`${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 newError(result.message);
await newPromise(r => setTimeout(r, 3000));
}
if (result.error) throw newError(result.message);
return result;
}
// Usage — send any amount between 4 and 1,000 TRXconst result = awaitrentEnergy('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'defrent_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 inrange(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':
raiseException(result['message'])
time.sleep(3)
raiseException('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']}")
# 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