Pourquoi un transfert USDT demande 65,000 unités d'énergie, et 131,000 pour une adresse vide
Demandez combien d'énergie coûte un transfert USDT sur TRON et toutes les sources donnent les deux mêmes réponses : environ 65,000 unités, ou environ 131,000 quand le destinataire ne détient pas d'USDT. Au tarif de combustion du réseau, 100 sun l'unité, cela fait les 6.5 TRX et 13.1 TRX que les portefeuilles affichent comme frais. Presque personne ne dit d'où viennent ces deux nombres. Nous avons interrogé un nœud, et sa propre comptabilité coupe chacun d'eux en deux. Plus des trois quarts de l'énergie sont une majoration au titre du modèle d'énergie dynamique du réseau, et l'USDT la paie au facteur le plus haut que le réseau permette. Les 66,000 de plus pour une adresse sans USDT sont 15,000 unités de travail supplémentaire qui portent la même majoration.
Ce que le nœud rapporte pour un transfert
Un nœud peut exécuter un appel de contrat sans l'envoyer. Il exécute l'appel sur sa propre copie de la chaîne et jette le résultat après avoir répondu : rien n'est signé ni payé. Le 7 septembre 2026, nous avons passé quatre appels de ce genre, chacun un transfert du plus petit montant, une unité ou un millionième d'USDT, depuis un portefeuille qui en détient des milliers, vers quatre sortes de destinataires : avec ou sans USDT, avec ou sans compte sur la chaîne. Quelques minutes plus tard, nous avons rejoué la série sur d'autres adresses, huit appels au total.
Chaque réponse porte le chiffre que tout le monde cite, energy_used, et un second à côté, energy_penalty. Les deux séries ont donné la même paire pour chaque sorte de destinataire :
| Destinataire, 7 septembre 2026 | energy_used | energy_penalty | Différence |
|---|---|---|---|
| Détient des USDT, compte activé | 64,285 | 49,635 | 14,650 |
| Détient des USDT, jamais activé | 64,285 | 49,635 | 14,650 |
| Sans USDT, compte activé | 130,285 | 100,635 | 29,650 |
| Sans USDT, jamais activé | 130,285 | 100,635 | 29,650 |
Que le destinataire ait un compte ne change rien : une adresse dont le réseau n'a jamais entendu parler coûte autant qu'une ancienne qui a le même solde. C'est le solde qui décide, et le seuil se trouve à zéro. Dans la seconde série, un destinataire qui détenait une seule unité d'USDT, un millionième de jeton, a obtenu le chiffre le plus bas. Ce que cela signifie pour une commande se trouve dans l'article sur les comptes non activés.
Le 27 octobre 2026, nous avons rejoué deux de ces appels, depuis le même portefeuille vers les deux mêmes adresses, l'une qui détenait des USDT et l'autre vide. Les deux sont revenus avec le même energy_used et le même energy_penalty qu'en septembre, à l'unité près.
La majoration et ses paramètres
La chaîne a un interrupteur pour ce qu'elle appelle l'énergie dynamique, et chaque contrat porte son propre energy_factor. Trois autres paramètres du réseau l'accompagnent et, à en juger par leurs noms, ce sont un seuil d'usage, un pas d'augmentation du facteur et un plafond : un contrat très utilisé paie plus d'énergie à chaque appel. Nous avons lu les paramètres le 3 septembre 2026, puis de nouveau le 27 octobre, jour où nous avons aussi lu le facteur propre à l'USDT. Les paramètres n'avaient pas bougé entre les deux lectures.
| Lu sur la chaîne | Valeur |
|---|---|
Énergie dynamique activée, getAllowDynamicEnergy | 1 |
Seuil, getDynamicEnergyThreshold | 5,000,000,000 |
Pas, getDynamicEnergyIncreaseFactor | 2,000 |
Plafond, getDynamicEnergyMaxFactor | 34,000 |
energy_factor de l'USDT, 27 octobre 2026 | 34,000 |
Tarif de combustion en sun par unité, getEnergyFee | 100 |
L'USDT est au plafond. Le soir même où nous avons lu ce facteur, le transfert vers un détenteur a rapporté le même energy_penalty qu'en septembre : les chiffres de septembre s'accordent donc, eux aussi, avec un facteur de 34,000.
Décomposer 65,000 et 131,000
Lisez energy_penalty comme la majoration et le reste comme le travail propre de l'appel, son coût de base. Les deux sortes de transfert diffèrent alors de 15,000 unités de travail et de 51,000 unités de majoration :
| Énergie par transfert | Détient des USDT | Sans USDT | Différence |
|---|---|---|---|
| Coût de base | 14,650 | 29,650 | 15,000 |
| Majoration | 49,635 | 100,635 | 51,000 |
| Total | 64,285 | 130,285 | 66,000 |
L'arithmétique de la colonne des différences est exacte : les 15,000 unités de travail en plus portent 51,000 unités de majoration, dix-sept pour cinq, soit le facteur de 34,000 compté en parts de dix mille. Les 66,000 qui séparent les deux chiffres cités sont donc un bloc de travail supplémentaire, majoré au facteur de l'USDT.
Le reste de l'appel s'écarte un peu de ce taux. Dix-sept cinquièmes de 14,650 feraient 49,810, et le nœud a rapporté 49,635, soit 175 unités de moins. Le cas du solde vide est lui aussi inférieur de 175 unités, si bien que l'écart se loge dans le travail que les deux sortes ont en commun. Comme 49,635 n'est pas dix-sept cinquièmes d'un nombre entier, le manque ne peut pas être une tranche de l'appel qui échappe à la majoration, et le facteur valait 34,000 le soir où le même appel a rapporté la même pénalité. Cela ressemble à un arrondi, la majoration étant calculée une à une sur de nombreuses petites étapes de l'appel. Nous ne l'avons pas vérifié dans le code du nœud : le tableau imprime donc ce que le nœud a rapporté et laisse les 175 sans explication.
Ce que sont les 15,000 unités de travail en plus
Un solde USDT est une entrée dans le stockage propre du contrat du jeton, tenue à part du compte TRON, ce qui explique qu'une adresse sans compte puisse détenir des USDT. Un transfert vers une adresse qui a un solde écrase une entrée qui contient déjà un nombre. Un transfert vers un solde nul écrit dans une entrée vide. L'explication habituelle de l'écart est qu'écrire dans une entrée vide coûte plus cher qu'écraser, et 15,000 s'y accorde. Nos sondes ont mesuré le coût sans tester cette raison : prenez-la comme une explication avec laquelle les chiffres sont d'accord.
Si elle tient, une adresse qui a détenu des USDT et les a tous envoyés ailleurs devrait coûter le chiffre le plus haut, puisque son entrée est revenue à zéro. Au moins une page des résultats de recherche affirme qu'une telle adresse peut encore obtenir le plus bas. Nous n'avions pas prévu de sonde pour ce cas, et l'une de celles enregistrées le couvre pourtant. Un destinataire à solde nul de la première série avait été relevé dans le flux des transferts USDT en tant qu'expéditeur : exactement une semaine avant la sonde, il avait envoyé un peu plus de quarante-quatre USDT. Il avait donc détenu des USDT puis été vidé, et le transfert vers lui est revenu à 130,285, comme pour l'adresse générée pour la série. C'est une adresse, lue une fois.
De 64,285 à 65,000
Les chiffres ronds se tiennent juste au-dessus des chiffres mesurés. Notre service arrondit de la même façon : une commande ici est dimensionnée à 65,000 ou 131,000 unités pour les deux sortes de transfert, contre des besoins mesurés de 64,285 et 130,285. Cela laisse 715 unités de marge dans les deux cas. Arrondir au-dessus est le côté sûr, car un transfert qui manque d'énergie brûle les TRX de l'expéditeur pour le reste ou, si rien n'a le droit de brûler, échoue avec l'énergie déjà dépensée (à quoi ressemble cet échec). Brûlés au lieu d'être loués, les chiffres mesurés reviennent à un peu moins que les chiffres ronds :
| Destinataire | Énergie mesurée | Brûlée à 100 sun l'unité |
|---|---|---|
| Détient des USDT | 64,285 unités | 6.4285 TRX |
| Sans USDT | 130,285 unités | 13.0285 TRX |
Ces deux chiffres ne portent que sur l'énergie. Un transfert dépense aussi de la bande passante, un compteur distinct à la facture bien plus petite (énergie et bande passante côte à côte).
Ce qui ferait bouger les chiffres
Le premier levier est le facteur. Il appartient au contrat et, à en juger par le nom des paramètres, il monte par paliers avec l'usage du contrat, jusqu'au plafond. L'USDT est au plafond aujourd'hui : à partir de là, le facteur ne peut que se maintenir ou baisser, à moins que le plafond lui-même ne soit changé. Le seuil, le pas et le plafond sont des paramètres du réseau, que la gouvernance du réseau peut modifier. Au plafond, la majoration représente plus des trois quarts de ce que dépense un transfert USDT. Sur ces chiffres, sans elle, le même transfert vers un détenteur reviendrait à son coût de base de 14,650 unités.
Le second est le tarif de combustion, getEnergyFee, 100 sun l'unité les deux jours où nous l'avons lu. Il décide de ce que coûte en TRX la combustion de l'énergie, et le nombre d'unités d'énergie reste le même quel qu'il soit. Le réseau l'a déjà modifié, et le guide des frais montre l'arithmétique au tarif d'aujourd'hui. Côté énergie, rien n'a bougé pendant les sept semaines entre nos deux séries de sondes : 64,285 et 130,285, les deux fois.
Vérifiez quel chiffre un destinataire coûtera avant que rien ne soit signé : GET /v1/address-check dans la référence de l'API →