API PAYMENT ADDRESS
TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx
Magpadala ng TRX sa address na ito. Ang iyong tx hash ay ginagamit upang mag-claim ng energy delegation.

Kumpletong Node.js integration gamit ang TronWeb. Bawat hakbang ay isang standalone code block na maaari mong kopyahin sa iyong project. Ang full end-to-end example ay nasa ibaba.

Mga Pangangailangan: Node.js 18+, tronweb na naka-install ((npm install tronweb), isang funded Tron wallet.

Ang Flow

Walang API key. Walang sign-up. Ang iyong code ay nagpapadala ng TRX on-chain sa TronEnergy payment address, nag-sign ng mensahe na nagpapatunay ng pagmamay-ari, at pagkatapos ay nag-claim ng delegation. Ang Energy ay darating sa loob ng humigit-kumulang 3 segundo. Pagkatapos ang iyong code ay nagpapadala ng USDT gamit ang delegated energy.

Ang pricing ay linear: 16,250 Energy per TRX. Minimum order 4 TRX (65,000 Energy — isang standard USDT transfer), maximum 1,000 TRX (16.25M Energy). Ang amount na iyong ipinapadala ay tumutukoy nang eksakto kung gaano karaming Energy ang babalik — walang tiers o packages. Para sa isang standard transfer, magpadala ng 4. Para sa isang new-wallet transfer, magpadala ng 8. Para sa batch work, magpadala ng higit pa. Ang code sa ibaba ay gumagamit ng trxAmount variable kaya maaari mong baguhin ito sa isang lugar.

Hakbang sa Hakbang

1. Setup

setup
const { TronWeb } = require('tronweb'); // destructured: the default import is broken in v6 const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', privateKey: process.env.TRON_PRIVATE_KEY, }); const API = 'https://api.tronnrg.com'; const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; // API payment address const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';

2. Magpadala ng TRX

magpadala ng bayad
const TRX_AMOUNT = 4; // Linear: 16,250 energy per TRX. Min 4, max 1000. // 4 → 65k (standard) · 8 → 130k (new wallet) · 40 → 650k (10 transfers) const payment = await tronWeb.trx.sendTransaction(ADDR, TRX_AMOUNT * 1e6); console.log('Payment tx:', payment.txid);

3. I-claim ang Delegation

i-claim ang delegation
// Sign: proves you are the sender const msg = `${payment.txid}:${tronWeb.defaultAddress.base58}`; const sig = await tronWeb.trx.signMessageV2(msg); const delegation = await fetch(`${API}/delegate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: payment.txid, delegate_to: tronWeb.defaultAddress.base58, signature: sig, }), }).then(r => r.json()); if (delegation.error) { throw new Error(delegation.message); } console.log('Energy delegated:', delegation.energy); // TRX_AMOUNT × 16,250

4. Magpadala ng USDT

magpadala ng USDT
const contract = await tronWeb.contract().at(USDT); const tx = await contract.transfer( recipientAddress, Math.round(usdtAmount * 1e6) ).send({ feeLimit: 50_000_000 }); console.log('USDT sent:', tx);

Error Handling

paghawak ng mga error
const result = await fetch(`${API}/delegate`, { ... }) .then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Payment not yet indexed on-chain. Wait 3s and retry. break; case 'hash_already_used': // Already claimed. Don't retry. break; case 'signature_mismatch': // Sender of TRX != signer of the message. Sign with the same key. break; case 'delegation_failed': // Provider could not deliver. Retry or contact support with result.ref. break; } }

Kumpletong Example

Kopyahin ito sa isang file, itakda ang iyong environment variables, at i-run. Ang script ay nagpapadala ng TRX, nag-sign ng mensahe, nag-claim ng delegation na may retry, pagkatapos ay nagpadala ng USDT.

delegate-energy.js
const { TronWeb } = require('tronweb'); // destructured: default import is broken in v6 const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io', privateKey: process.env.TRON_PRIVATE_KEY, }); const API = 'https://api.tronnrg.com'; const ADDR = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx'; const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'; async function claimWithRetry(txHash, delegateTo, signature, retries = 3) { for (let i = 0; i < retries; i++) { const res = await fetch(`${API}/delegate`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: txHash, delegate_to: delegateTo, signature }), }).then(r => r.json()); if (!res.error) return res; if (res.error !== 'payment_verification_failed') throw new Error(res.message); await new Promise(r => setTimeout(r, 3000)); } throw new Error('Transaction not found after retries'); } async function main() { const recipient = 'TRecipientWallet'; const trxAmount = 4; // min 4, max 1000 — you get trxAmount × 16,250 energy // 1. Send TRX (linear pricing: 16,250 energy per TRX) const payment = await tronWeb.trx.sendTransaction(ADDR, trxAmount * 1e6); console.log('Payment:', payment.txid); // 2. Claim delegation // Sign: proves you are the sender const message = `${payment.txid}:${recipient}`; const signature = await tronWeb.trx.signMessageV2(message); const result = await claimWithRetry(payment.txid, recipient, signature); console.log('Delegated:', result.energy, 'energy'); console.log('Delegation tx:', result.delegations[0].tx); // verify on TronScan console.log('Ref:', result.ref); // 3. Send USDT const contract = await tronWeb.contract().at(USDT); const tx = await contract.transfer(recipient, 10 * 1e6).send(); console.log('USDT sent:', tx); } main().catch(console.error);
Palaging isama ang signature. Ito ay patunay na ikaw ang wallet na nagpadala ng TRX. Kung wala ito, ang API ay tatanggihan ang request na may missing_signature.
Telegram WhatsApp