Cách Mua Năng Lượng TRON qua API năm 2026 — Hướng Dẫn cho Vibe Coders & Lập Trình Viên

Alex Goldsmith
Tác giả & Nhà nghiên cứu
10 bài viết
Dán đoạn này vào trợ lý AI của bạn

Automate TRON energy purchases via API.

Sao chép prompt này vào Claude Code, Cursor, hoặc bất kỳ công cụ AI nào — bạn sẽ có tích hợp hoạt động trong vài phút.

Dễ hơn nữa: MCP — không cần viết code

npx -y @tronrental-com/mcp-server

MCP server cho phép trợ lý AI của bạn truy cập trực tiếp TronRental. Bạn thậm chí không cần đăng ký trên website — trợ lý sẽ tạo tài khoản, tạo khóa API, hiển thị địa chỉ nạp tiền, và mua năng lượng tự động. Tất cả qua văn bản thuần: "Mua 65,000 năng lượng cho địa chỉ T...".

Tìm hiểu thêm về MCP →

Bên dưới — dành cho những ai muốn hiểu chi tiết và xây dựng tích hợp thủ công.

Tại sao nên thuê năng lượng?

Mỗi giao dịch chuyển USDT (TRC-20) trên TRON đều cần năng lượng. Nếu không có, mạng lưới sẽ đốt TRX của bạn:

  • 65,000 năng lượng × 100 SUN = 6.43 TRX (~$1.60) — người nhận có USDT
  • 131,000 năng lượng × 100 SUN = 13.28 TRX (~$3.30) — người nhận không có USDT

Thuê năng lượng qua API chỉ ~1.80 TRX cho 65K và ~3.60 TRX cho 131K. Rẻ hơn 72%.

Với 50 giao dịch mỗi ngày, bạn tiết kiệm ~230 TRX hàng ngày — khoảng $1,700/tháng. Khó mà tranh cãi với con số.

Bạn cần gì

  • Tài khoản tại tronrental.com
  • Khóa API (Dashboard → API → Tạo Khóa)
  • TRX trong số dư (Dashboard → Nạp Tiền)
  • 5 phút

Bắt đầu nhanh: mua lần đầu trong 3 bước

Bước 1 — Kiểm tra giá

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"
}

Giá thay đổi liên tục, cập nhật mỗi 60 giây. energy_price_sun là giá cho mỗi đơn vị năng lượng. Các trường khác đã được tính sẵn để tiện sử dụng.

Bước 2 — Mua năng lượng

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..."
}

Năng lượng được ủy quyền cho target_address — có thể là địa chỉ của bạn hoặc của người khác.

Bước 3 — Xác nhận đơn hàng

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..."
}

Khi trạng thái chuyển thành "filled" — năng lượng đã được ủy quyền. Bạn có thể gửi giao dịch USDT ngay.

Tương tự trong 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()

Tương tự trong 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();
}

Cần mua bao nhiêu năng lượng?

Tình huốngNăng lượngLý do
Người nhận có USDT65,000Giao dịch chuyển tiêu chuẩn
Người nhận không có USDT131,000Giao dịch đầu tiên đến địa chỉ này tốn gấp 2 lần

Không chắc? Kiểm tra trước khi mua:

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

Giới hạn: tối thiểu 32,000 năng lượng mỗi đơn, tối đa 5,000,000.

Thuê bandwidth

Ngoài năng lượng, TRON sử dụng bandwidth cho mọi giao dịch. Mỗi địa chỉ đã kích hoạt nhận 600 bandwidth miễn phí mỗi ngày — đủ cho 1 lần chuyển USDT. Từ lần chuyển thứ hai, mạng lưới đốt TRX cho bandwidth (~0.35 TRX).

Nếu dịch vụ của bạn thực hiện nhiều giao dịch mỗi ngày từ một địa chỉ — thuê bandwidth sẽ rẻ hơn.

Bảng giá

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"
}

Công thức: (khối lượng / 1000) × 0,4 TRX + 0,2 TRX phí cố định.

Mua hàng

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 lần chuyển USDT. Tối thiểu 350, tối đa 100,000.

Ví dụ đầy đủ: mua năng lượng → gửi USDT

Mẫu thực tế — mua năng lượng cho địa chỉ người gửi, chờ ủy quyền, sau đó gửi 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.)

Xử lý lỗi

Mã HTTPÝ nghĩaCách xử lý
400Yêu cầu không hợp lệ (địa chỉ sai, số dư không đủ)Đọc thông báo lỗi, sửa và thử lại
429Vượt quá giới hạn tốc độ (100 yêu cầu/phút)Chờ và thử lại với khoảng cách tăng dần
5xxLỗi máy chủThử lại với khoảng cách tăng dần theo cấp số nhân

Câu hỏi thường gặp

Năng lượng được ủy quyền nhanh như thế nào?

Thường 3–5 giây. Năng lượng được ủy quyền on-chain trong block tiếp theo.

Nếu tôi mua năng lượng nhưng không thực hiện giao dịch thì sao?

Năng lượng hết hạn sau 1 giờ. Chi phí thuê không được hoàn — bạn trả cho việc ủy quyền, không phải việc sử dụng.

Có giới hạn tốc độ không?

100 yêu cầu mỗi phút cho mỗi khóa API. Quá đủ cho hầu hết các trường hợp sử dụng.

Tôi có thể mua năng lượng cho địa chỉ của người khác không?

Có. Đặt target_address là bất kỳ địa chỉ TRON hợp lệ nào. Bạn không cần sở hữu nó.

Tài liệu đầy đủ ở đâu?

docs.tronrental.com — tất cả endpoints, schemas yêu cầu/phản hồi, thiết lập webhook, và nhiều hơn nữa.

Bài viết có hữu ích không?