Un’approvazione WETH è una chiamata ad approve() sul contratto WETH9 che permette a un altro indirizzo - un router DEX, un pool di prestito, un marketplace NFT - di muovere fino a una quantità stabilita del Vostro WETH con transferFrom(). Wrapping e unwrapping non richiedono approvazione; qualsiasi cosa un contratto terzo faccia con il Vostro WETH la richiede. Delle ultime 100 transazioni inviate a WETH9 su Ethereum il 2 ottobre 2026, 24 erano approvazioni, e 20 di queste hanno usato circa 46.000 gas perché creavano un allowance da zero (Etherscan). La regola: approvate il contratto che state per usare, per ciò che state per usare, e revocate ciò che non usate più.

Punti chiave
  • L'approvazione è per terze parti: deposit(), withdraw() e transfer() agiscono sul Vostro bilancio e non richiedono approvazione; transferFrom() da parte di un router, pool o marketplace la richiede.
  • Quota di traffico: le approvazioni erano 24 su 100 transazioni inviate a WETH9 nei blocchi 26.105.189-26.105.250 del 2 ottobre 2026, accanto a 46 depositi e 26 prelievi (Etherscan).
  • La prima approvazione costa il doppio: 20 di quelle 24 hanno usato 46.000-46.400 gas per creare un nuovo allowance, contro 24.000-29.000 gas per modificarne uno esistente - 46.000 / 24.000 = 1,9 volte tanto.
  • Illimitato significa illimitato: WETH9 tratta un allowance di 2^256-1 come infinito e non lo riduce mai - circa 1,16 x 10^59 WETH, contro 2.031.131 WETH esistenti al blocco 26.105.247 (Ethereum RPC).

Cos’è un’approvazione WETH

Un’approvazione WETH è una voce nella tabella allowance del contratto WETH9: proprietario, spender, importo. approve(spender, amount) la scrive ed emette un evento Approval; transferFrom(owner, recipient, amount), chiamato dallo spender, controlla la voce, muove il WETH e riduce l’allowance dell’importo spostato. L’approvazione non muove alcun WETH da sola e non lo blocca; il WETH rimane sul Vostro indirizzo finché lo spender non usa il suo allowance.

I token ERC-20 funzionano così perché un contratto non può prelevare token per i quali non è mai stato autorizzato, e WETH esiste proprio affinché ETH possa prendere parte a quel flusso (cos’è WETH). ETH nativo non ha una tabella allowance: viene inviato, mai prelevato, ed è per questo che i contratti DeFi chiedono WETH invece (perché WETH esiste).

Quando serve approvare WETH e quando no

La domanda è sempre chi muove il WETH: voi, o un contratto per vostro conto.

Azione Approvazione necessaria Perché
Wrappare ETH in WETH (deposit) No il contratto WETH9 minta al chiamante
Unwrappare WETH in ETH (withdraw) No il chiamante brucia il proprio bilancio
Inviare WETH a un indirizzo (transfer) No il proprietario muove il proprio bilancio
Swappare WETH su un DEX Sì, al router il router preleva WETH con transferFrom()
Fornire WETH a un mercato di prestito Sì, al pool il pool preleva il deposito
Fare un’offerta con WETH su un marketplace NFT Sì, al contratto marketplace la vendita si conclude prelevando WETH dall’offerente
Fare bridge di WETH attraverso un contratto bridge Sì, al bridge o gateway il bridge preleva WETH prima di inviarlo

Le prime tre righe sono quelle descritte da Come unwrappare WETH e Da ETH a WETH: in esse non compare alcun passaggio di approvazione perché non esiste. Un’interfaccia che chiede un’approvazione prima di un wrap o unwrap sta instradando attraverso un altro contratto, non sta chiamando WETH9 direttamente.

Allowance limitati o illimitati

