Skip to content

Developers

Tronilend Energy API

Buy TRON Energy from code. No account and no key for the instant purchase: it is a plain TRX transfer, followed by two open endpoints. With an account, an API key buys straight from your wallet balance.

Base URL
https://tronilend.com
Format
JSON, UTF-8, no-store
Key header
Bearer tle_…

The service never asks for a seed phrase or a private key: only a public address is used, and Energy is handed over with the standard DelegateResource function.

Buy with a transfer

Send one of the exact amounts below to the pool address. Energy is delegated back to the address the payment came from, so pay from the wallet that needs it — never from an exchange, whose withdrawals come from the exchange's own address.

Pool address
TXT5QsBD3pZYZaUVjiTtoimCaSppKKKKKK
SendEnergyTransfers
1.5 TRX65,0001
3.05 TRX131,0002
4.55 TRX196,0003
  • Any other amount is treated as an unrecognised payment and goes to support.
  • Energy stays delegated for 60 minutes and arrives 3–10 seconds after the payment confirms. Unused Energy is not refunded.
  • A brand-new address must be activated first: 1.2 TRX on top of the package. GET /api/check reports whether it is needed.

Energy per USDT transfer

Recipient already holds USDT

~65,000

Recipient holds no USDT yet

~131,000

The amount sent makes no difference. Without Energy the network burns TRX instead — about 6.85 TRX, or 13.35 TRX to an address with no USDT — and burned TRX cannot be recovered.

Open endpoints

GET/api/checkno key

Check an address

What the address holds, how much Energy its next USDT transfer needs and which package covers the gap. Pass the recipient as well when you know it: the requirement doubles for a recipient with no USDT.

ParameterInTypeMeaning
addressrequiredquerystringThe address that will send the USDT and receive the Energy
recipientquerystringThe address that will receive the USDT
Request
curl "https://tronilend.com/api/check?address=TSender...&recipient=TRecipient..."
Response 200
{
  "data": {
    "sender": { "address": "T...", "activated": true, "trx": 12.4, "usdt": 250, "energy": 0, "bandwidth": 600 },
    "recipient": { "address": "T...", "activated": true, "hasUsdt": true },
    "energyNeeded": 65000,
    "energyMissing": 65000,
    "bandwidthMissing": 0,
    "burnTrx": 6.85,
    "pack": { "trx": 1.5, "energy": 65000, "transfers": 1 },
    "needsActivation": false,
    "canPayInstant": true,
    "ready": false,
    "checkedAt": "2026-01-01T00:00:00.000Z"
  }
}
  • pack is the cheapest package that covers energyMissing, or null when the need is larger than the grid.
  • ready is true when nothing has to be bought at all.
  • canPayInstant says whether the sender's TRX balance covers the package plus the transfer fee.

Limit: 30 requests per minute per IP.

GET/api/order-statusno key

Follow an instant purchase

Poll it after sending the TRX, passing the paying address and the moment you sent it.

ParameterInTypeMeaning
fromrequiredquerystringThe address the payment was sent from
sincerequiredqueryintegerUnix time in milliseconds; only the last 2 hours are searched
Request
curl "https://tronilend.com/api/order-status?from=TSender...&since=1767225600000"
Response 200
{
  "data": {
    "stage": "delegated",
    "paymentTx": "abc123…",
    "paidTrx": 1.5,
    "delegateTx": "def456…",
    "energy": 65000,
    "problem": false
  }
}
  • stage: waiting — no matching payment yet; received — payment seen, Energy not delegated yet; delegated — Energy sent, delegateTx holds the transaction; ready — delegated and visible on the address.
  • problem: true means the order needs a human — write to support@tronilend.com with paymentTx.
  • since earlier than 2 hours ago is clamped.

Limit: 40 requests per minute per IP.

Key API

Buy from your wallet balance without sending a transfer each time. Issue a key in the cabinet under API keys — it is shown once — and send it with every request.

Header
Authorization: Bearer tle_<public>_<secret>
  • Scopes nest: read ⊆ purchase ⊆ full.
  • A key may carry a daily spending cap, checked before the money moves; a refunded order gives its allowance back.
  • 120 requests per minute per key; over it, 429 with Retry-After.
GET/api/energy/v1/mescope: read

The key and its account

The account behind the key, its wallet balance and the key's own daily limit.

Request
curl https://tronilend.com/api/energy/v1/me \
  -H "Authorization: Bearer tle_<public>_<secret>"
Response 200
{
  "data": {
    "account": { "id": 2, "email": "you@example.com" },
    "key": { "name": "backend", "prefix": "a1b2c3d4", "scope": "purchase" },
    "balanceTrx": 25.4,
    "dailyLimitTrx": 50,
    "spentTodayTrx": 4.28
  }
}
  • dailyLimitTrx is null for a key without a cap. spentTodayTrx counts since midnight UTC, net of refunds.

Limit: 120 requests per minute per key.

GET/api/energy/v1/quotescope: read

Price a purchase

What a purchase would cost right now, before making it. The price includes this account's own markup, if it has one.

