Como comprar bandwidth da TRON via API — aluguel de largura de banda (2026)

Alex Goldsmith
Autor & Pesquisador
12 artigos
Cole isto no Claude Code ou Cursor — compre energia e bandwidth

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

Copie este prompt e cole no Claude Code, Cursor ou qualquer ferramenta de IA. A IA registra uma conta, cria uma chave API, mostra o endereço de depósito e compra energia ou bandwidth via REST API — sem configuração manual.

Configuração permanente: servidor MCP

1. Copie o comando:

2. Execute-o no seu terminal — o Claude Code detectará o servidor. (Cursor / Windsurf: adicione npx -y @tronrental-com/mcp-server ao mcp.json.)

Uma vez conectado, o assistente obtém acesso direto à TronRental: registra uma conta, gera uma chave API, mostra o endereço de depósito e compra energia ou bandwidth — tudo em texto simples: «Compre 350 de bandwidth para o endereço T...».

Saiba mais sobre MCP →

Abaixo — para quem quer entender os detalhes e construir a integração manualmente.

Por que alugar bandwidth?

Cada transação TRON consome bandwidth. Cada endereço ativado recebe 600 de bandwidth grátis por dia — mas isso acaba rápido:

  • 600 de bandwidth grátis/dia = cerca de 1 transferência USDT (TRC-20) — e acabou
  • Sem bandwidth grátis → a rede queima ~0,35 TRX por transação no lugar

Alugar bandwidth via API custa ~0,34 TRX por 350 unidades (uma transferência). Para serviços que fazem muitas transferências por dia de um endereço, alugar é mais barato e previsível.

Bandwidth é o recurso barato — mas em escala (pagamentos em massa, exchanges, bots) o TRX queimado se acumula. Alugue-o do mesmo jeito que aluga energia.

O que você vai precisar

  • Conta em tronrental.com
  • Chave API (Painel → API → Criar chave)
  • TRX no seu saldo (Painel → Depositar)
  • 5 minutos

Início rápido: primeira compra em 3 passos

Passo 1 — Verificar o preço

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 é o preço por unidade de bandwidth para um aluguel de 1 hora; price_sun_1d para 1 dia. min_volume / max_volume limitam um único pedido, fixed_fee_trx é somado por cima.

Passo 2 — Comprar bandwidth

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

O bandwidth é delegado a target_address — pode ser seu próprio endereço ou de outra pessoa. 350 unidades cobrem uma transferência USDT padrão.

Passo 3 — Confirmar o pedido

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

Quando o status vira "filled" — o bandwidth foi delegado. Agora você pode enviar sua transação.

O mesmo em 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()

O mesmo em 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();
}

Quanto bandwidth comprar?

CenárioBandwidthPor quê
Uma transferência USDT350Tamanho de uma transferência TRC-20 padrão
Várias transferências de um endereço350 × NOs 600/dia grátis cobrem apenas a primeira transferência

Não sabe quanto bandwidth grátis resta? Verifique antes de comprar:

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

Limites: mínimo 350 de bandwidth por pedido, máximo 100.000. Durações: "1h" e "1d".

Alugar energia

O bandwidth cobre a transação em si, mas uma transferência USDT (TRC-20) também precisa de energia — e é aí que está o custo real. Sem energia, a rede queima 6,43–13,28 TRX por transferência.

Se você envia USDT, quase sempre quer energia também. Alugá-la custa ~1,80 TRX por 65K em vez de queimar 6,43 TRX.

Compra

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 de energia = 1 transferência USDT (o destinatário já tem USDT), 131.000 se o destinatário nunca teve USDT. Veja o guia dedicado da API de energia para detalhes.

Exemplo completo: comprar bandwidth → enviar transação

Padrão do mundo real — comprar bandwidth para o endereço remetente, esperar a delegação e então enviar a transação:

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.)

Tratamento de erros

Status HTTPO que significaO que fazer
400Requisição inválida (endereço inválido, saldo insuficiente)Leia a mensagem de erro, corrija e tente novamente
429Limite de taxa excedido (100 req/min)Aguarde e tente novamente com backoff
5xxErro do servidorTente novamente com backoff exponencial

Perguntas frequentes

Quão rápido o bandwidth é delegado?

Normalmente 3–5 segundos. O bandwidth é delegado on-chain no próximo bloco.

Eu preciso mesmo comprar bandwidth? Não é grátis?

Cada endereço recebe 600 de bandwidth grátis por dia — suficiente para ~1 transferência USDT. Se você transfere mais que isso de um endereço por dia, a rede queima TRX por bandwidth, e alugar sai mais barato.

Bandwidth ou energia — o que preciso para uma transferência USDT?

Ambos. O bandwidth cobre o registro da transação (~350 unidades); a energia cobre a execução do smart contract (65.000 unidades). A energia é a cara — a maioria aluga ambos.

Posso comprar bandwidth para o endereço de outra pessoa?

Sim. Defina target_address como qualquer endereço TRON válido. Você não precisa ser o dono.

Onde está a documentação completa?

docs.tronrental.com — todos os endpoints, esquemas de requisição/resposta, configuração de webhooks e mais.

Compartilhar:

Foi útil?