Uma aprovação de WETH é uma chamada a approve() no contrato WETH9 que permite que outro endereço - um roteador de DEX, um pool de empréstimo, um marketplace de NFT - mova até uma quantia definida de seu WETH com transferFrom(). Empacotar e desempacotar não precisam de aprovação; qualquer coisa que um contrato de terceiros faça com seu WETH precisa. Das últimas 100 transações enviadas a WETH9 no Ethereum em 2 de outubro de 2026, 24 eram aprovações, e 20 delas usaram aproximadamente 46.000 gas porque criaram um limite a partir do zero (Etherscan). A regra: aprove o contrato que você está prestes a usar, pela quantia que você está prestes a usar, e revogue o que você não usa mais.

Pontos-chave
  • Aprovação é para terceiros: deposit(), withdraw() e transfer() atuam no seu próprio saldo e não precisam de aprovação; transferFrom() por um roteador, pool ou marketplace precisa.
  • Participação de tráfego: aprovações foram 24 de 100 transações enviadas a WETH9 nos blocos 26.105.189-26.105.250 em 2 de outubro de 2026, ao lado de 46 depósitos e 26 retiradas (Etherscan).
  • A primeira aprovação custa o dobro: 20 daquelas 24 usaram 46.000-46.400 gas para criar um novo limite, contra 24.000-29.000 gas para alterar um existente - 46.000 / 24.000 = 1,9 vezes mais.
  • Ilimitado significa ilimitado: WETH9 trata um limite de 2^256-1 como infinito e nunca o reduz - aproximadamente 1,16 x 10^59 WETH, contra 2.031.131 WETH em existência no bloco 26.105.247 (Ethereum RPC).

O que é uma aprovação de WETH

Uma aprovação de WETH é uma entrada na tabela de limite do contrato WETH9: proprietário, gastador, quantia. approve(spender, amount) a escreve e emite um evento Approval; transferFrom(owner, recipient, amount), chamado pelo gastador, verifica a entrada, move o WETH e reduz o limite pela quantia movida. A aprovação não move nenhum WETH por si só e não o bloqueia; o WETH permanece no seu endereço até o gastador usar seu limite.

Tokens ERC-20 funcionam dessa forma porque um contrato não pode puxar tokens que nunca foi autorizado a puxar, e WETH existe precisamente para que ETH possa participar desse fluxo (o que é WETH). ETH nativo não tem tabela de limite: é enviado, nunca puxado, razão pela qual contratos de DeFi pedem WETH em vez disso (por que WETH existe).

Quando você precisa aprovar WETH e quando não precisa

A pergunta é sempre quem move o WETH: você, ou um contrato em seu nome.

Ação Aprovação necessária Por que
Empacotar ETH em WETH (deposit) Não o contrato WETH9 emite para o chamador
Desempacotar WETH em ETH (withdraw) Não o chamador queima seu próprio saldo
Enviar WETH para um endereço (transfer) Não o proprietário move seu próprio saldo
Fazer swap de WETH em uma DEX Sim, para o roteador o roteador puxa WETH com transferFrom()
Fornecer WETH a um mercado de empréstimo Sim, para o pool o pool puxa o depósito
Fazer lance com WETH em um marketplace de NFT Sim, para o contrato do marketplace a venda se liquida ao puxar WETH do licitante
Fazer bridge de WETH através de um contrato bridge Sim, para o bridge ou gateway o bridge puxa WETH antes de enviá-lo

As primeiras três linhas são as que Como desempacotar WETH e ETH para WETH descrevem: nenhuma etapa de aprovação aparece nelas porque nenhuma existe. Uma interface que pede uma aprovação antes de um empacotamento ou desempacotamento está roteando através de outro contrato, não chamando WETH9 diretamente.

Limites exatos vs ilimitados