ParameterInTypeMeaning
energyrequiredqueryinteger65000, 131000 or 196000
termrequiredquerystring15m or 1h
Request
curl "https://tronilend.com/api/energy/v1/quote?energy=65000&term=1h" \
  -H "Authorization: Bearer tle_<public>_<secret>"
Response 200
{ "data": { "energy": 65000, "term": "1h", "trx": 1.5 } }

Limit: 120 requests per minute per key.

POST/api/energy/v1/ordersscope: purchase

Buy Energy

Delegates Energy to the address, paid from the wallet balance. The money moves only after the price, the balance and the key's daily limit are checked; a refused delivery puts it back on the balance.

ParameterInTypeMeaning
addressrequiredbodystringTRON address the Energy is delegated to
energyrequiredbodyinteger65000, 131000 or 196000
termrequiredbodystring15m or 1h
Request
curl -X POST https://tronilend.com/api/energy/v1/orders \
  -H "Authorization: Bearer tle_<public>_<secret>" \
  -H "Content-Type: application/json" \
  -d '{"address":"TQ2yVKnuHv2T9necU7Px3XuHuXXyZqHW3Y","energy":65000,"term":"1h"}'
Response 201
{
  "data": {
    "id": 1042,
    "address": "TQ2yVKnuHv2T9necU7Px3XuHuXXyZqHW3Y",
    "energy": 65000,
    "term": "1h",
    "trx": 1.5,
    "status": "filled",
    "delegationTx": "cc823bbdf4397c6e9bed7379124367dcb616190dac730d2a2e1f2ef9f94dc0dc",
    "createdAt": "2026-10-29T17:27:08.728Z"
  }
}
  • 202 under_review — the delivery outcome is unclear and is being checked; the money is held until it resolves, do not retry the purchase.
  • Unknown fields are refused with 422 validation_failed, so a typo never buys the wrong thing.

Limit: 120 requests per minute per key.

GET/api/energy/v1/ordersscope: read

List orders

This account's orders, newest first.

ParameterInTypeMeaning
limitqueryinteger1–100, default 50
offsetqueryintegerRows to skip, default 0
Request
curl "https://tronilend.com/api/energy/v1/orders?limit=20" \
  -H "Authorization: Bearer tle_<public>_<secret>"
Response 200
{
  "data": [
  {
    "id": 1042,
    "address": "TQ2yVKnuHv2T9necU7Px3XuHuXXyZqHW3Y",
    "energy": 65000,
    "term": "1h",
    "trx": 1.5,
    "status": "filled",
    "delegationTx": "cc823bbdf4397c6e9bed7379124367dcb616190dac730d2a2e1f2ef9f94dc0dc",
    "createdAt": "2026-10-29T17:27:08.728Z"
  }
  ],
  "pagination": { "total": 1, "limit": 20, "offset": 0 }
}
  • status: pending — being delivered; filled — Energy delegated; failed — refused, the money is back; review — needs a check by support.

Limit: 120 requests per minute per key.

GET/api/energy/v1/orders/{id}scope: read

One order

A single order of this account; another account's order answers 404, as if it did not exist.

ParameterInTypeMeaning
idrequiredpathintegerThe order id from the purchase or the list
Request
curl https://tronilend.com/api/energy/v1/orders/1042 \
  -H "Authorization: Bearer tle_<public>_<secret>"
Response 200
{
  "data": {
    "id": 1042,
    "address": "TQ2yVKnuHv2T9necU7Px3XuHuXXyZqHW3Y",
    "energy": 65000,
    "term": "1h",
    "trx": 1.5,
    "status": "filled",
    "delegationTx": "cc823bbdf4397c6e9bed7379124367dcb616190dac730d2a2e1f2ef9f94dc0dc",
    "createdAt": "2026-10-29T17:27:08.728Z"
  }
}

Limit: 120 requests per minute per key.

Errors

Every failure has one shape. The key API adds a human-readable message, and details per field when a request was invalid.

Error
{
  "error": {
    "code": "validation_failed",
    "message": "Some fields are invalid.",
    "details": { "energy": "One of 65000, 131000, 196000." }
  }
}
HTTPcodeWhen
400invalid_addressaddress or recipient is not a TRON address
400invalid_queryfrom is not an address, or since is not a number
400invalid_jsonThe request body is not valid JSON
401unauthorizedMissing, invalid or revoked API key
402insufficient_balanceNot enough TRX on the wallet balance
403insufficient_scopeThe key's scope is too narrow for this call
403daily_limit_exceededThe key reached its daily spending cap
404not_foundNo such order, or it belongs to another account
422validation_failedA field is missing, unknown or out of range; details names it
429rate_limitedOver the per-minute limit; wait for Retry-After seconds
502provider_upstream_errorDelivery refused; the money is back on the balance
502network_unavailableThe TRON node did not answer; retry
503provider_unavailablePricing is temporarily unavailable
503pool_not_configuredInstant purchases are temporarily off

Something else? Write to support@tronilend.com.