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.
TXT5QsBD3pZYZaUVjiTtoimCaSppKKKKKK| Send | Energy | Transfers |
|---|---|---|
| 1.5 TRX | 65,000 | 1 |
| 3.05 TRX | 131,000 | 2 |
| 4.55 TRX | 196,000 | 3 |
- 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/checkreports 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
/api/checkno keyCheck 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.
| Parameter | In | Type | Meaning |
|---|---|---|---|
addressrequired | query | string | The address that will send the USDT and receive the Energy |
recipient | query | string | The address that will receive the USDT |
curl "https://tronilend.com/api/check?address=TSender...&recipient=TRecipient..."{
"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"
}
}packis the cheapest package that coversenergyMissing, ornullwhen the need is larger than the grid.readyis true when nothing has to be bought at all.canPayInstantsays whether the sender's TRX balance covers the package plus the transfer fee.
Limit: 30 requests per minute per IP.
/api/order-statusno keyFollow an instant purchase
Poll it after sending the TRX, passing the paying address and the moment you sent it.
| Parameter | In | Type | Meaning |
|---|---|---|---|
fromrequired | query | string | The address the payment was sent from |
sincerequired | query | integer | Unix time in milliseconds; only the last 2 hours are searched |
curl "https://tronilend.com/api/order-status?from=TSender...&since=1767225600000"{
"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,delegateTxholds the transaction;ready— delegated and visible on the address.problem: truemeans the order needs a human — write to support@tronilend.com withpaymentTx.sinceearlier 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.
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.
/api/energy/v1/mescope: readThe key and its account
The account behind the key, its wallet balance and the key's own daily limit.
curl https://tronilend.com/api/energy/v1/me \
-H "Authorization: Bearer tle_<public>_<secret>"{
"data": {
"account": { "id": 2, "email": "you@example.com" },
"key": { "name": "backend", "prefix": "a1b2c3d4", "scope": "purchase" },
"balanceTrx": 25.4,
"dailyLimitTrx": 50,
"spentTodayTrx": 4.28
}
}dailyLimitTrxisnullfor a key without a cap.spentTodayTrxcounts since midnight UTC, net of refunds.
Limit: 120 requests per minute per key.
/api/energy/v1/quotescope: readPrice a purchase
What a purchase would cost right now, before making it. The price includes this account's own markup, if it has one.
| Parameter | In | Type | Meaning |
|---|---|---|---|
energyrequired | query | integer | 65000, 131000 or 196000 |
termrequired | query | string | 15m or 1h |
curl "https://tronilend.com/api/energy/v1/quote?energy=65000&term=1h" \
-H "Authorization: Bearer tle_<public>_<secret>"{ "data": { "energy": 65000, "term": "1h", "trx": 1.5 } }Limit: 120 requests per minute per key.
/api/energy/v1/ordersscope: purchaseBuy 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.
| Parameter | In | Type | Meaning |
|---|---|---|---|
addressrequired | body | string | TRON address the Energy is delegated to |
energyrequired | body | integer | 65000, 131000 or 196000 |
termrequired | body | string | 15m or 1h |
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"}'{
"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.
/api/energy/v1/ordersscope: readList orders
This account's orders, newest first.
| Parameter | In | Type | Meaning |
|---|---|---|---|
limit | query | integer | 1–100, default 50 |
offset | query | integer | Rows to skip, default 0 |
curl "https://tronilend.com/api/energy/v1/orders?limit=20" \
-H "Authorization: Bearer tle_<public>_<secret>"{
"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.
/api/energy/v1/orders/{id}scope: readOne order
A single order of this account; another account's order answers 404, as if it did not exist.
| Parameter | In | Type | Meaning |
|---|---|---|---|
idrequired | path | integer | The order id from the purchase or the list |
curl https://tronilend.com/api/energy/v1/orders/1042 \
-H "Authorization: Bearer tle_<public>_<secret>"{
"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": {
"code": "validation_failed",
"message": "Some fields are invalid.",
"details": { "energy": "One of 65000, 131000, 196000." }
}
}| HTTP | code | When |
|---|---|---|
| 400 | invalid_address | address or recipient is not a TRON address |
| 400 | invalid_query | from is not an address, or since is not a number |
| 400 | invalid_json | The request body is not valid JSON |
| 401 | unauthorized | Missing, invalid or revoked API key |
| 402 | insufficient_balance | Not enough TRX on the wallet balance |
| 403 | insufficient_scope | The key's scope is too narrow for this call |
| 403 | daily_limit_exceeded | The key reached its daily spending cap |
| 404 | not_found | No such order, or it belongs to another account |
| 422 | validation_failed | A field is missing, unknown or out of range; details names it |
| 429 | rate_limited | Over the per-minute limit; wait for Retry-After seconds |
| 502 | provider_upstream_error | Delivery refused; the money is back on the balance |
| 502 | network_unavailable | The TRON node did not answer; retry |
| 503 | provider_unavailable | Pricing is temporarily unavailable |
| 503 | pool_not_configured | Instant purchases are temporarily off |
Something else? Write to support@tronilend.com.