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ù.
- 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
- 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.
- Trovate le voci WETH: ogni riga mostra il contratto spender, l’allowance (esatto o illimitato) e quando è stato impostato.
- Revocate ciò che non usate più: revocare invia approve(spender, 0) dal Vostro indirizzo; confermatelo nel portafoglio e pagate la commissione in ETH.
- 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.