چگونه در سال 2026 از طریق API انرژی TRON بخریم — راهنما برای Vibe Coders و توسعه‌دهندگان

Alex Goldsmith
نویسنده و پژوهشگر
10 مقاله
این را در دستیار AI خود پیست کنید

Automate TRON energy purchases via API.

این پرامپت را در Claude Code، Cursor یا هر ابزار AI کپی کنید — در عرض چند دقیقه یک یکپارچه‌سازی آماده خواهید داشت.

حتی ساده‌تر: MCP — اصلاً بدون کد

npx -y @tronrental-com/mcp-server

سرور MCP به دستیار AI شما دسترسی مستقیم به TronRental می‌دهد. حتی نیازی به ثبت‌نام در وبسایت ندارید — دستیار حساب کاربری می‌سازد، کلید API تولید می‌کند، آدرس واریز را نشان می‌دهد و energy را به طور خودکار می‌خرد. همه از طریق متن ساده: "65,000 energy برای آدرس T... بخر".

درباره MCP بیشتر بدانید →

در ادامه — برای کسانی که می‌خواهند جزئیات را بفهمند و یکپارچه‌سازی را به صورت دستی بسازند.

چرا energy اجاره کنیم؟

هر انتقال USDT (TRC-20) در TRON به energy نیاز دارد. بدون آن، شبکه TRX شما را می‌سوزاند:

  • 65,000 energy × 100 SUN = 6.43 TRX (~$1.60) — گیرنده USDT دارد
  • 131,000 energy × 100 SUN = 13.28 TRX (~$3.30) — گیرنده USDT ندارد

اجاره energy از طریق API برای 65K حدود ~1.80 TRX و برای 131K حدود ~3.60 TRX هزینه دارد. این 72% ارزان‌تر است.

با 50 انتقال در روز، روزانه ~230 TRX صرفه‌جویی می‌کنید — تقریباً $1,700/ماه. بحث کردن با ریاضیات سخت است.

چه چیزهایی نیاز دارید

  • حساب کاربری در tronrental.com
  • کلید API (Dashboard → API → Create Key)
  • TRX در موجودی شما (Dashboard → Deposit)
  • 5 دقیقه

شروع سریع: اولین خرید در 3 مرحله

مرحله 1 — قیمت را بررسی کنید

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

قیمت‌ها پویا هستند و هر 60 ثانیه به‌روزرسانی می‌شوند. energy_price_sun قیمت هر واحد energy است. سایر فیلدها برای راحتی از پیش محاسبه شده‌اند.

مرحله 2 — 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..."
}

Energy به target_address واگذار می‌شود — این می‌تواند آدرس خودتان یا شخص دیگری باشد.

مرحله 3 — سفارش را تأیید کنید

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

وقتی status به "filled" تغییر کند — energy واگذار شده است. اکنون می‌توانید انتقال USDT خود را ارسال کنید.

همین کار در 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()

همین کار در 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();
}

چقدر energy بخریم؟

سناریوEnergyچرا
گیرنده USDT دارد65,000انتقال استاندارد
گیرنده USDT ندارد131,000اولین انتقال به این آدرس 2 برابر هزینه دارد

مطمئن نیستید؟ قبل از خرید بررسی کنید:

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

محدودیت‌ها: حداقل 32,000 energy در هر سفارش، حداکثر 5,000,000.

اجاره bandwidth

علاوه بر energy، TRON از bandwidth برای همه تراکنش‌ها استفاده می‌کند. هر آدرس فعال‌شده روزانه 600 bandwidth رایگان دریافت می‌کند — کافی برای 1 انتقال USDT. از انتقال دوم، شبکه برای bandwidth، TRX می‌سوزاند (~0.35 TRX).

اگر سرویس شما از یک آدرس روزانه چندین انتقال انجام می‌دهد — اجاره bandwidth ارزان‌تر است.

قیمت‌ها

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

فرمول: (حجم / 1000) × 0.4 TRX + 0.2 TRX کارمزد ثابت.

خرید

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. حداقل 350، حداکثر 100,000.

مثال کامل: خرید energy → ارسال USDT

الگوی واقعی — خرید energy برای آدرس فرستنده، انتظار برای واگذاری، سپس ارسال 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.)

مدیریت خطا

وضعیت HTTPچه معنایی داردچه کاری باید انجام دهید
400درخواست نامعتبر (آدرس نامعتبر، موجودی ناکافی)پیام خطا را بخوانید، اصلاح کنید و دوباره تلاش کنید
429محدودیت نرخ بیش از حد (100 req/min)صبر کنید و با backoff دوباره تلاش کنید
5xxخطای سروربا exponential backoff دوباره تلاش کنید

FAQ

Energy چقدر سریع واگذار می‌شود؟

معمولاً 3 تا 5 ثانیه. Energy در بلوک بعدی به صورت on-chain واگذار می‌شود.

اگر energy بخرم ولی انتقال نکنم چه؟

Energy پس از 1 ساعت منقضی می‌شود. هزینه اجاره برگردانده نمی‌شود — شما برای واگذاری پرداخت می‌کنید، نه برای استفاده.

آیا محدودیت نرخ وجود دارد؟

100 درخواست در دقیقه برای هر کلید API. برای اکثر موارد استفاده بیش از کافی است.

آیا می‌توانم برای آدرس شخص دیگری energy بخرم؟

بله. target_address را به هر آدرس معتبر TRON تنظیم کنید. نیازی نیست مالک آن باشید.

مستندات کامل کجاست؟

docs.tronrental.com — همه اندپوینت‌ها، اسکیماهای درخواست/پاسخ، تنظیمات webhook و موارد دیگر.

مفید بود؟