Paano Bumili ng TRON Energy sa pamamagitan ng API sa 2026 — Gabay para sa Vibe Coders at Developers

Alex Goldsmith
May-akda & Mananaliksik
10 artikulo
I-paste ito sa iyong AI assistant

Automate TRON energy purchases via API.

Kopyahin ang prompt na ito sa Claude Code, Cursor, o anumang AI tool — magkakaroon ka ng gumaganang integration sa loob ng ilang minuto.

Mas madali pa: MCP — walang code kahit ano

npx -y @tronrental-com/mcp-server

Ang MCP server ay nagbibigay sa iyong AI assistant ng direktang access sa TronRental. Hindi mo na kailangang mag-register sa website — ang assistant ang gagawa ng account, mag-generate ng API key, magpapakita ng deposit address, at bibili ng energy nang awtomatiko. Lahat sa pamamagitan ng plain text: "Bumili ng 65,000 energy para sa address T...".

Matuto pa tungkol sa MCP →

Sa ibaba — para sa mga gustong maunawaan ang mga detalye at manu-manong buuin ang integration.

Bakit umupa ng energy?

Bawat USDT (TRC-20) transfer sa TRON ay nangangailangan ng energy. Kung wala ito, sinusunog ng network ang iyong TRX:

  • 65,000 energy × 100 SUN = 6.43 TRX (~$1.60) — may USDT ang recipient
  • 131,000 energy × 100 SUN = 13.28 TRX (~$3.30) — walang USDT ang recipient

Ang pag-upa ng energy sa pamamagitan ng API ay nagkakahalaga ng ~1.80 TRX para sa 65K at ~3.60 TRX para sa 131K. Iyan ay 72% na mas mura.

Sa 50 transfer bawat araw, nakakatipid ka ng ~230 TRX araw-araw — humigit-kumulang $1,700/buwan. Mahirap makipagtalo sa matematika.

Ano ang kakailanganin mo

  • Account sa tronrental.com
  • API key (Dashboard → API → Gumawa ng Key)
  • TRX sa iyong balance (Dashboard → Deposit)
  • 5 minuto

Mabilis na simula: unang pagbili sa 3 hakbang

Hakbang 1 — Suriin ang presyo

curl https://api.tronrental.com/v1/prices
{
  "energy_price_sun": 33,
  "energy_price_trx_per_65k": "2.12",
  "energy_price_trx_per_131k": "4.24",
  "burn_cost_trx": "6.43",
  "savings_percent": "67.0"
}

Ang mga presyo ay dynamic, ina-update tuwing 60 segundo. Ang energy_price_sun ang presyo bawat unit ng energy. Ang ibang mga field ay pre-calculated para sa kaginhawahan.

Hakbang 2 — Bumili ng energy

curl -X POST https://api.tronrental.com/v1/energy/buy \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_address": "TRecipient...", "energy_amount": 65000, "duration": "1h"}'
{
  "order_id": 1842,
  "status": "pending",
  "energy_amount": 65000,
  "price_trx": "2.12",
  "target_address": "TRecipient..."
}

Ang energy ay dine-delegate sa target_address — maaaring sarili mong address o sa iba.

Hakbang 3 — Kumpirmahin ang order

curl https://api.tronrental.com/v1/orders/1842 \
  -H "X-API-Key: YOUR_API_KEY"
{
  "order_id": 1842,
  "status": "filled",
  "energy_amount": 65000,
  "tx_hash": "a1b2c3..."
}

Kapag naging "filled" ang status — nai-delegate na ang energy. Maaari ka nang magpadala ng iyong USDT transfer.

Ganoon din sa Python

import httpx

API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}

async def buy_energy(target_address: str, amount: int = 65_000) -> dict:
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            f"{BASE}/energy/buy",
            headers=HEADERS,
            json={"target_address": target_address, "energy_amount": amount, "duration": "1h"},
        )
        resp.raise_for_status()
        return resp.json()

Ganoon din sa JavaScript

const API_KEY = "your_api_key";
const BASE = "https://api.tronrental.com/v1";

async function buyEnergy(targetAddress, amount = 65000) {
  const resp = await fetch(`${BASE}/energy/buy`, {
    method: "POST",
    headers: {
      "X-API-Key": API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      target_address: targetAddress,
      energy_amount: amount,
      duration: "1h",
    }),
  });
  if (!resp.ok) throw new Error(`API error: ${resp.status}`);
  return resp.json();
}

