Tronergydocs

Rent energy

Send energy to any TRON address for a set time, and let it broadcast on its own.

The delegate_energy mode sends energy to an address. Tronergy does not broadcast anything. The address uses the energy for its own transactions, so it does not burn TRX. When the time is up, the energy is taken back.

Use it when the wallet already broadcasts by itself, for example an exchange hot wallet or a payment processor. You pay from your balance. To see the current energy price without an API key, use Pricing.

Only energy is delegated. Bandwidth is not covered in this mode.

Find out how much energy you need

Ask estimate for a common action, such as a USDT transfer.

quote.ts
const quote = await call('/chain_relayers/portal/estimate', {
  chain: 'tron',
  mode: 'delegate_energy',
  environment: 'live',
  payload: { token: 'USDT', operation: 'transfer', target_address: 'TXyz...' },
})

const energyAmount = quote.breakdown.effectiveEnergyAmount ?? quote.breakdown.energyAmount

operation is transfer or approve. Only USDT is supported. You can also price an exact amount with { "target_address": "TXyz...", "energy_amount": 65000 }.

call() is a small fetch helper. See the quickstart script.

Execute

Terminal
curl -X POST https://apiv2.tronergy.io/api/chain_relayers/portal/execute \
  -H "x-api-key: $TRONERGY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "chain": "tron",
    "mode": "delegate_energy",
    "environment": "live",
    "idempotencyKey": "0b7f1d7e-8a51-4b6e-9d2f-1a3c5e7f9b11",
    "payload": { "target_address": "TXyz...", "energy_amount": 65000, "duration_seconds": 3600 }
  }'

The payload takes exactly three fields. Extra fields are rejected.

  • target_address: the address that gets the energy.
  • energy_amount: a positive whole number.
  • duration_seconds: optional. From 3600 (1 hour, the default) to 2592000 (30 days).

Wait for the energy

Track the operation. When it is completed, the energy is on the address and the wallet can send.

Too small an amount

If energy_amount is below the minimum order, execute returns 422 ENERGY_AMOUNT_BELOW_MINIMUM. It does not round up for you. Retry with details.suggestedEnergyAmount and a new idempotencyKey.

See execute for every field and error.