Como calcular as taxas de gas da Ethereum: base fee, priority fee e limite de gas
Entenda o que significam as unidades de gas, o limite de gas, a base fee, a priority fee e a taxa máxima na Ethereum e calcule o custo real de uma transação.
Neste guiaGas mede o trabalho computacional, não o valor enviado
Resumo breve
As taxas de gas da Ethereum são calculadas multiplicando o gas que a transação realmente usou pelo preço efetivo do gas no bloco que a incluiu. O protocolo define e queima a base fee; a priority fee pode ser paga ao validador. A taxa máxima é um limite, não necessariamente o preço que você vai pagar.
Gas mede o trabalho computacional, não o valor enviado
Na Ethereum, gas é a unidade usada para medir o trabalho computacional necessário para a EVM processar uma transação. Uma transferência simples de ETH exige relativamente pouco trabalho; transferir um token ou executar várias condições de um contrato inteligente pode exigir mais. Por isso, duas transações que enviam a mesma quantidade de ETH podem usar quantidades diferentes de gas se realizarem trabalhos diferentes.
As unidades de gas indicam a quantidade de trabalho. O preço do gas indica quanto ETH você oferece por unidade. O produto dos dois determina a taxa. O limite de gas é a quantidade máxima de unidades que a transação pode consumir, enquanto maxFeePerGas é um limite para o preço por unidade. Esses campos não são versões intercambiáveis de uma única “taxa máxima”.
Este guia aborda uma transação padrão EIP-1559 na rede principal da Ethereum. Outras blockchains e redes de camada 2 podem usar estruturas de taxas, ativos de pagamento e rótulos diferentes. Não aplique automaticamente os termos da Ethereum a todas as redes. O guia de gas da Ethereum.org e o guia de transações definem esses campos.
O gas usado depende do trabalho que a transação realiza
A EVM atribui custos de gas à computação e às mudanças de estado. Uma chamada de contrato pode incluir a execução de funções, leituras ou gravações no armazenamento e registros de eventos, operações que uma transferência simples não exige. Mais operações ou um caminho de execução mais longo podem consumir mais gas. O gas usado não é calculado multiplicando o valor de ETH enviado nem o preço de mercado de um token.
Uma transferência de ETH, uma transferência de token e uma chamada a um dapp executam operações diferentes. Chamadas de contratos podem executar funções adicionais e ler ou atualizar o armazenamento, portanto podem consumir mais gas do que uma transferência simples. Para uma transação incluída, o recibo da transação informa a quantidade de gas realmente usada.
A Ethereum.org usa 21.000 gas como exemplo de uma transferência padrão de ETH. É uma referência para uma transferência simples, não um limite de gas reutilizável para chamadas de contratos, cujo trabalho depende das funções e do acesso ao armazenamento.
O gas da rede também é diferente da taxa de saque cobrada por um serviço. Uma corretora pode adicionar um custo operacional ou aplicar sua própria tabela de taxas. O gas on-chain paga pelo trabalho computacional processado pela rede. Se a tela de saque mostrar um único valor, verifique se ele combina uma taxa da plataforma com o custo da rede.
O limite de gas e o gas usado são números diferentes
O limite de gas (gasLimit) é a quantidade máxima de unidades de gas que a transação tem permissão para consumir. O gas usado (gasUsed) é o valor que ela realmente consome quando a execução termina. Definir um limite maior não significa que todas as unidades desse limite serão cobradas automaticamente. Para uma transação incluída, a taxa considera o gas realmente consumido e o preço efetivo do gas; unidades não usadas do limite não são consumidas.
Se a própria transação ficar sem gas durante a execução, todo o limite de gas será consumido e ela falhará. As mudanças de estado são revertidas, mas a computação ainda gera uma taxa. Um limite maior permite mais trabalho, mas também aumenta a exposição ao custo máximo de gas: gasLimit × maxFeePerGas. A cobrança real ainda depende do gas usado e do preço efetivo.
O limite de gas é um teto, não uma previsão do uso real. O limite não é o preço por unidade, e aumentar o preço não corrige a falta de unidades de gas. Se você não entender o que uma chamada executará, consulte a orientação oficial da carteira ou do aplicativo em vez de alterar o limite sem critério.
A base fee varia conforme a demanda por espaço nos blocos
Em uma transação EIP-1559, a base fee é o preço por gas definido pelo protocolo para um bloco. A taxa máxima da transação precisa ser suficiente para cobrir a base fee do bloco que a incluir. O protocolo ajusta a base fee de um bloco para outro conforme o gas usado pelo bloco anterior em relação à meta. Ela pode subir ou cair; não é uma tarifa permanentemente fixa.
A parte da base fee correspondente ao gas realmente usado é queimada; os validadores não recebem essa parte como gorjeta. Como a base fee muda de um bloco para outro, uma transação pendente pode encontrar uma base fee diferente quando for incluída do que encontrava no momento do envio.
gwei é uma denominação pequena de ETH: 1 gwei equivale a 0,000000001 ETH. Um preço de gas maior aumenta o custo em ETH mesmo que o gas usado continue igual. Usar mais gas também aumenta o custo mesmo que o preço por unidade não mude. Os dois fatores podem alterar a taxa em ETH, independentemente do preço do ETH em dólares.
A priority fee é uma gorjeta que pode incentivar a inclusão
A priority fee é uma gorjeta por unidade de gas oferecida ao validador que inclui a transação. Os usuários disputam o espaço limitado dos blocos, então uma gorjeta maior pode tornar uma transação mais atrativa quando as outras condições são semelhantes. Ela sinaliza urgência, mas não garante a inclusão em um bloco específico nem dentro de um prazo determinado.
Uma priority fee alta é diferente da quantidade de unidades de gas necessária para a transação. A priority fee altera o preço por unidade; o limite de gas restringe o trabalho permitido. Uma chamada complexa de contrato ainda pode falhar se não houver gas suficiente, mesmo com uma gorjeta alta. Por outro lado, ter unidades de gas suficientes não ajuda se o limite de preço não cobrir a base fee do bloco.
Os validadores também consideram o espaço do bloco e outras condições das transações ao fazer a seleção. A especificação EIP-1559 atribui funções diferentes à base fee e à priority fee e limita o preço efetivo combinado à taxa máxima.
A taxa máxima é um limite de preço, não o preço real
maxFeePerGas é o preço máximo por unidade que você aceita pagar. maxPriorityFeePerGas é o limite máximo da gorjeta por unidade que você oferece. Quando a transação é incluída, o preço efetivo é a base fee mais a gorjeta que couber nos dois limites. A gorjeta aplicada fica limitada ao menor valor entre maxPriorityFeePerGas e maxFeePerGas - baseFee, portanto o preço efetivo não pode ultrapassar a taxa máxima.
Por exemplo, suponha que a taxa máxima seja 30 gwei, a gorjeta máxima seja 2 gwei e a base fee do bloco seja 18 gwei. A gorjeta possível é 2 gwei, então o preço efetivo é 20 gwei. A transação não paga automaticamente 30 gwei só porque esse é o limite máximo. Se a base fee subir para 31 gwei, o limite de 30 gwei não cobre aquele bloco e a transação não pode ser incluída nele.
Quando a base fee se aproxima da taxa máxima, sobra menos espaço para a gorjeta. Mesmo que o limite da gorjeta seja 5 gwei, se maxFeePerGas - baseFee for apenas 1 gwei, a gorjeta aplicada poderá ser de no máximo 1 gwei. Leia os dois limites junto com a base fee atual.

