Intégrez l'API v2 pour citer, créer et suivre les commandes de location de TRON Energy par programmation. Payez en chaîne ou à partir de votre solde TronBid et réduisez le TRX brûlé par les appels de contrat intelligent.
L'API Quick Rent est un moyen de louer TRON Energy automatiquement, sans travail manuel. L'énergie rend les transferts USDT (TRC-20) et autres appels de contrats intelligents moins chers que la combustion de TRX.
En termes simples : votre programme (un site, un robot ou un service) achète lui-même de l'énergie, exactement au moment où elle en a besoin, par exemple avant chaque transfert USDT effectué par votre client.
Pensez à un distributeur automatique : vous vérifiez le prix, insérez de l'argent, récupérez votre article. L'API est le même ensemble de boutons : seul votre programme appuie dessus.
Votre programme demande à l'API combien coûte actuellement le package énergétique nécessaire.
Votre programme crée une commande et la paie — en envoyant TRX à l'adresse indiquée ou en débitant votre solde TronBid.
En quelques secondes, de l'énergie apparaît sur le portefeuille cible et l'USDT peut être envoyé à moindre coût.
Important : l'API est un outil pour un développeur. Pour l'utiliser, quelqu'un doit écrire du code qui envoie les requêtes.
S'il n'y a personne pour écrire le code, utilisez l'achat d'énergie prêt à l'emploi sur le site (Quick Rent) ou le bot Telegram @tronbid. Même résultat, juste fait manuellement.
Un exemple complet de bout en bout sur le scénario le plus simple (en chaîne). Quatre étapes et l'énergie est sur le portefeuille.
Vous trouverez ci-dessous ce qui se passe à chaque étape et ce que renvoie l'API. Branchez votre clé API, vos adresses et votre identifiant de commande.
Envoyez la quantité d'énergie et la durée. Vous récupérez price_trx et combien de secondes il est verrouillé.
Envoyez le colis, votre idempotency_key et payeur_address. Vous obtenez pay_address (où payer), montant_trx (combien) et expires_at (jusqu'à quand).
Envoyez exactement montant_trx TRX à pay_address depuis votre payeur_address. C'est un simple transfert TRON.
Interrogez le statut toutes les deux secondes jusqu'à ce qu'il soit délégué. Cela signifie que l’énergie est déléguée au portefeuille – c’est fait.
{
"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
}Brèves explications des mots utilisés dans cette documentation.
Que préparer avant de faire votre première demande.
Envoyez un message @tronbid sur Telegram — vous recevrez une clé liée à votre compte TronBid. Les demandes ne seront pas acceptées sans cela.
Décidez de l'adresse (target_address) qui a besoin d'énergie. Il s'agit généralement du portefeuille à partir duquel vos clients envoient des USDT.
L'énergie est vendue en forfaits (généralement 65 000 ou 131 000 énergies pour 15 ou 60 minutes). Obtenez la liste en direct à partir du point de terminaison du catalogue, aucune authentification n'est nécessaire.
Pour la chaîne : un portefeuille avec TRX pour payer. Pour le paiement du solde : un compte TronBid approvisionné et le mode solde activé.
L'API Quick Rent permet à votre service de louer automatiquement TRON Energy, de sorte que les transferts USDT TRC-20 et autres appels de contrat intelligent coûtent moins cher que la gravure de TRX.
Tous les points de terminaison partagent une URL de base.
https://tronbid.com/api/v2/quick-rentIl existe deux manières de payer une commande. En chaîne est la valeur par défaut et ne nécessite aucune configuration. Le paiement du solde est facultatif et doit être activé pour votre clé.
Sans activation, une requête avec payment_mode: balance renvoie 403 BALANCE_PAYMENT_NOT_ENABLED. Pour l'activer, contactez le support TronBid.
| Mode | Comment activer | Paiement |
|---|---|---|
on-chain | Par défaut : omettre payment_mode (ou "onchain") | Envoyer TRX à pay_address depuis pay_address |
balance | payment_mode : solde + activé pour votre clé | Débité de votre solde TronBid TRX |
energy_amount et duration_minutes doivent correspondre à un forfait Quick Rent actif – généralement 65 000 ou 131 000 énergies et 15 ou 60 minutes.
Récupérez le catalogue actuel à tout moment (aucune authentification requise) :
curl -sS https://tronbid.com/api/public/quick-rent/skusÉtape 1 — POST/devis pour connaître le prix. Étape 2 — POST /orders pour créer la commande et recevoir pay_address, montant_trx et expires_at. Étape 3 : envoyez exactement montant_trx TRX à pay_address à partir de votre pay_address. Étape 4 — interrogez GET /orders/:id jusqu'à ce que le statut soit délégué (ou échoué/expiré/annulé).
target_address est facultatif — s’il est omis, l’énergie est déléguée à payeur_address.
Une seule commande ouverte en chaîne (ending_payment) est autorisée par payeur_address à la fois ; sinon vous obtenez 409 PENDING_PAYMENT_INTENT_EXISTS. En cas de sous-paiement ou de trop-payé, l'énergie finale peut différer — vérifiez effective_energy_amount dans 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..."
}Étape 1 — OBTENEZ /balance pour vérifier votre TRX. Étape 2 — POST/devis pour le prix. Étape 3 — POST /commandes avec payment_mode : solde à débiter et démarrer la délégation. Étape 4 — interrogez GET /orders/:id jusqu'à ce qu'il soit délégué (en cas d'erreur de délégation, cela échoue et TRX est remboursé sur votre solde).
payeur_address n'est pas nécessaire — le compte lié à votre clé API paie. Le montant d'énergie dans la réponse peut être supérieur au SKU commandé (bonus de matrice de prix).
{
"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..."
}Chaque commande passe par ces statuts. Sondez GET /orders/:id pour le suivre.
| Status | Signification |
|---|---|
pending_payment | En attente du paiement en chaîne |
delegating | Paiement reçu ou solde facturé ; délégation en cours |
delegated | Énergie déléguée |
cancelled | Annulé avant le paiement (en chaîne) |
expired | La fenêtre de paiement en chaîne est écoulée |
failed | Erreur (pour le solde, TRX est remboursé) |
idempotency_key (8 à 128 caractères) est un identifiant de commande unique de votre côté. Répéter POST /orders avec la même clé (pour le même client API) renvoie la même commande avec "duplicata": true.
Ne réutilisez pas une idempotency_key dans différents modes de paiement (onchain ou solde) – cela renvoie 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Estimez la quantité d’énergie dont une adresse a besoin pour un transfert. Transmettez le portefeuille du destinataire et s'il contient déjà de l'USDT.
/api/v2/quick-rent/calculator| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
adresse_portefeuille | string | Adresse TRON à analyser | TXXXXXXXX...XXXX |
has_usdt | boolean | null | Si le destinataire détient déjà de l'USDT (affecte l'énergie). vrai, faux ou omettre. | 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}'Renvoie le prix actuel d'un package : price_trx, disponibilité, save_percent et la durée de validité du devis (expires_in_sec).
/api/v2/quick-rent/quote| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
montant_énergie | int | Quantité d'énergie du catalogue actif | 131000 |
durée_minutes | int | Durée de location du catalogue | 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}'Crée une commande de location. Pour la chaîne, transmettez pay_address et payez le montant_trx retourné à pay_address. Pour le solde, ajoutez payment_mode: balance et le compte lié est facturé immédiatement.
target_address est facultatif (par défaut, payeur_address). Attention aux règles 409 : une commande en chaîne ouverte par payeur et aucune délégation Quick Rent active déjà sur la cible (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
montant_énergie | int | Quantité d'énergie du catalogue | 131000 |
durée_minutes | int | Durée de location du catalogue | 15 |
clé_idempotence | string | Votre identifiant de commande unique (8 à 128 caractères) | partner-onchain-001 |
mode_paiement | string | Facultatif. "onchain" (par défaut) ou "balance". | balance |
adresse_payeur | string | On-chain : portefeuille qui envoie du TRX. Pas nécessaire pour l’équilibre. | TPayer... |
adresse_cible | string | Facultatif. Portefeuille qui reçoit de l'énergie (par défaut, payeur_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..."
}'Renvoie l'état actuel, le mode de paiement, les montants, les adresses et le code_erreur/message_erreur en cas d'échec. effective_energy_amount reflète l'énergie réellement déléguée après un sous-paiement/un trop-payé.
/api/v2/quick-rent/orders/:id| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
identifiant | string | ID de commande (paramètre de chemin) | 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"Annule une commande qui est toujours en attente de paiement (en chaîne uniquement). Une fois l’énergie déléguée, la commande ne peut plus être annulée.
/api/v2/quick-rent/orders/:id/cancel| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
identifiant | string | ID de commande (paramètre de chemin) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Modifie le portefeuille de paiement pour une commande en chaîne en attente de paiement – utile si le client décide de payer à partir d'un autre portefeuille avant d'envoyer TRX.
/api/v2/quick-rent/orders/:id/set-payer| Paramètre | Type | Descriptif | Example |
|---|---|---|---|
identifiant | string | ID de commande (paramètre de chemin) | uuid |
adresse_payeur | string | Nouveau portefeuille payant | 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..."}'Renvoie le solde TRX du compte TronBid lié à votre clé API (votre solde dans l'application, pas un portefeuille en chaîne). Nécessite l’en-tête Authorization.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Les erreurs renvoient un statut HTTP et un champ d'erreur. Voici ceux que vous pourriez rencontrer.
| HTTP | error | Quand |
|---|---|---|
| 400 | Invalid body | JSON ou champs invalides |
| 400 | INVALID_SKU / SKU_INACTIVE | Forfait indisponible |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Adresse TRON mal formée |
| 400 | INSUFFICIENT_BALANCE | Pas assez de TRX sur la balance (mode balance) |
| 401 | Unauthorized | Clé API manquante ou invalide |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Le paiement du solde n'est pas activé pour votre clé |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Une commande ouverte en chaîne existe déjà pour ce payeur |
| 409 | ACTIVE_DELEGATION_EXISTS | Target dispose déjà d’une délégation Quick Rent active |
| 409 | POOL_ENERGY_INSUFFICIENT | Pas d'énergie de piscine gratuite pour le moment |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | Même idempotency_key avec un payment_mode différent |
| 429 | Too Many Requests | Limite de taux |
| 503 | — | Service temporairement indisponible, réessayez plus tard |
Situations courantes et que faire, en termes simples.
Assurez-vous que le montant transféré est exactement égal à montant_trx et que les fonds sont allés à pay_address à partir de l'adresse exacte du payeur. Le transfert doit arriver avant expires_at. Le statut est généralement mis à jour dans la minute qui suit la confirmation du réseau – continuez à interroger GET /orders/:id.
La délégation n'a pas réussi. Pour les paiements de solde, le TRX est automatiquement renvoyé sur votre solde. La raison est dans error_code et error_message de GET /orders/:id. Vous pouvez créer une nouvelle commande.
Cette adresse_payeur a déjà une commande en chaîne impayée. Payez-le, attendez qu'il expire (expires_at), ou annulez-le via /orders/:id/cancel, puis créez-en un nouveau.
Le paiement du solde n'est pas activé pour votre clé. Contactez le support TronBid pour l'activer ou utilisez-le en chaîne (par défaut).
Trop de demandes en peu de temps. Réduisez la fréquence d’interrogation (par exemple une fois toutes les 3 secondes) et réessayez plus tard.
En cas de sous-paiement/trop-paiement en chaîne, le montant final change. Vérifiez effective_energy_amount dans GET /orders/:id — c'est l'énergie réellement déléguée.
Besoin d'un accès API, de limites plus élevées ou d'un paiement du solde activé ? Contactez-nous et nous vous aiderons.