API du marketplace d'énergie Tron
Bienvenue dans la documentation officielle de notre API du marketplace d'énergie Tron. Vous y trouverez des détails sur les endpoints publics qui vous permettent de :
- Récupérer les paramètres actuels de la plateforme (prix de l'énergie, offre disponible, taille minimale de commande et adresse de dépôt).
- Vérifier le statut d'une commande d'achat d'énergie spécifique par hash de dépôt.
- Acheter de l'énergie par programme depuis un solde prépayé, sans envoyer un dépôt pour chaque commande.
Les deux points de terminaison GET ci-dessous sont publics et ne nécessitent aucune authentification. L'achat d'énergie nécessite une clé API : générez-la dans votre espace et transmettez-la dans l'en-tête X-Api-Key. Paramètres de l'acheteur
Transmettez la clé uniquement dans l'en-tête. Les chaînes de requête finissent dans les journaux du serveur.
Aperçu des endpoints
GET
https://api.tron.discount/energy/info
Renvoie les paramètres en direct de la plateforme, comme l'état d'activité du système, la quantité d'énergie disponible, le prix de l'énergie, l'adresse de dépôt, etc.
GET
https://api.tron.discount/energy/order/{depositHash}
Renvoie le statut d'une commande d'achat spécifique, y compris les hash de transaction et les détails de délégation.
POST
https://api.tron.discount/energy/order
Clé API
Achète de l'énergie sur votre solde prépayé. Aucune transaction de dépôt n'est nécessaire.
GET
https://api.tron.discount/energy/order/api/{id}
Clé API
Renvoie l'état d'une commande passée via l'API, à partir de son identifiant numérique.
Endpoints détaillés
/energy/info
Description
Fournit des paramètres comme le prix actuel de l'énergie, la quantité d'énergie disponible, l'adresse de dépôt et d'autres informations (par ex. l'heure du serveur, l'état d'activité du système).
Requête
curl -X GET https://api.tron.discount/energy/info
Réponse
{
"isSystemActive": true,
"maximumEnergyAvailable": 1155882352,
"energyUnitPriceInSun": 50,
"minEnergyOrderAmount": 32000,
"depositAddress": "TSD2AWZeyvE4CFvSfYZ1wiPhKoXxWurLUe",
"serverTime": "2025-04-05T15:24:05.785059Z"
}
Description des champs
| Champ | Type | Description |
|---|---|---|
isSystemActive |
Boolean | Indique si le marketplace est opérationnel. |
maximumEnergyAvailable |
Integer | Nombre total d'unités d'énergie actuellement disponibles à l'achat. |
energyUnitPriceInSun |
Integer | Le coût (en SUN) par unité d'énergie. (1 TRX = 1 000 000 SUN) |
minEnergyOrderAmount |
Integer | Quantité minimale d'énergie (unités) pour une seule commande. |
depositAddress |
String | Adresse Tron à laquelle les acheteurs envoient des TRX. Le système délègue automatiquement l'énergie à l'expéditeur dès réception du paiement. |
serverTime |
String | Horodatage du serveur au format ISO. |
/energy/order/{depositHash}
Description
Récupère le statut d'une commande d'achat associée au hash de transaction de dépôt fourni.
Requête
curl -X GET https://api.tron.discount/energy/order/d663302b6a303053b8de9a018ea14cbaca9d0cf0e38a498cc86d04748e3bec14
Réponse
{
"depositHash": "d663302b6a303053b8de9a018ea14cbaca9d0cf0e38a498cc86d04748e3bec14",
"delegationHash": "b9458d06b1f05ff5d1b2448afa6efb548f7792dd6997ab9cb4e2ce6fbbd560a0",
"refundHash": null,
"status": "ResourcesDelegated",
"created": "2024-06-01T14:38:32",
"executed": "2024-06-01T14:40:10",
"targetAddress": "TDqSquXBgUCLYvYC4XZgrprLK589dkhSCf",
"depositAmount": 3.89,
"energyAmount": 32416
}
Description des champs
| Champ | Type | Description |
|---|---|---|
depositHash |
String | Hash de transaction du dépôt (TRX envoyés à la plateforme). |
delegationHash |
String | Hash de transaction de la délégation on-chain (le cas échéant). |
refundHash |
String | Hash de transaction d'un éventuel remboursement (le cas échéant, sinon null). |
status |
String | Statut de la commande (par ex. « ResourcesDelegated », « Refunded », « Pending », etc.). Voir les descriptions de statut ci-dessous. |
created |
String | Horodatage de la première détection de la commande. |
executed |
String | Horodatage du moment où le système a délégué ou traité la commande avec succès. |
targetAddress |
String | Adresse Tron qui a reçu l'énergie déléguée. |
depositAmount |
Number | Montant de TRX reçu de la transaction de dépôt. |
energyAmount |
Integer | Quantité d'unités d'énergie déléguées à l'adresse cible. |
Valeurs de statut de commande
Valeurs possibles pour le champ status :
| Statut | Description |
|---|---|
Created |
La commande a été créée mais pas encore traitée. |
Pending |
Paiement reçu et commande en cours de traitement. |
ResourcesDelegated |
L'énergie a été déléguée avec succès à l'adresse cible. |
RefundRequested |
Un remboursement a été demandé mais pas encore traité. |
PendingRefund |
Le remboursement est en cours de traitement. |
Refunded |
Les TRX ont été remboursés à l'expéditeur. |
/energy/order
Clé APIDescription
Passe une commande et en débite le coût de votre solde prépayé. Contrairement au dépôt, aucun transfert on-chain n'est requis pour chaque commande.
Rechargez le solde en envoyant des TRX à votre adresse de recharge personnelle, affichée dans votre espace. Paramètres de l'acheteur
Requête
curl -X POST https://api.tron.discount/energy/order \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"receiveAddress": "TW7X17...uCntDs2",
"resourceValue": 32000,
"rentDurationInHours": 1,
"clientOrderId": "order-2024-001"
}'
Champs de la requête
| Champ | Type | Description |
|---|---|---|
receiveAddress |
String | Adresse Tron qui recevra l'énergie déléguée. Obligatoire. |
resourceValue |
Integer | Nombre d'unités d'énergie à acheter. Obligatoire, au minimum minEnergyOrderAmount. |
rentDurationInHours |
Integer | Durée de location en heures. Facultatif ; la seule valeur acceptée est 1, qui est aussi la valeur par défaut. |
clientOrderId |
String | Votre propre numéro de commande, jusqu'à 64 caractères. Facultatif mais vivement recommandé : répéter une requête avec la même valeur renvoie la commande initiale au lieu de vous débiter deux fois. |
Réponse
{
"id": 1024,
"status": "Created",
"chargedInSun": 1600000,
"priceInSun": 50,
"balance": 96.920000
}
Description des champs
| Champ | Type | Description |
|---|---|---|
id |
Integer | Identifiant de la commande. Utilisez-le pour en demander l'état plus tard. |
status |
String | État de la commande, mêmes valeurs que pour le dépôt. Une commande tout juste acceptée est « Created ». |
chargedInSun |
Integer | Montant débité pour cette commande, en SUN. |
priceInSun |
Integer | Prix par unité d'énergie figé au moment de l'acceptation de la commande. |
balance |
Number | Solde prépayé restant en TRX après le débit. |
Erreurs
Une commande refusée renvoie un corps JSON avec un code stable, lisible par machine, et un message lisible par un humain. Basez votre logique sur le code : le message ne fait pas partie du contrat et peut changer à tout moment.
{
"code": "insufficient_balance",
"message": "Insufficient balance: 1.500000 TRX, required 4 TRX"
}
| HTTP | code |
Description |
|---|---|---|
400 |
insufficient_balance |
Solde prépayé insuffisant pour cette commande. Rechargez votre adresse et répétez la requête avec le même clientOrderId. Rien n'a été débité. |
400 |
invalid_address |
receiveAddress n'est pas une adresse Tron valide. La somme de contrôle base58check est vérifiée : une faute de frappe est rejetée plutôt que déléguée dans le vide. |
400 |
invalid_resource_value |
resourceValue est inférieur à minEnergyOrderAmount ou supérieur au maximum autorisé pour une seule commande. |
400 |
invalid_rent_duration |
rentDurationInHours n'est pas égal à 1. La plateforme ne loue de l'énergie que pour une heure. |
400 |
invalid_client_order_id |
clientOrderId dépasse 64 caractères. |
400 |
invalid_request |
Le corps de la requête est absent ou illisible. |
401 |
— | La clé est absente, révoquée ou inconnue. |
503 |
system_inactive |
Le système n'accepte pas de commandes pour le moment. Réessayez plus tard ; rien n'a été débité. |
/account/recharge-address
Clé APIDescription
Renvoie votre adresse de recharge personnelle. ready vaut false tant que l'adresse n'a pas encore été émise : pour un tout nouveau compte ou juste après une régénération qui ne s'est pas terminée à temps.
Requête
curl -X GET https://api.tron.discount/account/recharge-address \
-H "X-Api-Key: tde_your_key_here"
Réponse
{
"address": "TQmZ1p...c8XA1",
"ready": true,
"nextChangeAllowedAt": "2026-09-12T10:00:00Z"
}
/account/recharge-address/regenerate
Clé APIDescription
Remplace votre adresse de rechargement par une nouvelle. Autorisé une fois par jour.
Requête
curl -X POST https://api.tron.discount/account/recharge-address/regenerate \
-H "X-Api-Key: tde_your_key_here"
Réponse
{
"newAddress": "TAqM7b...pkTdZx",
"oldAddress": "TQmZ1p...c8XA1",
"oldAddressActiveUntil": "2027-03-10T10:00:00Z",
"nextChangeAllowedAt": "2026-09-12T10:00:00Z"
}
Erreurs
| Code HTTP | code | Signification |
|---|---|---|
| 429 | address_change_too_soon |
Moins d'un jour depuis le changement précédent. L'en-tête Retry-After indique combien de secondes attendre. |
/energy/order/api/{id}
Clé APIDescription
Renvoie l'état d'une commande passée via l'API. Les commandes payées sur le solde n'ont pas de hachage de dépôt : elles sont donc identifiées par l'id renvoyé lors de l'acceptation.
Seules vos propres commandes sont visibles : un id appartenant à un autre compte renvoie 404.
Requête
curl -X GET https://api.tron.discount/energy/order/api/1024 \
-H "X-Api-Key: YOUR_API_KEY"
Réponse
{
"id": 1024,
"clientOrderId": "order-2024-001",
"status": "ResourcesDelegated",
"receiveAddress": "TW7X17...uCntDs2",
"resourceValue": 32000,
"rentDurationInHours": 1,
"chargedInSun": 1600000,
"created": "2025-04-05T15:24:05.785059Z",
"updated": "2025-04-05T15:24:41.120344Z"
}
Les valeurs d'état sont les mêmes que pour le dépôt, listées ci-dessus.
Spécification OpenAPI
La spécification complète de l'API est disponible au format OpenAPI/Swagger pour une intégration avancée et un outillage automatisé :
Pour les LLM et les agents de code
Une référence compacte de l'API au format llms.txt, rédigée pour les LLM et les agents de code : endpoints, authentification, statuts des commandes et codes d'erreur. Donnez ce lien à votre agent :
Notes supplémentaires
Authentification
Les points de terminaison GET pour les informations de la plateforme et les commandes par dépôt restent publics et ne nécessitent aucune clé. L'achat d'énergie sur le solde nécessite une clé API dans l'en-tête X-Api-Key.
Générer une nouvelle clé invalide immédiatement la précédente, et la clé n'est affichée qu'une seule fois.
Deux façons de commander
Envoyer des TRX à l'adresse de dépôt crée une commande implicitement, sans clé. Commander depuis un solde prépayé demande un seul appel d'API et aucun transfert on-chain. Les deux passent par la même chaîne de traitement et partagent les mêmes états.
Unités d'énergie et SUN
Rappelez-vous, 1 TRX = 1 000 000 SUN. Donc si energyUnitPriceInSun vaut 50, cela signifie 0.000050 TRX par unité d'énergie.
Création implicite de commande
Une « commande » est créée automatiquement chaque fois que des TRX sont envoyés à l'adresse de dépôt. Utilisez le hash de transaction du dépôt pour suivre le statut.
Heure du serveur
Les heures sont indiquées au format ISO 8601 (UTC). Tenez compte des fuseaux horaires lors de la comparaison avec les heures locales.