如何通过API购买TRON带宽 — 带宽租用指南(2026)

Alex Goldsmith
作者与研究员
12 篇文章
把这个粘贴到 Claude Code 或 Cursor — 购买能量和带宽

Connect TronRental via its REST API and buy TRON resources — energy and/or bandwidth — for me.

复制此提示词并粘贴到 Claude Code、Cursor 或任何 AI 工具中。AI 会自动注册账户、创建 API 密钥、显示充值地址,并通过 REST API 购买能量或带宽 — 无需手动设置。

永久接入:MCP 服务器

1. 复制命令:

2. 在终端中执行 — Claude Code 会接入该服务器。(Cursor / Windsurf:将 npx -y @tronrental-com/mcp-server 添加到 mcp.json。)

接入后,助手即可直接访问 TronRental:自动注册账户、生成 API 密钥、显示充值地址,并购买能量或带宽 — 全部通过纯文本完成:「为地址 T... 购买 350 带宽」。

了解更多关于MCP →

以下内容——面向想了解细节并手动构建集成的人。

为什么要租用带宽?

每笔TRON交易都消耗带宽。每个已激活地址每天获得600免费带宽——但这很快就用完了:

  • 每天600免费带宽 = 大约1笔USDT(TRC-20)转账——然后就没了
  • 免费带宽用完 → 网络改为每笔交易燃烧约0.35 TRX

通过API租用带宽每350单位(一笔转账)约0.34 TRX。对于每天从一个地址进行多笔转账的服务,租用更便宜且可预测。

带宽是便宜的资源——但在规模化场景下(批量发放、交易所、机器人),燃烧的TRX会累积起来。像租用能量一样租用它。

你需要准备

  • tronrental.com 账户
  • API密钥(控制台 → API → 创建密钥)
  • 余额中的TRX(控制台 → 充值)
  • 5分钟

快速开始:3步完成首次购买

第1步 — 查询价格

curl https://api.tronrental.com/v1/bandwidth/prices
{
  "price_sun_1h": 400,
  "price_sun_1d": 630,
  "min_volume": 350,
  "max_volume": 100000,
  "fixed_fee_trx": "0.2"
}

price_sun_1h 是租用1小时时每单位带宽的价格;price_sun_1d 是1天的价格。min_volume / max_volume 限定单笔订单范围,fixed_fee_trx 额外叠加。

第2步 — 购买带宽

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"}'
{
  "id": 1842,
  "status": "pending",
  "volume": 350,
  "price_trx": "0.34",
  "target_address": "TRecipient..."
}

带宽会委托给 target_address——可以是你自己的地址,也可以是别人的。350单位可覆盖一笔标准USDT转账。

第3步 — 确认订单

curl https://api.tronrental.com/v1/orders/1842 \
  -H "X-API-Key: YOUR_API_KEY"
{
  "id": 1842,
  "status": "filled",
  "volume": 350,
  "txid": "a1b2c3..."
}

当状态变为 "filled" 时——带宽已委托。现在你可以发送交易了。

用Python实现同样的功能

import httpx

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

async def buy_bandwidth(target_address: str, amount: int = 350) -> dict:
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            f"{BASE}/bandwidth/buy",
            headers=HEADERS,
            json={"target_address": target_address, "volume": 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 buyBandwidth(targetAddress, amount = 350) {
  const resp = await fetch(`${BASE}/bandwidth/buy`, {
    method: "POST",
    headers: {
      "X-API-Key": API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      target_address: targetAddress,
      volume: amount,
      duration: "1h",
    }),
  });
  if (!resp.ok) throw new Error(`API error: ${resp.status}`);
  return resp.json();
}

该买多少带宽?

场景带宽原因
一笔USDT转账350标准TRC-20转账的大小
从一个地址进行多笔转账350 × N每天600免费带宽只够第一笔转账

不确定还剩多少免费带宽?购买前先查询:

curl "https://api.tronrental.com/v1/tools/address-info?address=TRecipient..."
{
  "bandwidth_used": 0,
  "bandwidth_limit": 600,
  "is_activated": true
}

限制:每笔订单最少350带宽,最多100,000。时长:"1h" 和 "1d"。

租用能量

带宽覆盖交易本身,但USDT(TRC-20)转账还需要能量——真正的成本在这里。没有能量,网络每笔转账会燃烧6.43–13.28 TRX。

如果你发送USDT,几乎总是也需要能量。租用65K约1.80 TRX,而不是燃烧6.43 TRX。

购买

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...", "volume": 65000, "duration": "1h"}'

65,000能量 = 1笔USDT转账(收款方已持有USDT),131,000则用于收款方从未持有过USDT的情况。详情见专门的能量API指南。

完整示例:购买带宽 → 发送交易

真实场景模式——为发送方地址购买带宽,等待委托,然后发送交易:

import asyncio
import httpx

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


async def buy_bandwidth_and_wait(target: str, amount: int = 350) -> str:
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            f"{BASE}/bandwidth/buy",
            headers=HEADERS,
            json={"target_address": target, "volume": 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["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["txid"]

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


async def send_usdt_with_resources(sender: str, recipient: str, amount_usdt: float):
    bw_tx = await buy_bandwidth_and_wait(sender, amount=350)
    print(f"Bandwidth delegated: {bw_tx}")
    # ... your USDT transfer logic here (tronpy, tronweb, etc.)

错误处理

HTTP状态含义怎么做
400请求错误(地址无效、余额不足)阅读错误信息,修正后重试
429超出限流(100次/分钟)等待并用退避重试
5xx服务器错误用指数退避重试

常见问题

带宽多快被委托?

通常3–5秒。带宽在下一个区块中on-chain委托。

我真的需要买带宽吗?它不是免费的吗?

每个地址每天获得600免费带宽——够约1笔USDT转账。如果你每天从一个地址转账超过这个量,网络会为带宽燃烧TRX,租用更便宜。

USDT转账需要带宽还是能量?

两者都要。带宽覆盖交易记录(约350单位);能量覆盖智能合约执行(65,000单位)。能量是贵的那个——大多数人两者都租。

我可以为别人的地址购买带宽吗?

可以。把 target_address 设为任何有效的TRON地址即可。你不需要拥有它。

完整文档在哪里?

docs.tronrental.com——所有端点、请求/响应结构、webhook配置等等。

分享:

这篇文章有帮助吗?