Cómo comprar bandwidth de TRON por API — alquiler de ancho de banda (2026)

Alex Goldsmith
Autor e investigador
12 articulos
Pega esto en Claude Code o Cursor — compra energía y bandwidth

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

Copia este prompt y pégalo en Claude Code, Cursor o cualquier herramienta de IA. La IA registra una cuenta, crea una clave API, muestra la dirección de depósito y compra energía o bandwidth vía REST API — sin configuración manual.

Configuración permanente: servidor MCP

1. Copia el comando:

2. Ejecútalo en tu terminal — Claude Code detectará el servidor. (Cursor / Windsurf: añade npx -y @tronrental-com/mcp-server a mcp.json.)

Una vez conectado, el asistente obtiene acceso directo a TronRental: registra una cuenta, genera una clave API, muestra la dirección de depósito y compra energía o bandwidth — todo en texto plano: «Compra 350 de bandwidth para la dirección T...».

Más sobre MCP →

Abajo — para quienes quieren entender los detalles y construir la integración manualmente.

¿Por qué alquilar bandwidth?

Cada transacción de TRON consume bandwidth. Cada dirección activada recibe 600 de bandwidth gratis al día — pero se agota rápido:

  • 600 de bandwidth gratis/día = alrededor de 1 transferencia USDT (TRC-20) — y se acabó
  • Sin bandwidth gratis → la red quema ~0,35 TRX por transacción en su lugar

Alquilar bandwidth por API cuesta ~0,34 TRX por 350 unidades (una transferencia). Para servicios que hacen muchas transferencias al día desde una dirección, alquilar es más barato y predecible.

El bandwidth es el recurso barato — pero a escala (pagos masivos, exchanges, bots) el TRX quemado se acumula. Alquílalo igual que la energía.

Qué necesitas

  • Cuenta en tronrental.com
  • Clave API (Panel → API → Crear clave)
  • TRX en tu saldo (Panel → Depositar)
  • 5 minutos

Inicio rápido: primera compra en 3 pasos

Paso 1 — Consultar el precio

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 es el precio por unidad de bandwidth para un alquiler de 1 hora; price_sun_1d para 1 día. min_volume / max_volume limitan un solo pedido, fixed_fee_trx se añade aparte.

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

El bandwidth se delega a target_address — puede ser tu propia dirección u otra. 350 unidades cubren una transferencia USDT estándar.

Paso 3 — Confirmar el pedido

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

Cuando el estado pasa a "filled" — el bandwidth está delegado. Ya puedes enviar tu transacción.

Lo mismo en 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()

Lo mismo en 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();
}

¿Cuánto bandwidth comprar?

EscenarioBandwidthPor qué
Una transferencia USDT350Tamaño de una transferencia TRC-20 estándar
Varias transferencias desde una dirección350 × NLos 600/día gratis solo cubren la primera transferencia

¿No sabes cuánto bandwidth gratis queda? Compruébalo antes de comprar:

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

Límites: mínimo 350 de bandwidth por pedido, máximo 100.000. Duraciones: "1h" y "1d".

Alquilar energía

El bandwidth cubre la transacción en sí, pero una transferencia USDT (TRC-20) también necesita energía — y ahí está el coste real. Sin energía, la red quema 6,43–13,28 TRX por transferencia.

Si envías USDT, casi siempre quieres energía también. Alquilarla cuesta ~1,80 TRX por 65K en vez de quemar 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 energía = 1 transferencia USDT (el receptor ya tiene USDT), 131.000 si el receptor nunca tuvo USDT. Consulta la guía dedicada de la API de energía para más detalles.

Ejemplo completo: comprar bandwidth → enviar transacción

Patrón real — comprar bandwidth para la dirección emisora, esperar la delegación y luego enviar la transacción:

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

Manejo de errores

Estado HTTPQué significaQué hacer
400Solicitud incorrecta (dirección inválida, saldo insuficiente)Lee el mensaje de error, corrige y reintenta
429Límite de tasa superado (100 req/min)Espera y reintenta con backoff
5xxError del servidorReintenta con backoff exponencial

Preguntas frecuentes

¿Con qué rapidez se delega el bandwidth?

Normalmente 3–5 segundos. El bandwidth se delega on-chain en el siguiente bloque.

¿Necesito comprar bandwidth? ¿No es gratis?

Cada dirección recibe 600 de bandwidth gratis al día — suficiente para ~1 transferencia USDT. Si transfieres más que eso desde una dirección al día, la red quema TRX por bandwidth, y alquilar sale más barato.

Bandwidth o energía — ¿qué necesito para una transferencia USDT?

Ambos. El bandwidth cubre el registro de la transacción (~350 unidades); la energía cubre la ejecución del contrato inteligente (65.000 unidades). La energía es la cara — la mayoría alquila ambos.

¿Puedo comprar bandwidth para la dirección de otra persona?

Sí. Pon en target_address cualquier dirección TRON válida. No necesitas ser su propietario.

¿Dónde está la documentación completa?

docs.tronrental.com — todos los endpoints, esquemas de petición/respuesta, configuración de webhooks y más.

Compartir:

¿Te fue útil?