Integre API v2 para cotizar, crear y realizar un seguimiento de los pedidos de alquiler de TRON Energy mediante programación. Pague en cadena o desde su saldo TronBid y reduzca el TRX quemado por las llamadas de contratos inteligentes.
La API Quick Rent es una forma de alquilar TRON Energy automáticamente, sin trabajo manual. Energy hace que las transferencias de USDT (TRC-20) y otras llamadas de contratos inteligentes sean más baratas que quemar TRX.
En palabras sencillas: su programa (un sitio, bot o servicio) compra energía por sí mismo, exactamente cuando la necesita, por ejemplo, antes de cada transferencia de USDT que realiza su cliente.
Piense en una máquina expendedora: verifica el precio, inserta dinero y obtiene su artículo. La API es el mismo conjunto de botones, solo que su programa los presiona.
Su programa le pregunta a la API cuánto cuesta el paquete de energía necesario en este momento.
Su programa crea un pedido y lo paga enviando TRX a la dirección indicada o cargando su saldo TronBid.
En unos segundos aparece energía en la billetera objetivo y el USDT se puede enviar más barato.
Importante: la API es una herramienta para un desarrollador. Para usarlo, alguien tiene que escribir un código que envíe las solicitudes.
Si no hay nadie que escriba el código, utilice la compra de energía ya preparada en el sitio (Quick Rent) o el bot de Telegram @tronbid. Mismo resultado, pero hecho manualmente.
Un ejemplo completo de un extremo a otro en el escenario más simple (en cadena). Cuatro pasos y la energía está en la billetera.
A continuación se muestra lo que sucede en cada paso y lo que devuelve la API. Ingrese su clave API, direcciones e identificación de pedido.
Envía la cantidad de energía y la duración. Obtendrás price_trx y durante cuántos segundos estará bloqueado.
Envíe el paquete, su idempotency_key y payer_address. Obtienes pay_address (dónde pagar), cantidad_trx (cuánto) y expira_at (hasta cuándo).
Envíe exactamente cantidad_trx TRX a dirección_pago desde su dirección_pagador. Es una simple transferencia TRON.
Sondea el estado cada dos segundos hasta que se delega. Eso significa que la energía se delega a la billetera y listo.
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}# poll every 3s until the order is done
while true; do
STATUS=$(curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY" | jq -r .status)
echo "status: $STATUS"
case "$STATUS" in
delegated|failed|expired|cancelled) break ;;
esac
sleep 3
done{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}Breves explicaciones de las palabras utilizadas en esta documentación.
Qué preparar antes de realizar tu primera petición.
Envía un mensaje a @tronbid en Telegram: recibirás una clave vinculada a tu cuenta TronBid. Las solicitudes no pasarán sin él.
Decide la dirección (target_address) que necesita energía. Por lo general, es la billetera desde la que sus clientes envían USDT.
La energía se vende en paquetes (normalmente 65.000 o 131.000 energías para 15 o 60 minutos). Obtenga la lista activa desde el punto final del catálogo, no se necesita autenticación.
Para on-chain: una billetera con TRX para pagar. Para pago de saldo: una cuenta TronBid con fondos y el modo de saldo habilitado.
La API Quick Rent permite que su servicio alquile TRON Energy automáticamente, por lo que las transferencias USDT TRC-20 y otras llamadas de contratos inteligentes cuestan menos que grabar TRX.
Todos los puntos finales comparten una URL base.
https://tronbid.com/api/v2/quick-rentHay dos formas de pagar un pedido. On-chain es el valor predeterminado y no necesita configuración. El pago del saldo es opcional y debe estar habilitado para su clave.
Sin activación, una solicitud con modo_pago: saldo devuelve 403 BALANCE_PAYMENT_NOT_ENABLED. Para habilitarlo, comuníquese con el soporte de TronBid.
| Mode | Cómo habilitar | Pago |
|---|---|---|
on-chain | Predeterminado: omitir el modo_pago (o "onchain") | Enviar TRX a pay_address desde payer_address |
balance | modo_pago: saldo + habilitado para su clave | Debitado de su saldo TRX TronBid |
cantidad_energía y duración_minutos deben coincidir con un paquete Quick Rent activo, generalmente 65000 o 131000 energía y 15 o 60 minutos.
Obtenga el catálogo actual en cualquier momento (no se requiere autenticación):
curl -sS https://tronbid.com/api/public/quick-rent/skusPaso 1: PUBLICAR/cotizar para conocer el precio. Paso 2: PUBLICAR /pedidos para crear el pedido y recibir pay_address, cantidad_trx y expires_at. Paso 3: envíe exactamente cantidad_trx TRX a pay_address desde su payer_address. Paso 4: sondee GET /orders/:id hasta que el estado sea delegado (o fallido/caducado/cancelado).
target_address es opcional; si se omite, la energía se delega a payer_address.
Solo se permite un pedido abierto en cadena (pago_pendiente) por dirección_de_pagador a la vez; de lo contrario, obtendrás 409 PENDING_PAYMENT_INTENT_EXISTS. En caso de pago insuficiente o excesivo, la energía final puede diferir: verifique la cantidad_de_energía efectiva en GET /orders/:id.
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-001",
"payer_address": "TPayerWalletXXXXXXXXXXXXXXXXXXXXXX",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}Paso 1: OBTÉN /saldo para verificar tu TRX. Paso 2: PUBLICAR/cotizar el precio. Paso 3: PUBLICAR/pedidos con modo_pago: saldo a debitar e iniciar delegación. Paso 4: sondee GET /orders/:id hasta que sea delegado (en caso de un error de delegación, falla y TRX se reembolsa a su saldo).
payer_address no es necesario: la cuenta vinculada a su clave API paga. La cantidad de energía en la respuesta puede ser mayor que el SKU (bono de matriz de precios) solicitado.
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-balance-001",
"payment_mode": "balance",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}Cada pedido pasa por estos estados. Encuesta GET /orders/:id para seguirlo.
| Status | Significado |
|---|---|
pending_payment | Esperando pago en cadena |
delegating | Pago recibido o saldo cobrado; delegación en progreso |
delegated | Energía delegada |
cancelled | Cancelado antes del pago (en cadena) |
expired | La ventana de pago en cadena ha transcurrido |
failed | Error (para el saldo, se reembolsa TRX) |
idempotency_key (8–128 caracteres) es una identificación de pedido única de su lado. Repetir POST/pedidos con la misma clave (para el mismo cliente API) devuelve el mismo pedido con "duplicado": verdadero.
No reutilice una idempotency_key en diferentes modos de pago (en cadena o en saldo): eso devuelve 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Calcule cuánta energía necesita una dirección para una transferencia. Pase la billetera del destinatario y si ya contiene USDT.
/api/v2/quick-rent/calculator| Parámetro | Type | Descripción | Example |
|---|---|---|---|
dirección_billetera | string | Dirección TRON a analizar | TXXXXXXXX...XXXX |
has_usdt | boolean | null | Si el destinatario ya posee USDT (afecta la energía). verdadero, falso u omitir. | true |
{
"wallet_address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"has_usdt": true
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/calculator" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"wallet_address":"TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","has_usdt":true}'Devuelve el precio actual de un paquete: price_trx, disponibilidad, save_percent y cuánto tiempo es válida la cotización (expires_in_sec).
/api/v2/quick-rent/quote| Parámetro | Type | Descripción | Example |
|---|---|---|---|
cantidad_energía | int | Cantidad de energía del catálogo activo | 131000 |
duración_minutos | int | Duración del alquiler según catálogo. | 15 |
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}export BASE_URL="https://tronbid.com"
export API_KEY="your_api_key"
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/quote" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"energy_amount":131000,"duration_minutes":15}'Crea una orden de alquiler. Para on-chain, pase payer_address y pague el monto_trx devuelto a pay_address. Para el saldo, agregue modo_pago: saldo y la cuenta vinculada se cargará inmediatamente.
target_address es opcional (el valor predeterminado es payer_address). Tenga en cuenta las reglas 409: una orden abierta en cadena por pagador y ninguna delegación de Quick Rent activa en el objetivo (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Parámetro | Type | Descripción | Example |
|---|---|---|---|
cantidad_energía | int | Cantidad de energía del catálogo. | 131000 |
duración_minutos | int | Duración del alquiler según catálogo. | 15 |
clave_idempotencia | string | Su identificación de pedido única (8 a 128 caracteres) | partner-onchain-001 |
modo_pago | string | Opcional. "onchain" (predeterminado) o "equilibrio". | balance |
dirección_pagador | string | On-chain: billetera que envía TRX. No es necesario para el equilibrio. | TPayer... |
dirección_objetivo | string | Opcional. Monedero que recibe energía (el valor predeterminado es payer_address). | TTarget... |
{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-onchain-001",
"payer_address": "TPayer...",
"target_address": "TTarget..."
}'curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-balance-001",
"payment_mode": "balance",
"target_address": "TTarget..."
}'Devuelve el estado actual, modo_de_pago, montos, direcciones y código_de_error/mensaje_de_error si algo falló. Effective_energy_amount refleja la energía delegada real después de un pago insuficiente o excesivo.
/api/v2/quick-rent/orders/:id| Parámetro | Type | Descripción | Example |
|---|---|---|---|
identificación | string | ID de pedido (parámetro de ruta) | uuid |
{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY"Cancela un pedido que aún está pendiente de pago (solo en cadena). Una vez delegada la energía, el pedido ya no se puede cancelar.
/api/v2/quick-rent/orders/:id/cancel| Parámetro | Type | Descripción | Example |
|---|---|---|---|
identificación | string | ID de pedido (parámetro de ruta) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Cambia la billetera de pago por una orden en cadena pendiente de pago; útil si el cliente decide pagar desde una billetera diferente antes de enviar TRX.
/api/v2/quick-rent/orders/:id/set-payer| Parámetro | Type | Descripción | Example |
|---|---|---|---|
identificación | string | ID de pedido (parámetro de ruta) | uuid |
dirección_pagador | string | Nueva billetera de pago | TNewPayer... |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/set-payer" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"payer_address":"TNewPayer..."}'Devuelve el saldo TRX de la cuenta TronBid vinculada a su clave API (su saldo en la aplicación, no una billetera en cadena). Requiere el encabezado Autorización.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Los errores devuelven un estado HTTP y un campo de error. Éstos son los que puede encontrar.
| HTTP | error | cuando |
|---|---|---|
| 400 | Invalid body | JSON o campos no válidos |
| 400 | INVALID_SKU / SKU_INACTIVE | Paquete no disponible |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Dirección TRON mal formada |
| 400 | INSUFFICIENT_BALANCE | No hay suficiente TRX en equilibrio (modo equilibrio) |
| 401 | Unauthorized | Clave API faltante o no válida |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Pago de saldo no habilitado para su clave |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Ya existe una orden abierta en cadena para este pagador |
| 409 | ACTIVE_DELEGATION_EXISTS | Target ya tiene una delegación activa de Quick Rent |
| 409 | POOL_ENERGY_INSUFFICIENT | No hay energía de piscina gratuita en este momento |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | Misma idempotencia_key con un modo de pago diferente |
| 429 | Too Many Requests | Límite de tarifa |
| 503 | — | Servicio no disponible temporalmente, vuelva a intentarlo más tarde |
Situaciones comunes y qué hacer, en palabras sencillas.
Asegúrese de que el monto transferido sea exactamente igual a monto_trx y que los fondos se hayan enviado a dirección_pago desde la dirección_pagador exacta. La transferencia debe llegar antes de expires_at. El estado generalmente se actualiza dentro de un minuto después de la confirmación de la red; siga sondeando GET /orders/:id.
La delegación no tuvo éxito. Para pagos de saldo, el TRX se devuelve automáticamente a su saldo. El motivo está en error_code y error_message de GET /orders/:id. Puedes crear un nuevo pedido.
Esta dirección_pagador ya tiene un pedido en cadena impago. Páguelo, espere a que caduque (expires_at), o cancélelo a través de /orders/:id/cancel, luego cree uno nuevo.
El pago del saldo no está habilitado para su clave. Comuníquese con el soporte de TronBid para activarlo, o use en cadena (el valor predeterminado).
Demasiadas solicitudes en poco tiempo. Reduzca la frecuencia de sondeo (por ejemplo, una vez cada 3 segundos) y vuelva a intentarlo más tarde.
Con un pago insuficiente o excesivo en la cadena, el monto final cambia. Verifique cantidad_energía_efectiva en GET /orders/:id: esa es la energía realmente delegada.
¿Necesita acceso API, límites más altos o pago de saldo habilitado? Comuníquese y lo ayudaremos.