Integre a API v2 para cotar, criar e rastrear pedidos de aluguel da TRON Energy de forma programática. Pague na rede ou com seu saldo TronBid e reduza o TRX queimado por chamadas de contrato inteligente.
A API Quick Rent é uma forma de alugar TRON Energy automaticamente, sem trabalho manual. A energia torna as transferências de USDT (TRC-20) e outras chamadas de contratos inteligentes mais baratas do que a queima de TRX.
Em palavras simples: seu programa (um site, bot ou serviço) compra energia sozinho, exatamente quando é necessário – por exemplo, antes de cada transferência de USDT que seu cliente faz.
Pense em uma máquina de venda automática: você verifica o preço, insere o dinheiro, pega seu item. A API é o mesmo conjunto de botões – apenas o seu programa os pressiona.
Seu programa pergunta à API quanto custa o pacote de energia necessário no momento.
Seu programa cria um pedido e o paga – enviando TRX para o endereço fornecido ou cobrando seu saldo TronBid.
Em poucos segundos, a energia aparece na carteira alvo e o USDT pode ser enviado mais barato.
Importante: a API é uma ferramenta para um desenvolvedor. Para usá-lo, alguém precisa escrever o código que envia as solicitações.
Se não tiver ninguém para escrever o código — use a compra de energia pronta no site (Quick Rent) ou o bot do Telegram @tronbid. Mesmo resultado, apenas feito manualmente.
Um exemplo completo de ponta a ponta no cenário mais simples (on-chain). Quatro passos e a energia está na carteira.
Abaixo está o que acontece em cada etapa e o que a API retorna. Insira sua chave API, endereços e ID do pedido.
Envie a quantidade de energia e duração. Você recebe price_trx de volta e por quantos segundos ele está bloqueado.
Envie o pacote, sua idempotency_key e payer_address. Você obtém pay_address (onde pagar), amount_trx (quanto) e expires_at (até quando).
Envie exatamente amount_trx TRX para pay_address de seu payer_address. É uma transferência TRON simples.
Pesquise o status a cada dois segundos até que ele seja delegado. Isso significa que a energia é delegada à carteira – pronto.
{
"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 explicações das palavras usadas nesta documentação.
O que preparar antes de fazer seu primeiro pedido.
Mensagem @tronbid no Telegram – você receberá uma chave vinculada à sua conta TronBid. As solicitações não passarão sem ele.
Decida o endereço (target_address) que precisa de energia. Geralmente é a carteira da qual seus clientes enviam USDT.
A energia é vendida em pacotes (geralmente 65.000 ou 131.000 energias por 15 ou 60 minutos). Obtenha a lista ativa do endpoint do catálogo, sem necessidade de autenticação.
Para on-chain – uma carteira com TRX para pagar. Para pagamento de saldo — uma conta TronBid financiada e o modo de saldo ativado.
A API Quick Rent permite que seu serviço alugue TRON Energy automaticamente, de modo que as transferências USDT TRC-20 e outras chamadas de contrato inteligente custam menos do que queimar TRX.
Todos os endpoints compartilham um URL base.
https://tronbid.com/api/v2/quick-rentExistem duas maneiras de pagar por um pedido. On-chain é o padrão e não precisa de configuração. O pagamento do saldo é opcional e deve estar habilitado para sua chave.
Sem ativação, uma solicitação com payment_mode: balance retorna 403 BALANCE_PAYMENT_NOT_ENABLED. Para habilitá-lo, entre em contato com o suporte TronBid.
| Mode | Como habilitar | Pagamento |
|---|---|---|
on-chain | Padrão — omitir payment_mode (ou "onchain") | Envie TRX para pay_address de payer_address |
balance | payment_mode: saldo + habilitado para sua chave | Debitado do seu saldo TRX TronBid |
energy_amount e duração_minutos devem corresponder a um pacote Quick Rent ativo – geralmente 65.000 ou 131.000 energia e 15 ou 60 minutos.
Obtenha o catálogo atual a qualquer momento (sem necessidade de autenticação):
curl -sS https://tronbid.com/api/public/quick-rent/skusPasso 1 — POST/cotação para saber o preço. Passo 2 — POST /orders para criar o pedido e receber pay_address, amount_trx e expires_at. Etapa 3 – envie exatamente amount_trx TRX para pay_address de seu payer_address. Passo 4 — poll GET /orders/:id até que o status seja delegado (ou falhou/expirou/cancelado).
target_address é opcional – se omitido, a energia é delegada a payer_address.
Apenas um pedido aberto na rede (pending_payment) é permitido por payer_address por vez; caso contrário, você receberá 409 PENDING_PAYMENT_INTENT_EXISTS. No caso de pagamento insuficiente/excedente, a energia final pode ser diferente — verifique o valor_de_energia_eficaz em 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..."
}Passo 1 — GET /balance para verificar seu TRX. Passo 2 — POST/cotação do preço. Passo 3 — POST /orders com payment_mode: saldo a débito e início da delegação. Passo 4 — poll GET /orders/:id até ser delegado (em um erro de delegação, ele falha e o TRX é reembolsado em seu saldo).
payer_address não é necessário — a conta vinculada à sua chave API paga. O energy_amount na resposta pode ser maior que o SKU solicitado (bônus de matriz de preços).
{
"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 passa por esses status. Faça uma enquete GET /orders/:id para segui-lo.
| Status | Significado |
|---|---|
pending_payment | Aguardando pagamento na rede |
delegating | Pagamento recebido ou saldo cobrado; delegação em andamento |
delegated | Energia delegada |
cancelled | Cancelado antes do pagamento (on-chain) |
expired | O período de pagamento na rede expirou |
failed | Erro (para saldo, TRX é reembolsado) |
idempotency_key (8–128 caracteres) é um ID de pedido exclusivo de sua parte. Repetir POST /orders com a mesma chave (para o mesmo cliente API) retorna o mesmo pedido com "duplicado": verdadeiro.
Não reutilize uma idempotency_key em diferentes modos de pagamento (onchain vs balance) — isso retorna 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Estime quanta energia um endereço precisa para uma transferência. Passe a carteira do destinatário e se ela já contém USDT.
/api/v2/quick-rent/calculator| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
endereço_da_carteira | string | Endereço TRON para analisar | TXXXXXXXX...XXXX |
has_usdt | boolean | null | Se o destinatário já possui USDT (afeta a energia). verdadeiro, falso ou 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}'Retorna o preço atual de um pacote: price_trx, disponibilidade, save_percent e por quanto tempo a cotação é válida (expires_in_sec).
/api/v2/quick-rent/quote| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
quantidade_energia | int | Quantidade de energia do catálogo ativo | 131000 |
duração_minutos | int | Duração do aluguel no 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}'Cria um pedido de aluguel. Para on-chain, passe payer_address e pague o valor retornado para pay_address. Para saldo, adicione payment_mode: balance e a conta vinculada será cobrada imediatamente.
target_address é opcional (o padrão é payer_address). Lembre-se das regras 409: um pedido aberto na rede por pagador e nenhuma delegação de Quick Rent ativa já no alvo (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
quantidade_energia | int | Quantidade de energia do catálogo | 131000 |
duração_minutos | int | Duração do aluguel no catálogo | 15 |
chave_idempotência | string | Seu ID de pedido exclusivo (8 a 128 caracteres) | partner-onchain-001 |
modo_pagamento | string | Opcional. "onchain" (padrão) ou "balance". | balance |
endereço_pagador | string | On-chain: carteira que envia TRX. Não é necessário para equilíbrio. | TPayer... |
endereço_alvo | string | Opcional. Carteira que recebe energia (o padrão é 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..."
}'Retorna o status atual, payment_mode, valores, endereços e error_code/error_message se algo falhar. Effective_energy_amount reflete a energia delegada real após pagamento insuficiente/excedente.
/api/v2/quick-rent/orders/:id| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
identificação | string | ID do pedido (parâmetro de caminho) | 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 um pedido que ainda está pendente_pagamento (somente na rede). Uma vez delegada a energia, o pedido não poderá mais ser cancelado.
/api/v2/quick-rent/orders/:id/cancel| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
identificação | string | ID do pedido (parâmetro de caminho) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Altera a carteira de pagamento para um pedido pendente de pagamento na cadeia – útil se o cliente decidir pagar de uma carteira diferente antes de enviar TRX.
/api/v2/quick-rent/orders/:id/set-payer| Parâmetro | Type | Descrição | Example |
|---|---|---|---|
identificação | string | ID do pedido (parâmetro de caminho) | uuid |
endereço_pagador | string | Nova carteira pagante | 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..."}'Retorna o saldo TRX da conta TronBid vinculada à sua chave API (seu saldo no aplicativo, não uma carteira na rede). Requer o cabeçalho de autorização.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Os erros retornam um status HTTP e um campo de erro. Aqui estão aqueles que você pode encontrar.
| HTTP | error | Quando |
|---|---|---|
| 400 | Invalid body | JSON ou campos inválidos |
| 400 | INVALID_SKU / SKU_INACTIVE | Pacote indisponível |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Endereço TRON malformado |
| 400 | INSUFFICIENT_BALANCE | TRX insuficiente no equilíbrio (modo de equilíbrio) |
| 401 | Unauthorized | Chave de API ausente ou inválida |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Pagamento de saldo não ativado para sua chave |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Já existe um pedido on-chain aberto para este pagador |
| 409 | ACTIVE_DELEGATION_EXISTS | Target já tem uma delegação ativa de Quick Rent |
| 409 | POOL_ENERGY_INSUFFICIENT | Não há energia gratuita na piscina no momento |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | A mesma idempotency_key com um payment_mode diferente |
| 429 | Too Many Requests | Limite de taxa |
| 503 | — | Serviço temporariamente indisponível. Tente novamente mais tarde |
Situações comuns e o que fazer, em palavras simples.
Certifique-se de que o valor transferido seja exatamente igual a amount_trx e que os fundos tenham ido para pay_address a partir do payer_address exato. A transferência deve chegar antes de expires_at. O status geralmente é atualizado um minuto após a confirmação da rede – continue pesquisando GET /orders/:id.
A delegação não teve sucesso. Para pagamentos de saldo, o TRX é automaticamente devolvido ao seu saldo. O motivo está em error_code e error_message de GET /orders/:id. Você pode criar um novo pedido.
Este payer_address já possui um pedido na rede não pago. Pague, espere que expire (expires_at) ou cancele via /orders/:id/cancel e crie um novo.
O pagamento do saldo não está habilitado para sua chave. Entre em contato com o suporte TronBid para ativá-lo ou use on-chain (o padrão).
Muitos pedidos em pouco tempo. Reduza a frequência de pesquisa (por exemplo, uma vez a cada 3 segundos) e tente novamente mais tarde.
Com pagamento insuficiente/acréscimo na rede, o valor final muda. Verifique Effective_energy_amount em GET /orders/:id — essa é a energia realmente delegada.
Precisa de acesso à API, limites mais altos ou pagamento de saldo ativado? Entre em contato e nós ajudaremos.