Gaano karaming energy ang bibilhin?

SitwasyonEnergyBakit
May USDT ang recipient65,000Karaniwang transfer
Walang USDT ang recipient131,000Ang unang transfer sa address na ito ay nagkakahalaga ng 2x

Hindi sigurado? Suriin bago bumili:

curl "https://api.tronrental.com/v1/tools/check-energy?address=TRecipient..."
{
  "has_usdt": true,
  "energy_needed": 64285,
  "rental_cost_trx": "2.12"
}

Mga limitasyon: minimum 32,000 energy bawat order, maximum 5,000,000.

Pag-upa ng bandwidth

Bukod sa energy, gumagamit ang TRON ng bandwidth para sa lahat ng transaksyon. Bawat activated na address ay nakakakuha ng 600 libreng bandwidth bawat araw — sapat para sa 1 USDT transfer. Mula sa pangalawang transfer, sinusunog ng network ang TRX para sa bandwidth (~0.35 TRX).

Kung ang iyong serbisyo ay gumagawa ng maraming transfer bawat araw mula sa isang address — mas mura ang pag-upa ng bandwidth.

Mga Presyo

curl https://api.tronrental.com/v1/bandwidth/prices
{
  "price_per_day_trx": "9.6",
  "min_volume": 350,
  "max_volume": 100000,
  "fixed_fee_trx": "0.2"
}

Formula: (volume / 1000) × 0.4 TRX + 0.2 TRX fixed na bayad.

Pagbili

curl -X POST https://api.tronrental.com/v1/bandwidth/buy \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_address": "TRecipient...", "volume": 350, "duration": "1h"}'

350 bandwidth = 1 USDT transfer. Minimum 350, maximum 100,000.

Buong halimbawa: bumili ng energy → magpadala ng USDT

Pattern sa totoong buhay — bumili ng energy para sa sender address, hintayin ang delegation, pagkatapos magpadala ng USDT:

import asyncio
import httpx

API_KEY = "your_api_key"
BASE = "https://api.tronrental.com/v1"
HEADERS = {"X-API-Key": API_KEY}


async def buy_energy_and_wait(target: str, amount: int = 65_000) -> str:
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            f"{BASE}/energy/buy",
            headers=HEADERS,
            json={"target_address": target, "energy_amount": amount, "duration": "1h"},
        )
        data = resp.json()

        if resp.status_code == 400:
            raise Exception(f"Purchase failed: {data.get('detail', data)}")
        resp.raise_for_status()

        order_id = data["order_id"]

        for _ in range(10):
            await asyncio.sleep(3)
            check = await client.get(f"{BASE}/orders/{order_id}", headers=HEADERS)
            order = check.json()
            if order["status"] == "filled":
                return order["tx_hash"]

        raise TimeoutError(f"Order {order_id} not filled after 30s")


async def send_usdt_with_energy(sender: str, recipient: str, amount_usdt: float):
    tx_hash = await buy_energy_and_wait(sender, amount=65_000)
    print(f"Energy delegated: {tx_hash}")
    # ... your USDT transfer logic here (tronpy, tronweb, etc.)

Pag-handle ng mga error

HTTP statusAno ang ibig sabihinAno ang gagawin
400Maling request (invalid address, kulang ang balance)Basahin ang error message, ayusin at subukan muli
429Nalampasan ang rate limit (100 req/min)Maghintay at subukan muli gamit ang backoff
5xxServer errorSubukan muli gamit ang exponential backoff

FAQ

Gaano kabilis nai-delegate ang energy?

Karaniwang 3–5 segundo. Ang energy ay dine-delegate on-chain sa susunod na block.

Paano kung bumili ako ng energy pero hindi nag-transfer?

Ang energy ay mag-e-expire pagkatapos ng 1 oras. Ang halaga ng pag-upa ay hindi nire-refund — binabayaran mo ang delegation, hindi ang paggamit.

May rate limit ba?

100 request bawat minuto bawat API key. Sobra-sobra na para sa karamihan ng use case.

Maaari ba akong bumili ng energy para sa address ng ibang tao?

Oo. Itakda ang target_address sa anumang valid na TRON address. Hindi mo kailangang pag-aari ito.

Nasaan ang buong dokumentasyon?

docs.tronrental.com — lahat ng endpoints, request/response schemas, webhook setup, at higit pa.

Nakatulong ba ito?