Les gas fees sont les frais que vous payez pour faire exécuter une transaction par une blockchain. Sur Ethereum, ils varient d'un centime à plusieurs dizaines d'euros pour exactement la même opération, selon l'heure à laquelle vous cliquez. Cette page explique d'où vient l'écart, et comment le ramener à presque rien.

Gas fee = gas utilisé × prix du gas (en gwei)Le gas utilisé dépend de la complexité de votre transaction, le prix du gas dépend de l'encombrement du réseau au moment où vous l'envoyez. Vous ne contrôlez pas le premier terme, mais vous contrôlez largement le second.

Gas fees : la réponse en 30 secondes

Une blockchain est un ordinateur partagé par tout le monde. Chaque calcul qu'on lui demande coûte de la ressource, et le gas est l'unité qui mesure cette ressource. Vous payez ce que votre transaction consomme, au tarif du moment.

Le tarif du moment est la partie qui surprend. Sur Ethereum, envoyer des tokens peut coûter 0,30 € un dimanche matin et 15 € un mardi de forte activité. Rien n'a changé dans votre transaction, seule la demande pour le réseau a changé. Voici les ordres de grandeur selon le réseau que vous utilisez :

RéseauTransfert simpleSwap sur un DEXPayé en
Ethereum (L1)0,10 € à 10 €0,50 € à 40 €ETH
Arbitrummoins de 0,05 €0,05 € à 0,30 €ETH
Optimismmoins de 0,05 €0,05 € à 0,30 €ETH
Basemoins de 0,05 €0,05 € à 0,30 €ETH
Polygonmoins de 0,02 €0,02 € à 0,10 €POL
Solanaenviron 0,0002 €0,001 € à 0,02 €SOL

Ces fourchettes bougent en permanence, et celle d'Ethereum bouge le plus. Retenez le rapport plutôt que les chiffres : une même opération coûte couramment cent fois moins cher sur un Layer 2 que sur Ethereum. C'est de là que vient l'essentiel des économies possibles, et c'est pour ça qu'on commence par là.

Comment réduire ses gas fees

Trois leviers, par ordre d'efficacité réelle. Le premier écrase les deux autres.

Passer sur un Layer 2

Un Layer 2 est une blockchain qui traite les transactions de son côté, les regroupe par paquets, et ne publie que le résultat compressé sur Ethereum. Le coût de la publication est partagé entre toutes les transactions du paquet, donc votre part devient minuscule. Vous gardez la sécurité d'Ethereum, vous ne payez plus le plein tarif.

Depuis la mise à jour Dencun de mars 2024, les Layer 2 disposent d'un espace de stockage dédié et bien moins cher sur Ethereum, ce qui a fait chuter leurs frais d'environ 90 %. Nous détaillons le mécanisme dans notre article sur ce qu'a changé Dencun pour les frais des L2. Concrètement, un swap qui coûtait 0,50 € sur Arbitrum en coûte aujourd'hui quelques centimes.

Le choix du L2 compte peu pour votre portefeuille : Arbitrum, Optimism et Base pratiquent des tarifs comparables. Prenez celui où vivent les applications que vous utilisez. Si le principe des rollups ne vous parle pas encore, notre guide sur les Layer 2 d'Ethereum reprend tout depuis le début.

Le seul coût à anticiper est le pont. Faire passer vos fonds d'Ethereum vers un L2 est une transaction sur Ethereum, donc au tarif Ethereum. Ça se rentabilise vite si vous comptez rester, beaucoup moins si vous faites l'aller-retour pour une seule opération.

Choisir son moment

Si vous devez absolument transiger sur Ethereum, l'heure change tout. L'activité suit les journées de bureau américaines, donc le réseau se calme la nuit européenne et le week-end. Le samedi et le dimanche matin sont régulièrement les créneaux les moins chers de la semaine.

Un coup d'œil au gas tracker d'Etherscan avant de valider vous dit où en est le prix. Au-dessus de 50 gwei, attendez. En dessous de 5 gwei, allez-y. Une transaction qui n'est pas urgente n'a aucune raison d'être payée en heure de pointe.

Ne pas toucher à la gas limit sans savoir

Votre wallet estime automatiquement le gas nécessaire, et son estimation est bonne dans la quasi-totalité des cas. La baisser à la main pour « économiser » est le meilleur moyen de faire échouer la transaction et de payer quand même. Nous y revenons plus bas, parce que c'est l'erreur la plus coûteuse de la liste.

Un dernier réflexe, souvent oublié : sur les plateformes centralisées, un retrait vers une adresse externe vous fait payer les frais de réseau, mais un échange interne entre deux de vos comptes n'en paie aucun. Regrouper vos retraits en un seul mouvement au lieu de cinq divise mécaniquement la facture.

C'est quoi les gas fees, concrètement

Le mot gas vient d'une analogie avec le carburant, et l'analogie tient bien. Une voiture consomme du carburant selon la distance et le relief. Une transaction consomme du gas selon le travail qu'elle demande aux machines du réseau.

