Comprendre les frais de gaz sur Ethereum : frais de base, priorité et limite de gaz
Découvrez le rôle des unités de gaz, de la limite de gaz, des frais de base, des frais de priorité et des frais maximum sur Ethereum, puis calculez le coût réel d’une transaction.
Dans ce guideLe gaz mesure le travail de calcul, pas le montant envoyé
Bref résumé
Les frais de gaz sur Ethereum se calculent en multipliant le gaz réellement consommé par une transaction par le prix effectif du gaz dans le bloc qui l’inclut. Le protocole fixe les frais de base et les brûle ; les frais de priorité peuvent revenir au validateur. Les frais maximum constituent un plafond de prix, pas nécessairement le prix que vous paierez.
Le gaz mesure le travail de calcul, pas le montant envoyé
Sur Ethereum, le gaz est l’unité qui mesure le travail de calcul nécessaire à l’EVM pour traiter une transaction. Un simple transfert d’ETH demande relativement peu de travail ; transférer un jeton ou exécuter plusieurs conditions d’un contrat intelligent peut en demander davantage. Deux transactions qui envoient le même montant d’ETH peuvent donc consommer des quantités de gaz différentes si elles réalisent des opérations différentes.
Les unités de gaz indiquent la quantité de travail et le prix du gaz indique combien d’ETH vous proposez par unité. Leur multiplication donne les frais. La limite de gaz est le nombre maximal d’unités que la transaction peut consommer, tandis que maxFeePerGas plafonne le prix par unité. Ces paramètres ne sont pas différentes appellations d’un même « montant maximal de frais ».
Ce guide porte sur une transaction EIP-1559 courante sur le réseau principal Ethereum. D’autres blockchains et réseaux de couche 2 peuvent utiliser d’autres structures de frais, actifs de paiement et libellés. N’appliquez pas automatiquement les termes d’Ethereum à tous les réseaux. Le guide du gaz d’Ethereum.org et son guide des transactions définissent ces champs.
La consommation de gaz dépend des opérations de la transaction
L’EVM associe un coût en gaz aux calculs et aux changements d’état. Un appel de contrat peut ajouter l’exécution de fonctions, des lectures ou écritures dans le stockage et l’enregistrement d’événements, opérations inutiles pour un simple transfert. Un plus grand nombre d’opérations ou un chemin d’exécution plus long peut consommer plus de gaz. Le gaz consommé ne se calcule pas en multipliant le montant d’ETH envoyé ou le cours d’un jeton.
Un transfert d’ETH, un transfert de jetons et un appel à une dapp exécutent des opérations différentes. Les appels de contrat peuvent exécuter des fonctions supplémentaires et lire ou modifier le stockage ; ils peuvent donc consommer davantage de gaz qu’un transfert simple. Le reçu d’une transaction incluse indique la quantité de gaz réellement utilisée.
Ethereum.org donne 21 000 unités de gaz comme exemple pour un transfert standard d’ETH. C’est un repère pour un transfert simple, pas une limite réutilisable pour les appels de contrat, dont le travail dépend des fonctions exécutées et des accès au stockage.
Le gaz du réseau est également distinct des frais de retrait d’un service. Une plateforme d’échange peut ajouter des frais d’exploitation ou appliquer son propre barème. Le gaz sur la chaîne rémunère le travail de calcul traité par le réseau. Si l’écran de retrait affiche un montant unique, vérifiez s’il regroupe les frais de la plateforme et le coût du réseau.
La limite de gaz et le gaz consommé sont deux valeurs différentes
La limite de gaz (gasLimit) est le nombre maximal d’unités de gaz que la transaction peut consommer. Le gaz consommé (gasUsed) correspond à la quantité réellement utilisée à la fin de l’exécution. Augmenter la limite ne signifie pas que chaque unité sera facturée. Pour une transaction incluse, les frais sont calculés à partir du gaz effectivement consommé et du prix effectif ; les unités inutilisées de la limite ne sont pas consommées.
Si la transaction elle-même manque de gaz pendant l’exécution, toute la limite de gaz est consommée et la transaction échoue. Ses changements d’état sont annulés, mais les calculs effectués restent facturés. Une limite plus élevée autorise davantage de travail, mais augmente aussi le coût maximal potentiel du gaz : gasLimit × maxFeePerGas. Le montant réellement facturé dépend toujours du gaz effectivement consommé et du prix effectif.
La limite de gaz est un plafond, pas une prévision de la consommation réelle. Ce n’est pas le prix par unité, et augmenter le prix ne corrige pas un nombre insuffisant d’unités de gaz. Si vous ne comprenez pas ce que l’appel exécutera, consultez les consignes officielles du portefeuille ou de l’application au lieu de modifier la limite au hasard.
Les frais de base évoluent avec la demande d’espace dans les blocs
Pour une transaction EIP-1559, les frais de base sont le prix du gaz par unité fixé par le protocole pour un bloc. Les frais maximum de la transaction doivent suffire à couvrir les frais de base du bloc qui l’inclura. Le protocole ajuste ces frais d’un bloc à l’autre selon le volume de gaz utilisé par le bloc précédent par rapport à son objectif. Ils peuvent augmenter ou diminuer : ce n’est pas un taux fixe permanent.
La part des frais de base correspondant au gaz réellement consommé est brûlée. Les validateurs ne la reçoivent pas comme pourboire. Comme les frais de base changent d’un bloc à l’autre, une transaction en attente peut être soumise à des frais de base différents au moment de son inclusion de ceux en vigueur lors de son envoi.
Le gwei est une petite subdivision de l’ETH : 1 gwei équivaut à 0,000000001 ETH. Un prix du gaz plus élevé augmente le coût en ETH même si la quantité de gaz consommée reste identique. Une consommation de gaz plus importante augmente aussi le coût, même si le prix par unité ne change pas. Ces deux facteurs modifient les frais en ETH indépendamment du cours de l’ETH en dollars.
Les frais de priorité sont un pourboire qui peut favoriser l’inclusion
Les frais de priorité sont un pourboire par unité de gaz proposé au validateur qui inclut la transaction. Les utilisateurs se disputent l’espace limité des blocs : à conditions comparables, un pourboire plus élevé peut donc rendre une transaction plus attractive. Il signale l’urgence, mais ne garantit pas l’inclusion dans un bloc précis ou dans un délai donné.
Un montant élevé pour les frais de priorité n’implique pas que la transaction ait besoin de plus d’unités de gaz. Les frais de priorité modifient le prix par unité ; la limite de gaz plafonne le travail autorisé. Un appel de contrat complexe peut toujours échouer si le gaz est insuffisant, même avec un pourboire élevé. À l’inverse, disposer d’assez d’unités ne suffit pas si le plafond de prix ne couvre pas les frais de base du bloc.
Pour sélectionner les transactions, les validateurs tiennent compte de l’espace disponible dans le bloc et d’autres conditions. Les frais de base et l’espace disponible évoluent avec le temps ; un pourboire plus élevé ne garantit pas l’inclusion à un moment précis. La spécification EIP-1559 distingue les rôles des frais de base et des frais de priorité et plafonne leur prix effectif combiné aux frais maximum.
Les frais maximum sont un plafond de prix, pas le prix réel
maxFeePerGas est le prix maximal par unité que vous acceptez de payer. maxPriorityFeePerGas est le pourboire maximal par unité que vous proposez. À l’inclusion, le prix effectif correspond aux frais de base auxquels s’ajoute le pourboire autorisé par les deux plafonds. Le pourboire appliqué ne peut dépasser la plus petite valeur entre maxPriorityFeePerGas et maxFeePerGas - baseFee ; le prix effectif ne dépasse donc pas les frais maximum.
Prenons un plafond de frais de 30 gwei, un pourboire maximal de 2 gwei et des frais de base de 18 gwei dans le bloc. Le pourboire peut être de 2 gwei et le prix effectif atteint 20 gwei. La transaction ne paie pas automatiquement 30 gwei au seul motif que cette valeur est le maximum. Si les frais de base passent à 31 gwei, un plafond de 30 gwei ne couvre pas ce bloc et la transaction ne peut pas y être incluse.
À mesure que les frais de base se rapprochent des frais maximum, la marge disponible pour le pourboire diminue. Même avec un plafond de pourboire de 5 gwei, si maxFeePerGas - baseFee n’est que de 1 gwei, le pourboire appliqué ne peut pas dépasser 1 gwei. Lisez les deux plafonds en tenant compte des frais de base actuels.

