Skip to content

Glossary

Wei

L’unité atomique d’Ethereum

By Published Updated

Weiest la plus petite unité indivisible de l’Ether. 1 ETH = 10¹⁸ Wei = 1 000 000 000 000 000 000 Wei. Nommé d’après Wei Dai, le cryptographe dont la proposition b-money de 1998 est l’un des ancêtres conceptuels de Bitcoin et du plus large écosystème de contrats intelligents.

Les contrats intelligents sur Ethereum effectuent toute l’arithmétique des soldes en montants entiers de Wei. Il n’y a pas de virgule flottante sur la chaîne — chaque champ de valeur, calcul de gaz et solde est un entier non signé de 256 bits en Wei. ETH et Gwei sont de pures étiquettes destinées aux humains ; l’EVM ne connaît que le Wei.

En JavaScript, cela importe parce que Number.MAX_SAFE_INTEGER est environ 9 × 10¹⁵. Un solde de 9 ETH est environ 9 × 10¹⁸ Wei — trois ordres de grandeur au-delà du plancher de précision de Number. Les bibliothèques de portefeuilles de production utilisent BigInt pour les montants en Wei. Notre convertisseur Wei / Gwei / ETH utilise BigInt tout au long pour que les conversions aller-retour ne perdent pas de précision.

Pourquoi 18 décimales spécifiquement ?Les concepteurs d’Ethereum voulaient une résolution fractionnaire suffisamment grande pour que même à des prix de gaz extrêmes, le coût d’une transaction soit confortablement exprimable sans notation scientifique, et suffisamment grande pour que les frais les plus petits pratiques (actuellement quelques milliers de Wei) soient encore des nombres entiers. 18 décimales se situe également confortablement en dessous du plafond de 2²⁵⁶ — un champ de valeur sur la chaîne Ethereum peut représenter jusqu’à ~1,158 × 10⁷⁷ Wei, plus d’Ether que l’univers pourrait vraisemblablement contenir. Les tokens ERC-20 héritent par défaut de la même convention de 18 décimales pour la cohérence avec la couche de base, bien que les tokens soient libres de choisir leurs propres décimales (USDC utilise 6, WBTC utilise 8).

Montants pratiques de Wei que vous verrez dans un portefeuille : une transaction typique sur le réseau principal à 30 Gwei de prix de gaz avec un transfert simple de 21 000 gaz coûte 30 × 10⁹ × 21 000 = 6,3 × 10¹⁴ Wei = 0,00063 ETH. Une interaction complexe de contrat intelligent (échange Uniswap, mint NFT) pourrait brûler 200 000+ de gaz — ordre de 10¹⁶ Wei. La lecture d’une transaction brute dans Etherscan montre le champ de valeur sous forme de chaîne décimale Wei pour l’exactitude ; la couche UI au-dessus le rend en ETH avec un bouton de bascule d’unité. Connexe : Gwei, BigInt. Référence : Ethereum Yellow Paper.

Exemple concret

Vous souhaitez envoyer 0,025 ETH depuis un script. Convertissez en Wei : 0,025 × 10¹⁸ = 25 000 000 000 000 000 Wei — un entier à 17 chiffres. JavaScript naïf : 0.025 * 1e18 évalue à 25000000000000000 mais le stocker comme un Number ordinaire perd de la précision sur les calculs intermédiaires (essayez 0.1 * 1e18 + 0.2 * 1e18 — vous obtenez 299999999999999970, décalé de 30 Wei). Le bon motif utilise BigInt : ethers.parseEther("0.025") renvoie 25000000000000000n (un BigInt) que l’arithmétique préserve exactement. Maintenant envoyez : à 25 Gwei de prix de gaz pour un transfert de 21 000 gaz, frais = 25n * 10n**9n * 21000n = 525000000000000n Wei = 0,000525 ETH. Total quittant le portefeuille : 25000000000000000n + 525000000000000n = 25525000000000000n Wei = 0,025525 ETH. Chaque étape reste en Wei entier jusqu’à l’affichage.

Quand et pourquoi c’est important

Trois classes de bugs sont liées à une mauvaise gestion du Wei. Premièrement : l’arithmétique en virgule flottante sur les valeurs ETH qui arrondit silencieusement et fait que “envoyer 1,0 ETH” laisse 23 Wei bloqués dans le portefeuille, cassant les vérifications de solde ultérieures. Deuxièmement : la confusion d’unités (envoyer des Gwei là où des Wei étaient attendus, décalé de 10⁹) — la transaction embarrassante canonique est un transfert de 4 000 $ qui a payé 4 000 000 $ de frais parce qu’un script a multiplié le prix du gaz par 10⁹ deux fois. Troisièmement : copier-coller une valeur hex d’une réponse RPC et l’analyser comme décimal — une valeur de transaction de 0x4563918244F40000 est 5 000 000 000 000 000 000 Wei = 5 ETH, pas 4 563 918 244 940 000 de quoi que ce soit. Les règles défensives : garder toutes les valeurs en BigInt ou BN.js partout où elles vivent dans le code, étiqueter chaque variable avec son unité (amountWei, pas amount), et utiliser les helpers ethers/viem (parseEther, formatEther) uniquement à la frontière d’affichage humain. Référence : ethers.js — About units.

Essayez la calculatrice

Convertissez entre wei, gwei et ETH avec une précision complète à 18 décimales.

Ouvrir le convertisseur wei / gwei / ETH →

Frequently asked questions

Qu’est-ce qu’un wei ?
Un wei est la plus petite unité indivisible d’Ether (ETH), la cryptomonnaie native du réseau Ethereum. Un ETH est égal à 10^18 wei — soit 1 000 000 000 000 000 000 wei.
Comment le wei est-il utilisé en pratique ?
Les prix du gaz et les soldes des contrats intelligents sont calculés en wei au niveau du protocole. Les interfaces utilisateurs affichent les valeurs en gwei (10^9 wei) pour les prix du gaz ou en ETH pour les soldes de comptes. Des frais de base typiques pourraient être 10 gwei = 10 000 000 000 wei.
Quelle est la différence entre wei, gwei et ETH ?
Wei est l’unité de base (1), gwei est 10^9 wei et est utilisé pour les prix du gaz (ex. 20 gwei par unité de gaz), et ETH est 10^18 wei, la dénomination destinée aux utilisateurs. La hiérarchie reproduit la relation entre satoshis et BTC mais avec beaucoup plus de décimales.

Related

Published May 14, 2026 · Last reviewed May 31, 2026