Chaque opération élémentaire a un coût en gas fixé par le protocole. Additionner deux nombres coûte 3 unités de gas. Écrire une donnée en mémoire coûte 20 000 unités. Un transfert d'ETH tout simple coûte toujours 21 000 unités, c'est une constante du réseau. Un swap sur un DEX en consomme dix fois plus, parce qu'il déclenche un contrat qui vérifie des soldes, calcule un prix et déplace deux tokens.

Ce barème ne bouge pas. Votre transfert d'ETH consommera 21 000 unités aujourd'hui, demain et dans deux ans. Ce qui bouge, c'est le prix que vous payez par unité.

Deux paramètres apparaissent dans votre wallet au moment de valider. La gas limit est le maximum d'unités que vous autorisez la transaction à consommer, une sécurité qui empêche un contrat bugué de vider votre solde en tournant en boucle. Le prix du gas est ce que vous acceptez de payer par unité. Multipliez les deux et vous avez le plafond de ce que la transaction peut vous coûter.

Nuance qui compte : vous payez le gas réellement consommé, pas la limite. Si vous fixez la limite à 100 000 unités et que la transaction n'en utilise que 60 000, vous payez 60 000. La limite est un plafond, pas un forfait.

C'est quoi le gwei

Le gwei est simplement une petite unité d'ETH, comme le centime est une petite unité d'euro. Un gwei vaut un milliardième d'ETH.

1 gwei = 0,000000001 ETHAutrement dit, il faut un milliard de gwei pour faire 1 ETH. L'unité existe parce que les prix du gas sont si petits qu'ils seraient illisibles écrits en ETH.

Personne n'a envie d'écrire « le gas est à 0,000000025 ETH ». On écrit « le gas est à 25 gwei », et tout le monde comprend. C'est la seule raison d'être de cette unité.

Pour convertir mentalement un prix en gwei vers une facture en euros, il faut passer par la gas limit. Un transfert d'ETH à 25 gwei coûte 21 000 × 25 gwei, soit 525 000 gwei, soit 0,000525 ETH. À 3 000 € l'ETH, ça fait environ 1,60 €. Ce calcul est celui que votre wallet fait pour vous à chaque écran de confirmation.

Pourquoi les gas fees varient autant sur Ethereum

Parce que l'espace dans un bloc est limité et qu'il se vend aux enchères. Ethereum produit un bloc toutes les 12 secondes, et ce bloc ne peut contenir qu'une quantité finie de gas. Quand il y a plus de transactions en attente que de place disponible, il faut départager, et c'est le prix qui départage.

Depuis la mise à jour London d'août 2021 et sa fameuse EIP-1559, votre frais se décompose en deux morceaux qui n'ont ni le même rôle ni la même destination.

La base fee est fixée par le protocole lui-même, pas par vous. Le réseau vise des blocs à moitié pleins. Quand un bloc dépasse cette cible, la base fee du bloc suivant monte automatiquement, jusqu'à 12,5 % de plus. Quand un bloc est en dessous, elle baisse d'autant. Cette correction s'applique toutes les 12 secondes, ce qui explique que le gas puisse tripler en quelques minutes quand un lancement de NFT ou une liquidation massive sature le réseau. Cette base fee est détruite, elle ne va dans la poche de personne.

La priority fee est le pourboire que vous ajoutez pour passer devant. C'est la seule partie que vous choisissez vraiment, et c'est ce que font les boutons « lent », « normal » et « rapide » de votre wallet. Quand le réseau est calme, un pourboire symbolique suffit. Quand il sature, c'est là que se joue la surenchère.

Décomposition d'une gas fee Ethereum : la base fee est brûlée, la priority fee va au validateur
Les deux morceaux d'une gas fee depuis l'EIP-1559 : la base fee, majoritaire, est détruite ; seule la priority fee rémunère le validateur (schéma Docucrypto).

Le max fee, enfin, est le plafond total que vous acceptez. S'il dépasse la base fee du moment, la différence vous est rendue. Votre wallet le fixe avec une marge pour absorber une hausse pendant que la transaction attend.

Un dernier facteur explique les pics les plus violents : les enchères automatisées. Quand une opportunité rentable apparaît, des robots se battent pour être servis en premier et poussent la priority fee à des niveaux absurdes pendant quelques blocs. Vous n'êtes pas dans cette course, mais vous en payez le tarif si vous transigez au même instant.

Qui touche vos gas fees

Question simple, réponse que peu d'articles donnent clairement : personne ne touche la totalité.

La base fee, qui représente le gros du montant en temps normal, est brûlée. Les ETH correspondants sont détruits et sortent définitivement de la circulation. Ce n'est pas une image comptable : l'offre totale d'ETH diminue à chaque transaction. Aux périodes de forte activité, Ethereum détruit plus d'ETH qu'il n'en émet, et la monnaie devient déflationniste.

La priority fee, elle, va au validateur qui a produit le bloc contenant votre transaction. C'est sa rémunération pour le travail, en plus de la récompense d'émission du protocole. Si le sujet vous intéresse, notre article sur ce que rapporte réellement le staking Ethereum détaille la part que ces pourboires représentent dans les revenus d'un validateur.

