Pourquoi louer de la bande passante ?
Chaque transaction TRON consomme de la bande passante. Chaque adresse activée reçoit 600 de bande passante gratuite par jour — mais cela s'épuise vite :
- 600 de bande passante gratuite/jour = environ 1 transfert USDT (TRC-20) — puis c'est fini
- Plus de bande passante gratuite → le réseau brûle ~0,35 TRX par transaction à la place
Louer de la bande passante via API coûte ~0,34 TRX pour 350 unités (un transfert). Pour les services qui font de nombreux transferts par jour depuis une adresse, louer est moins cher et prévisible.
La bande passante est la ressource bon marché — mais à grande échelle (paiements de masse, exchanges, bots), le TRX brûlé s'accumule. Louez-la comme vous louez de l'énergie.
Ce qu'il vous faut
- Compte sur tronrental.com
- Clé API (Tableau de bord → API → Créer une clé)
- TRX sur votre solde (Tableau de bord → Dépôt)
- 5 minutes
Démarrage rapide : premier achat en 3 étapes
Étape 1 — Vérifier le prix
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 est le prix par unité de bande passante pour une location d'1 heure ; price_sun_1d pour 1 jour. min_volume / max_volume bornent une commande, fixed_fee_trx s'ajoute par-dessus.
Étape 2 — Acheter de la bande passante
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..."
}La bande passante est déléguée à target_address — ce peut être votre adresse ou celle d'un autre. 350 unités couvrent un transfert USDT standard.
Étape 3 — Confirmer la commande
curl https://api.tronrental.com/v1/orders/1842 \
-H "X-API-Key: YOUR_API_KEY"{
"id": 1842,
"status": "filled",
"volume": 350,
"txid": "a1b2c3..."
}Quand le statut devient "filled" — la bande passante est déléguée. Vous pouvez maintenant envoyer votre transaction.
La même chose 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()La même chose 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();
}Combien de bande passante acheter ?
| Scénario | Bande passante | Pourquoi |
|---|---|---|
| Un transfert USDT | 350 | Taille d'un transfert TRC-20 standard |
| Plusieurs transferts depuis une adresse | 350 × N | Les 600/jour gratuits ne couvrent que le premier transfert |
Pas sûr de la bande passante gratuite restante ? Vérifiez avant d'acheter :
curl "https://api.tronrental.com/v1/tools/address-info?address=TRecipient..."{
"bandwidth_used": 0,
"bandwidth_limit": 600,
"is_activated": true
}Limites : minimum 350 de bande passante par commande, maximum 100 000. Durées : "1h" et "1d".
Louer de l'énergie
La bande passante couvre la transaction elle-même, mais un transfert USDT (TRC-20) a aussi besoin d'énergie — et c'est là le vrai coût. Sans énergie, le réseau brûle 6,43–13,28 TRX par transfert.
Si vous envoyez de l'USDT, vous voulez presque toujours de l'énergie aussi. La louer coûte ~1,80 TRX pour 65K au lieu de brûler 6,43 TRX.
Achat
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 d'énergie = 1 transfert USDT (le destinataire détient déjà de l'USDT), 131 000 si le destinataire n'a jamais détenu d'USDT. Voir le guide dédié à l'API énergie pour les détails.
Exemple complet : acheter de la bande passante → envoyer une transaction
Schéma réel — acheter de la bande passante pour l'adresse émettrice, attendre la délégation, puis envoyer la transaction :
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.)Gestion des erreurs
| Statut HTTP | Ce que cela signifie | Quoi faire |
|---|---|---|
| 400 | Requête incorrecte (adresse invalide, solde insuffisant) | Lire le message d'erreur, corriger et réessayer |
| 429 | Limite de débit dépassée (100 req/min) | Attendre et réessayer avec backoff |
| 5xx | Erreur serveur | Réessayer avec backoff exponentiel |
FAQ
À quelle vitesse la bande passante est-elle déléguée ?
Généralement 3–5 secondes. La bande passante est déléguée on-chain au bloc suivant.
Ai-je vraiment besoin d'acheter de la bande passante ? N'est-elle pas gratuite ?
Chaque adresse reçoit 600 de bande passante gratuite par jour — assez pour ~1 transfert USDT. Si vous transférez plus que cela depuis une adresse par jour, le réseau brûle des TRX pour la bande passante, et louer revient moins cher.
Bande passante ou énergie — que me faut-il pour un transfert USDT ?
Les deux. La bande passante couvre l'enregistrement de la transaction (~350 unités) ; l'énergie couvre l'exécution du smart contract (65 000 unités). L'énergie est la coûteuse — la plupart louent les deux.
Puis-je acheter de la bande passante pour l'adresse de quelqu'un d'autre ?
Oui. Mettez n'importe quelle adresse TRON valide dans target_address. Vous n'avez pas besoin d'en être propriétaire.
Où est la documentation complète ?
docs.tronrental.com — tous les endpoints, schémas requête/réponse, configuration des webhooks et plus.