Calculez les frais réels et le plafond avec un exemple
Les chiffres ci-dessous sont hypothétiques et servent uniquement à illustrer le calcul. Supposons une limite de gaz de 30 000 unités, une consommation de 24 000 unités et une inclusion dans un bloc dont les frais de base sont de 18 gwei. Fixons le pourboire maximal à 2 gwei et les frais maximum à 30 gwei. Le pourboire appliqué est min(2, 30 - 18) = 2 gwei ; le prix effectif est donc 18 + 2 = 20 gwei.
Les frais de gaz réels sont de 24 000 × 20 = 480 000 gwei. Puisque 1 ETH vaut 1 000 000 000 gwei, cela représente 0,00048 ETH. La part des frais de base est de 24 000 × 18 = 432 000 gwei, soit 0,000432 ETH. Le pourboire est de 24 000 × 2 = 48 000 gwei, soit 0,000048 ETH. Les deux parts totalisent les frais réels de 0,00048 ETH.
Multiplier la limite de gaz entière par les deux plafonds donne 30 000 × 30 = 900 000 gwei, soit 0,0009 ETH. Avec ces paramètres, il s’agit du plafond des frais de gaz si toute la limite et le prix maximal par unité sont utilisés. Ce n’est pas le coût réel de cet exemple. Le montant d’ETH envoyé au destinataire s’ajoute séparément aux frais de gaz. Ne prenez pas le plafond pour un frais fixe ni les frais pour un pourcentage du transfert. Ces valeurs illustrent le calcul et ne constituent pas un tarif réseau en temps réel.
Une transaction échouée peut tout de même consommer du gaz
Ne partez pas du principe que les frais de gaz sont remboursés parce que le portefeuille indique « échec ». Si la transaction est incluse dans un bloc et que l’exécution de l’EVM commence avant un retour arrière, le changement d’état peut être annulé alors que le gaz utilisé pour les calculs reste facturé. Si la transaction elle-même manque de gaz pendant l’exécution, toute la limite de gaz est consommée. Les calculs ont bien eu lieu, même si le résultat attendu n’a pas été obtenu.
Une transaction qui échoue à la validation avant son inclusion est différente. Par exemple, un transfert d’ETH envoyé avec une limite inférieure au minimum requis peut être rejeté avant d’entrer dans un bloc ; dans ce cas, aucun gaz d’exécution n’est consommé. « Rejetée avant l’inclusion » et « incluse puis annulée pendant l’exécution » ne désignent pas le même état.
À l’aide du hachage de la transaction, vérifiez son statut, le gaz consommé, le prix effectif du gaz et le résultat de l’exécution. Le bref message d’erreur du portefeuille n’en donne pas toujours la cause. Ethereum.org distingue le rejet lors de la validation avant inclusion d’une transaction qui manque de gaz pendant son exécution.
Examinez séparément la limite, le prix et le montant envoyé
Avant de signer, vérifiez le réseau utilisé et déterminez si la transaction est un simple transfert ou un appel de contrat. Le portefeuille peut afficher des frais estimés, une limite de gaz, une estimation des frais de base, un plafond pour les frais de priorité, un plafond de frais maximum et le montant d’ETH ou de jetons envoyé. Chaque valeur répond à une question différente. Si l’écran n’affiche que le coût maximal du gaz, ouvrez les détails pour savoir à quel plafond il correspond au lieu de le prendre pour un prélèvement certain.
Les portefeuilles peuvent renseigner les frais estimés, ce qui évite souvent d’ajuster chaque champ manuellement. Ces valeurs restent des estimations fondées sur les conditions réseau du moment ; elles ne garantissent ni le délai d’inclusion ni le coût final. Un plafond de prix bas peut laisser la transaction en attente. Augmenter la limite ou le pourboire sans comprendre l’appel peut accroître le coût possible sans résoudre le problème de fond. Examinez les valeurs actuelles et ne signez que si la transaction vous paraît claire.
Cette explication porte sur le parcours habituel d’une transaction sur le réseau principal Ethereum. Une couche 2 ou une autre chaîne peut afficher des frais de données supplémentaires, employer un autre actif pour le paiement ou calculer les frais autrement. Ne transposez pas la formule d’Ethereum à un autre réseau sans consulter sa documentation. Pour vérifier le réseau et l’adresse de destination, consultez la liste de vérification des transferts crypto ; pour connaître l’autorisation distincte qu’un contrat peut avoir d’utiliser des jetons, lisez le guide des approbations de jetons.
Questions fréquentes
Q1Pourquoi une transaction échouée peut-elle tout de même coûter de l’ETH ?
Si la transaction a été incluse et que l’exécution a commencé, les calculs peuvent consommer du gaz même si le changement d’état est annulé. Consultez le hachage pour distinguer un échec d’exécution d’un rejet avant inclusion.
Q2maxFeePerGas correspond-il au prix réel du gaz affiché par mon portefeuille ?
Non. Il s’agit d’un plafond de prix par unité. Le prix effectif combine les frais de base du bloc qui inclut la transaction et le pourboire autorisé par les plafonds ; la transaction peut donc payer moins que le maximum.
Q3Les transactions du réseau principal Ethereum paient-elles le gaz en ETH ?
Les transactions ordinaires du réseau principal Ethereum paient le gaz en ether, l’actif natif du réseau. Si le portefeuille affiche un autre jeton ou un tiers qui sponsorise les frais, vérifiez s’il s’agit d’un mécanisme distinct. Les autres chaînes peuvent fonctionner différemment.
Sources et lectures complémentaires
Signaler un problème
Nous préparons un e-mail avec le lien de cet article. Mark ne reçoit le signalement qu’après son envoi
Vérification rapide
Guide terminé ? Vérifiez vos acquis avec 3 questions
Question 01
Que représente gasLimit ?
Choisissez une réponse pour voir l'explication