Calcule o custo real e o limite com valores ilustrativos
Os valores a seguir são hipotéticos e servem apenas para demonstrar o cálculo. Suponha que uma transação tenha um limite de gas de 30.000 unidades, use 24.000 unidades e seja incluída em um bloco com base fee de 18 gwei. Defina a gorjeta máxima em 2 gwei e a taxa máxima em 30 gwei. A gorjeta aplicada é min(2, 30 - 18) = 2 gwei, então o preço efetivo é 18 + 2 = 20 gwei.
A taxa de gas real é 24.000 × 20 = 480.000 gwei. Como 1 ETH equivale a 1.000.000.000 gwei, isso corresponde a 0,00048 ETH. A parte da base fee é 24.000 × 18 = 432.000 gwei, ou 0,000432 ETH. A gorjeta é 24.000 × 2 = 48.000 gwei, ou 0,000048 ETH. Somadas, as duas partes correspondem à taxa real de 0,00048 ETH.
Multiplicar o limite total de gas pelo limite de preço resulta em 30.000 × 30 = 900.000 gwei, ou 0,0009 ETH. Esse é o limite máximo do custo de gas com essas configurações, caso o limite e o preço máximo por unidade sejam totalmente usados. Não é a taxa real deste exemplo. O valor de ETH enviado ao destinatário é separado da taxa de gas. Não trate o limite como uma cobrança fixa nem a taxa como uma porcentagem da transferência. Esses valores são ilustrativos, não uma cotação em tempo real.
Uma transação com falha ainda pode consumir gas
Não presuma que a taxa de gas será devolvida só porque a carteira mostra uma mensagem de “falha”. Se uma transação for incluída em um bloco e a execução da EVM for revertida depois, as mudanças de estado são revertidas, mas o gas usado na computação ainda gera uma taxa. Se a própria transação ficar sem gas durante a execução, todo o limite de gas será consumido. A computação aconteceu mesmo que o resultado pretendido não tenha sido alcançado.
É diferente quando a transação não passa pela validação antes de ser incluída. Por exemplo, uma transferência de ETH enviada com menos gas do que o necessário pode ser rejeitada antes de entrar em um bloco; nesse caso, nenhum gas de execução é consumido. “Rejeitada antes da inclusão” e “incluída e depois revertida durante a execução” são estados diferentes.
Consulte o hash da transação para verificar o status, o gas usado, o preço efetivo do gas e o resultado da execução. A mensagem curta de erro da carteira pode não identificar a causa. A Ethereum.org diferencia a rejeição por validação antes da inclusão de uma transação que fica sem gas durante a execução.
Leia o limite, o preço e o valor enviado separadamente
Antes de assinar, confirme qual rede está usando e se a transação é uma transferência simples ou uma chamada de contrato. A carteira pode mostrar uma taxa estimada, o limite de gas, uma estimativa da base fee, o limite da priority fee, o limite da taxa máxima e o valor de ETH ou tokens que será enviado. Esses valores respondem a perguntas diferentes. Se a tela mostrar apenas o custo máximo de gas, abra os detalhes para saber a que limite ele se refere em vez de tratá-lo como um débito certo.
As carteiras podem preencher estimativas de taxas, então muitas vezes não é necessário ajustar todos os campos manualmente. Essas estimativas se baseiam nas condições da rede naquele momento e não garantem quando a transação será incluída nem quanto ela custará no final. Um limite de preço baixo pode deixar a transação aguardando. Aumentar o limite ou a gorjeta sem entender a chamada pode elevar o custo possível sem resolver o problema. Confira os valores atuais e assine somente se os detalhes da transação fizerem sentido para você.
Esta explicação aborda o fluxo padrão de transações na rede principal da Ethereum. Uma layer 2 ou outra rede pode mostrar taxas adicionais de dados, usar outro ativo para pagar as taxas ou calculá-las de outra forma. Não aplique a fórmula da Ethereum a outra rede sem consultar a documentação correspondente. Para conferir a rede e o endereço de destino, veja a lista de verificação para transferências de criptomoedas; para entender a permissão separada que um contrato pode ter para usar tokens, consulte o guia de aprovação de tokens.
Perguntas frequentes
Q1Por que uma transação com falha ainda pode descontar ETH?
Se a transação foi incluída e a execução começou, a computação pode consumir gas mesmo que a mudança de estado seja revertida. Consulte o hash da transação para diferenciar uma falha de execução de uma rejeição antes da inclusão.
Q2`maxFeePerGas` é o preço real do gas mostrado pela carteira?
Não. É um limite de preço por unidade. O preço efetivo combina a base fee do bloco que incluiu a transação com a gorjeta que cabe nos limites, então a transação pode pagar menos que o máximo.
Q3Transações na rede principal da Ethereum pagam gas em ETH?
Transações padrão na rede principal da Ethereum pagam gas em ether, o ativo nativo da rede. Se a carteira mostrar outro token ou um patrocinador terceirizado, confira se há um mecanismo separado de pagamento das taxas. Outras redes podem funcionar de forma diferente.
Fontes e leituras adicionais
Relatar um problema
Vamos preparar um e-mail com o link deste artigo. Mark só receberá o relato depois que você enviar
Verificação rápida
Terminou o guia? Confira o que aprendeu com 3 perguntas
Pergunta 01
O que `gasLimit` representa?
Escolha uma resposta para ver a explicação