Comparison
Wei vs Gwei: qual unidade usar e quando
Wei é a unidade atômica. Gwei é a unidade de preço de gás. Não as confunda.
By Buğra SözeriPublished
Resumo. Wei é a unidade atômica e indivisível do Ethereum (1 ETH = 10¹⁸ Wei); Gwei é a unidade de preço de gás (1 Gwei = 10⁹ Wei = 10⁻⁹ ETH). Use Wei em contratos inteligentes e dados de transação brutos, Gwei para cotar preços de gás e ETH para saldos voltados ao usuário.
O Ethereum tem três denominações em uso cotidiano. ETH é a unidade legível para humanos. Wei é a unidade atômica e indivisível na base da pilha. Gwei fica no meio e existe por uma razão prática: é o tamanho certo para cotar preços de gás.
A folha de fatores
1 ETH = 10⁹ Gwei = 10¹⁸ Wei1 Gwei = 10⁹ Wei = 10⁻⁹ ETH
Converta qualquer valor em qualquer direção via nosso conversor Wei / Gwei / ETH, que usa matemática BigInt em toda parte.
Quando usar Wei
- Código de contrato inteligente. O Solidity armazena todos os saldos como quantidades inteiras de Wei. Não há ponto flutuante on-chain; toda operação aritmética deve produzir Wei inteiro.
- Leitura de objetos de transação brutos. O campo
valuede uma transação é denominado em Wei. Exploradores de bloco (Etherscan, etc.) o exibem em ETH para legibilidade, mas o número subjacente é Wei. - Respostas da API RPC. A maioria dos campos JSON-RPC retorna strings Wei.
eth_getBalanceretorna um valor Wei em hexadecimal, não um valor ETH.
Quando usar Gwei
- Preços de gás.Universalmente. “25 Gwei de gás” é a unidade natural; “25.000.000.000 Wei de gás” ou “0,000000025 ETH de gás” seriam ambos ilegíveis na tela de uma carteira.
- Cotações de taxa base + taxa de prioridade do EIP-1559. Ambas são denominadas em Gwei. O Gas Tracker do Etherscan cota tudo em Gwei. MetaMask, Rabby e toda outra carteira exibem gás em Gwei.
- Ferramentas de estimativa de taxa de rede. Se você está construindo uma UI que diz “taxa estimada: 0,0042 ETH”, a multiplicação subjacente é unidades-de-gás × Gwei-por-gás, convertido para ETH para exibição.
Quando não usar nenhum — use ETH
Para saldos, transferências e qualquer quantia voltada a humanos, use ETH. Quantias Wei da ordem de 10¹⁸ são ilegíveis; quantias Gwei da ordem de 10⁹ são apenas um pouco melhores. ETH com 4-6 casas decimais é a unidade natural para “quanto isso custou.”
Por que o problema do BigInt importa
O tipo Number do JavaScript usa precisão dupla IEEE 754, que fornece aproximadamente 15-17 dígitos decimais significativos. 1 ETH = 10¹⁸ Wei precisa de 19 dígitos para ser representado. Portanto:
- Armazenar um saldo de 9 ETH ou mais em Number perde precisão.
- Cálculos como “0,1 ETH + 0,2 ETH = 0,3 ETH” não fazem round-trip limpo quando expressos em Wei via Number.
- A conversão ingênua
Number(weiString)arredonda silenciosamente.
Bibliotecas de produção (ethers.js, viem, web3.js) usam BigInt ou uma classe personalizada semelhante a bigint para quantias Wei. Nosso conversor Wei / Gwei / ETH usa BigInt em toda a conversão, então um valor como 123.456.789.012.345.678 Wei faz round-trip para 0,123456789012345678 ETH e de volta sem um único dígito perdido.
O modelo mental
Pense nisso como dólares e centavos — mas com duas unidades intermediárias entre a menor e a maior. Wei é o centavo (atômico, sem nada menor). Gwei é o dólar (a unidade em que os preços são cotados). ETH é a nota de mil dólares (a unidade em que os saldos são relatados).
Tente fazer cálculos de preço de gás em Wei: feio. Tente escrever um contrato inteligente em ETH: impossível (sem ponto flutuante). Cada unidade tem sua faixa. Não as misture.
A conclusão honesta
Para preços de gás, Gwei. Para código on-chain, Wei. Para saldos e quantias voltadas ao usuário, ETH. Os três coexistem por boas razões. Converta via nosso conversor quando cruzar entre eles; não confie na sua própria aritmética mental após ~12 zeros.
Dados numéricos
- 1 ETH = 10¹⁸ Wei = 1.000.000.000.000.000.000 Wei — 18 zeros, a pegada completa uint256 de cada saldo.
- 1 Gwei = 10⁹ Wei = 1.000.000.000 Wei; 1 ETH = 10⁹ Gwei.
- Number.MAX_SAFE_INTEGER = 2⁵³−1 ≈ 9,007 × 10¹⁵, o que significa que JS Number pode representar até ~0,009 ETH em Wei sem perda de precisão; qualquer coisa maior arredonda silenciosamente.
- Preços típicos de gás (2024-2026): taxa base de 5-50 Gwei em condições normais, 100-500 Gwei durante picos de mint de NFT, >1000 Gwei na congestão da era 2021.
- Custo padrão de transferência ETH: 21.000 de gás × Gwei atual. A 30 Gwei isso é 630.000 Gwei = 0,00063 ETH.
- Outras unidades nomeadas (raramente usadas): 1 Kwei = 10³ Wei (Babbage), 1 Mwei = 10⁶ Wei (Lovelace), 1 Twei = 10¹² Wei (Micro/Szabo).
- Ajuste de taxa base EIP-1559: variação máxima de 12,5% por bloco (~12 s); converge para a demanda em ~6 blocos.
Matriz de decisão
| Contexto | Unidade | Por quê |
|---|---|---|
Solidity uint256 balance | Wei | Sem floats on-chain; uint256 armazena Wei nativamente |
RPC eth_gasPrice, eth_getBalance | Wei (hex) | JSON-RPC retorna strings Wei em hex |
| Controle deslizante de gás do MetaMask | Gwei | 5-200 cabe num dial de UI |
maxFeePerGas EIP-1559 | Gwei | Unidade padrão de carteira/explorador |
| Exibição de saldo voltada ao usuário | ETH (4-6 decimais) | Magnitude legível para humanos |
| Valor de transação no explorador de blocos | ETH | Etherscan converte Wei → ETH para exibição |
| Aritmética em JS / Python | Wei como BigInt | Evita perda de precisão do float de 64 bits |
Fontes
- Ethereum Yellow Paper (Wood, revisão Berlin) — Apêndice C define Wei e denominações — ethereum.github.io/yellowpaper.
- EIP-1559 — Mudança no mercado de taxas para a chain ETH 1.0 — eips.ethereum.org/EIPS/eip-1559.
Frequently asked questions
- Quanto é 1 Gwei em ETH?
- 1 Gwei = 10⁻⁹ ETH = 0,000000001 ETH. A folha de fatores: 1 ETH = 10⁹ Gwei = 10¹⁸ Wei. Indo para cima: divida. Indo para baixo: multiplique.
- Por que o gás é precificado em Gwei em vez de ETH ou Wei?
- Porque os preços de gás ficam na faixa de 10-100 Gwei — legíveis como números inteiros pequenos. O mesmo preço em Wei (10¹⁰-10¹¹) ou ETH (10⁻⁸) seria ilegível na tela de uma carteira. Gwei é apenas a unidade que torna a magnitude típica conveniente.
- Por que as bibliotecas Ethereum precisam de BigInt para Wei?
- Porque 1 ETH = 10¹⁸ Wei precisa de 19 dígitos decimais para ser representado. O tipo Number do JavaScript tem apenas ~15-17 dígitos de precisão, então armazenar saldos em Number silenciosamente perde precisão após cerca de 9 ETH. Bibliotecas de produção (ethers, viem, web3.js) usam BigInt em toda parte.
- Gwei é o mesmo que Shannon?
- Sim — ambos os nomes se referem à unidade de 10⁻⁹ ETH. Gwei (giga-wei) tornou-se o nome dominante depois que EIP-1559 e as UIs de carteira o adotaram; Shannon (em homenagem a Claude Shannon) é uma convenção mais antiga ocasionalmente ainda vista em escritos acadêmicos.
Related
Published May 14, 2026