Um limite pode ser a quantia exata da próxima ação ou o valor máximo que o contrato aceita. Em WETH9 o máximo, 2^256-1, é especial: transferFrom() pula a dedução quando o limite a iguala, então uma aprovação cobre cada transferência futura desse gastador (fonte verificada WETH9, Etherscan).

  • Quantia exata: cada swap ou depósito precisa de seu próprio approve() primeiro; o gastador nunca pode pegar mais do que a quantia aprovada.
  • Ilimitado: um approve() para todo uso futuro; o gastador pode mover qualquer WETH que o endereço mantenha até a aprovação ser revogada.

A troca é gas contra exposição. Uma aprovação ilimitada economiza uma aprovação por uso, aproximadamente 24.000-46.000 gas cada vez; também deixa permissão permanente com um contrato que pode depois ser atualizado, explorado ou abandonado.

Quanto custa uma aprovação de WETH

Uma aprovação custa uma taxa de rede em ETH e nada mais. O gas depende de se um limite já existe:

Tipo de aprovação Gas usado (Etherscan, 2 de outubro de 2026) Taxa na mainnet a 5,6 gwei, ETH US$ 2.690,75
Novo limite a partir do zero 46.000-46.400 aproximadamente US$ 0,70
Alteração de um limite existente 24.000-29.000 aproximadamente US$ 0,36-US$ 0,44

Unidades de gas derivam da taxa e preço de gas de aprovações individuais; a coluna USD usa a média de preço de gas do Etherscan de 28 de setembro de 2026 e preço de ETH. Em layer 2s as unidades de gas são similares e o preço de gas é centenas de vezes menor, da mesma forma que é para empacotamentos e desempacotamentos (custos de gas de WETH). De qualquer forma a taxa é paga em ETH, portanto um endereço que mantenha apenas WETH não pode aprovar nada.

Por que WETH não tem função permit

WETH9 foi implantado em dezembro de 2017, antes de EIP-2612 definir permit(), a função que deixa um detentor de token conceder um limite com uma assinatura off-chain em vez de uma transação. WETH9 tem apenas deposit, withdraw, totalSupply, approve, transfer e transferFrom, e seu código não pode ser alterado, portanto cada aprovação de WETH no Ethereum é uma transação on-chain paga em ETH.

Duas soluções existem. O contrato Permit2 da Uniswap aceita uma aprovação ordinária de WETH e depois permite que despesas posteriores sejam autorizadas por assinatura. Tokens empacotados mais novos constroem permit: wstETH de Lido implementa EIP-2612 (wstETH vs WETH). Para WETH9 em si a primeira aprovação é sempre uma transação.

Como verificar e revogar aprovações de WETH

  1. Liste os limites: abra o verificador de aprovação de token do explorador da rede (Etherscan, Basescan, Arbiscan) ou uma ferramenta dedicada como revoke.cash, e insira seu endereço.
  2. Encontre entradas de WETH: cada linha mostra o contrato gastador, o limite (exato ou ilimitado) e quando foi definido.
  3. Revogue o que você não usa mais: revogar envia approve(spender, 0) do seu endereço; confirme na carteira e pague a taxa em ETH.
  4. Repita em cada rede: uma aprovação em WETH Base é separada de uma em WETH Ethereum, porque cada rede tem seu próprio contrato WETH (WETH no Base).

O que uma aprovação não pode fazer

  • Não pode mover ETH: o limite cobre apenas o saldo de WETH naquele contrato, nunca ETH nativo no mesmo endereço.
  • Não pode exceder seu saldo: transferFrom() falha se o proprietário mantenha menos WETH do que solicitado, seja qual for o limite.
  • Não pode cruzar redes: aprovações vivem em cada contrato WETH de rede separadamente.
  • Não pode ser desfeita retroativamente: revogar para futuras puxadas; WETH já movido pelo gastador permanece movido.

FAQ sobre aprovações de WETH

Não. Um limite em WETH9 permanece até ser usado por transferFrom() ou substituído por uma nova chamada approve(); não há limite de tempo no contrato.