Donc non, vos frais ne vont pas « à Ethereum ». Il n'y a pas d'entreprise Ethereum qui encaisse. Une partie disparaît, l'autre paie ceux qui font tourner le réseau.

Les erreurs qui vous font payer trop cher

Baisser la gas limit à la main. C'est l'erreur qui coûte le plus cher, et elle est contre-intuitive. Si la transaction manque de gas en cours de route, elle échoue, mais le travail déjà effectué a bien été fait, donc le gas consommé est perdu. Vous payez la totalité et vous n'obtenez rien. Il faut alors recommencer, et payer une deuxième fois. La gas limit n'est pas un curseur d'économie, c'est un fusible.

Croire qu'une transaction échouée est gratuite. Même logique. Un swap qui échoue parce que le prix a bougé, un mint qui arrive après la fin du stock, une transaction rejetée par un contrat : tous consomment du gas et vous le facturent. C'est le principe même du système, puisque le réseau a bel et bien travaillé pour constater l'échec.

Oublier l'approve. Utiliser un token ERC-20 sur une application décentralisée demande deux transactions : une pour autoriser le contrat à toucher vos tokens, une pour l'opération elle-même. Beaucoup de gens découvrent le second frais après avoir payé le premier. Sur Ethereum, ça double la note d'un simple swap.

Renvoyer une transaction bloquée au lieu de la remplacer. Si votre transaction reste en attente parce que le prix proposé est trop bas, en envoyer une seconde ne l'annule pas. Vous en avez deux en file, et vous risquez de payer les deux. La bonne manœuvre est de renvoyer une transaction avec le même numéro de nonce et un prix plus élevé, ce que les wallets appellent « accélérer » ou « annuler ». Elle remplace la première au lieu de s'y ajouter.

Se tromper de réseau. Envoyer des fonds sur la mauvaise chaîne ne relève pas des gas fees, mais ça coûte bien plus cher que n'importe quelle économie de frais. Notre checklist pour vérifier une adresse avant d'envoyer couvre ce point, qui reste la première cause de pertes définitives chez les débutants.

Gas fees : les questions fréquentes

C'est quoi les gas fees ?

Les gas fees sont les frais de transaction d'une blockchain. Ils rémunèrent le réseau pour le travail de calcul que votre opération lui demande, et ils empêchent que n'importe qui sature le système avec des transactions inutiles. Sur Ethereum, ils se paient en ETH et se mesurent en gwei. Leur montant dépend de la complexité de votre transaction et de l'encombrement du réseau au moment où vous l'envoyez.

Comment éviter les gas fees ?

Les éviter totalement est impossible, toute blockchain fait payer son espace. Les réduire de plus de 90 % est en revanche simple : utilisez un Layer 2 comme Arbitrum, Optimism ou Base plutôt qu'Ethereum directement. Si vous devez rester sur Ethereum, transigez la nuit européenne ou le week-end, quand le réseau est calme, et regroupez vos opérations plutôt que de les multiplier.

C'est quoi le gwei ?

Le gwei est une sous-unité d'ETH qui vaut un milliardième d'ETH. Elle sert uniquement à exprimer le prix du gas de façon lisible : « 25 gwei » se lit mieux que « 0,000000025 ETH ». Quand un gas tracker affiche 25 gwei, il indique ce que coûte une unité de gas à cet instant, pas le prix total de votre transaction.

Pourquoi les gas fees sont si élevés sur Ethereum ?

Parce que l'espace dans chaque bloc est limité et qu'il se vend aux enchères. Ethereum produit un bloc toutes les 12 secondes avec une capacité fixe. Quand la demande dépasse cette capacité, le protocole augmente automatiquement la base fee de 12,5 % maximum par bloc jusqu'à ce que la demande retombe. Un lancement de NFT ou une secousse de marché peut ainsi faire tripler le prix en quelques minutes.

Qui touche les gas fees ?

Personne n'en touche la totalité. Depuis l'EIP-1559, la base fee est détruite, ce qui retire ces ETH de la circulation pour toujours. Seule la priority fee, le pourboire, va au validateur qui a inclus votre transaction dans son bloc. Aucune entreprise n'encaisse vos frais de gas.

Est-ce qu'on paie les gas fees si la transaction échoue ?

Oui, et c'est ce qui surprend le plus. Le réseau a exécuté du calcul jusqu'au point d'échec, donc ce calcul est facturé. Un swap qui échoue faute de gas ou parce que le prix a bougé vous coûte le gas consommé, sans rien vous donner en retour. C'est pourquoi baisser la gas limit à la main est une mauvaise idée : vous augmentez le risque d'échec sans réduire le coût.

Faut-il de l'ETH pour payer les gas fees ?

Sur Ethereum et sur ses Layer 2 comme Arbitrum, Optimism ou Base, oui. Même si vous ne déplacez que des USDC, vous avez besoin d'un peu d'ETH sur l'adresse pour régler les frais. Chaque réseau fait payer son gas dans sa monnaie native : POL sur Polygon, SOL sur Solana, BNB sur BNB Chain. Une adresse sans monnaie native est bloquée, quelle que soit la valeur des tokens qu'elle contient.