Un allowance può essere l’importo esatto dell’azione successiva o il valore massimo che il contratto accetta. In WETH9 il massimo, 2^256-1, è speciale: transferFrom() salta la detrazione quando l’allowance lo eguaglia, quindi un’approvazione copre ogni futuro trasferimento da parte di quello spender (sorgente verificata WETH9, Etherscan).

  • Importo esatto: ogni swap o deposito richiede il proprio approve() prima; lo spender non può mai prendere più dell’importo approvato.
  • Illimitato: un approve() per tutti gli usi futuri; lo spender può muovere qualsiasi WETH che l’indirizzo detiene finché l’approvazione non viene revocata.

Il compromesso è gas contro esposizione. Un’approvazione illimitata risparmia un’approvazione per uso, circa 24.000-46.000 gas ogni volta; lascia anche un permesso permanente con un contratto che potrebbe in seguito essere aggiornato, sfruttato o abbandonato.

Quanto costa un’approvazione WETH

Un’approvazione costa una commissione di rete in ETH e nient’altro. Il gas dipende dal fatto che esista già un allowance:

Tipo di approvazione Gas usato (Etherscan, 2 ottobre 2026) Commissione mainnet a 5,6 gwei, ETH $2.690,75
Nuovo allowance da zero 46.000-46.400 circa $0,70
Modifica di un allowance esistente 24.000-29.000 circa $0,36-$0,44

Le unità di gas sono derivate dalla commissione e dal prezzo del gas delle singole approvazioni; la colonna USD usa il prezzo del gas medio di Etherscan del 28 settembre 2026 e il prezzo ETH. Sui layer 2 le unità di gas sono simili e il prezzo del gas è centinaia di volte inferiore, allo stesso modo in cui lo è per wrap e unwrap (costi gas WETH). In ogni caso la commissione è pagata in ETH, quindi un indirizzo che detiene solo WETH non può approvare nulla.

Perché WETH non ha una funzione permit

WETH9 è stato distribuito a dicembre 2017, prima che EIP-2612 definisse permit(), la funzione che permette a un detentore di token di concedere un allowance con una firma off-chain invece di una transazione. WETH9 ha solo deposit, withdraw, totalSupply, approve, transfer e transferFrom, e il suo codice non può essere modificato, quindi ogni approvazione WETH su Ethereum è una transazione on-chain pagata in ETH.

Esistono due soluzioni alternative. Il contratto Permit2 di Uniswap accetta un’approvazione ordinaria di WETH e poi permette che gli utilizzi successivi siano autorizzati tramite firma. I token wrapped più recenti integrano permit: wstETH di Lido implementa EIP-2612 (wstETH vs WETH). Per WETH9 stesso la prima approvazione è sempre una transazione.

Come controllare e revocare le approvazioni WETH

  1. Elencate gli allowance: aprite il controllore di approvazioni token dell’explorer della rete (Etherscan, Basescan, Arbiscan) o uno strumento dedicato come revoke.cash, e inserite il Vostro indirizzo.
  2. Trovate le voci WETH: ogni riga mostra il contratto spender, l’allowance (esatto o illimitato) e quando è stato impostato.
  3. Revocate ciò che non usate più: revocare invia approve(spender, 0) dal Vostro indirizzo; confermatelo nel portafoglio e pagate la commissione in ETH.
  4. Ripetete su ogni rete: un’approvazione su Base WETH è separata da una su Ethereum WETH, perché ogni rete ha il proprio contratto WETH (WETH su Base).

Cosa un’approvazione non può fare

  • Non può muovere ETH: l’allowance copre solo il bilancio WETH in quel contratto, mai ETH nativo sullo stesso indirizzo.
  • Non può eccedere il Vostro bilancio: transferFrom() fallisce se il proprietario detiene meno WETH di quanto richiesto, qualunque sia l’allowance.
  • Non può attraversare reti: le approvazioni vivono separatamente nel contratto WETH di ciascuna rete.
  • Non può essere annullata a ritroso: revocare ferma i prelievi futuri; WETH già mosso dallo spender rimane mosso.

FAQ sulle approvazioni WETH

No. Un allowance in WETH9 rimane finché non viene esaurito da transferFrom() o sostituito da una nuova chiamata approve(); non c'è alcun limite di tempo nel contratto.