Torna al blog
Solana

Come revocare le autorizzazioni dei token su Solana

S
Sol Slugs Team
Sol Incinerator

Aggiornamento della rent verificato il 3 settembre 2026: Ogni importo fisso di rent o pagamento per account riportato in questo vecchio articolo è un esempio storico basato sulla precedente impostazione di 6,960 lamport per byte, non un preventivo attuale. Le dimensioni dell’account, la fase di rent attiva, i prelievi precedenti, le commissioni dell’operazione e i costi di rete possono cambiare il risultato. Leggi Riduzione della rent di Solana nel 2026 e usa l’anteprima della transazione in tempo reale per il tuo wallet.

La revoca delle autorizzazioni è una pratica consolidata su Ethereum, dove le approvazioni illimitate di ERC-20 hanno svuotato molti wallet. Solana dispone di un meccanismo equivalente, che funziona in modo diverso, e vale la pena capire cosa può e non può farti.

Come si revocano le autorizzazioni dei token su Solana?

Collegati allo strumento di revoca. Esegue la scansione di ogni account token di tua proprietà, mostra quali indirizzi hai autorizzato a prelevare token da tali account e cancella queste approvazioni in un'unica operazione. Non è prevista nessuna commissione — la revoca non recupera alcun deposito di rent, quindi paghi solo la commissione di rete. Dalla CLI è spl-token revoke <TOKEN_ACCOUNT_ADDRESS>.

Che cos'è realmente un delegato di Solana

Quando approvi qualcosa su Solana, imposti un delegato su uno specifico account token. L'istruzione Approve registra due informazioni su quell'account: l'indirizzo del delegato e l'importo delegato.

Il delegato può quindi trasferire o bruciare fino a quell'importo da quell'unico account, senza chiederti nuovamente il permesso. Non può intervenire sugli altri account token, superare l'importo delegato né trasferire i tuoi SOL.

Si tratta di un'autorità reale da prendere sul serio: un delegato con un limite autorizzato sul tuo account token può spostare quei token. Tuttavia, il potenziale impatto è significativamente inferiore rispetto all'equivalente su Ethereum, per tre motivi strutturali.

Perché le approvazioni di Solana sono più limitate di quelle di Ethereum

Approvazione EthereumDelegato Solana
AmbitoOgni token di quel contratto che possiediUn account token
ImportoSpesso illimitatoUn limite fisso impostato da te
Più di uno contemporaneamenteSì, si accumulano per ogni soggetto autorizzatoNo: un delegato per account
Rimosso tramiteUna transazione di revoca esplicitaUna revoca, o chiudendo l'account

La terza riga è quella importante. Su Ethereum, le approvazioni si accumulano: puoi concedere limiti a una dozzina di contratti sullo stesso token e ciascuno persiste silenziosamente finché non viene revocato. Anni di utilizzo della DeFi lasciano una lunga scia di approvazioni illimitate dimenticate, ed è proprio per questo che gli strumenti di revoca sono diventati essenziali su Ethereum.

Su Solana, ogni account token può avere al massimo un delegato. Impostarne uno nuovo sovrascrive quello precedente. Non esiste un elenco cumulativo: un account token può avere un solo delegato in un dato momento, oppure non averne nessuno.

Ecco perché su Solana non si è mai sviluppata la stessa cultura degli strumenti di revoca presente su Ethereum. L'esposizione è reale ma limitata e si elimina da sola durante il normale utilizzo del wallet.

Da dove provengono i delegati

La maggior parte dei delegati sui tuoi account non è sospetta: è il meccanismo con cui funzionano le normali funzionalità di Solana:

  • Inserzioni di NFT sui marketplace. Mettere in vendita un NFT in genere lo delega al programma del marketplace, in modo che la vendita possa essere eseguita quando si presenta un acquirente. Per questo motivo un NFT in vendita non può essere bruciato finché non lo rimuovi dal marketplace: il tuo wallet non ne detiene più l'autorità esclusiva.
  • Programmi di staking e vault. Il deposito in un protocollo spesso utilizza un delegato anziché trasferire la custodia.
  • NFT programmabili. I pNFT vengono mantenuti congelati con un'autorità delegata per far rispettare le royalties.
  • Approvazioni dannose. Il caso di cui preoccuparsi davvero: un sito di phishing presenta una transazione che sembra una richiesta di riscossione, ma ciò che firmi è un'istruzione Approve che conferisce a un delegato l'autorità sui tuoi token.

L'unica cosa che una revoca non può rimuovere

Tutto quanto descritto sopra riguarda il delegato a livello di account: un campo del tuo account token, di cui sei proprietario e che puoi quindi cancellare.

Token-2022 ha introdotto un'autorità separata e più potente: un delegato permanente, impostato sul mint anziché sul tuo account. Un mint che ne possiede uno conferisce a quell'indirizzo l'autorità di trasferire e bruciare ogni account che detiene quel token, senza alcun limite, e il titolare non può fare nulla al riguardo. È una proprietà del token stesso, non un'autorizzazione che hai concesso, quindi Revoke non lo modifica, né può farlo alcuno strumento.

Alcuni token legittimi lo utilizzano intenzionalmente, per esempio le stablecoin regolamentate che richiedono un meccanismo di recupero. Ciò significa però che l'ambito effettivo di qualsiasi strumento di revoca di Solana, incluso il nostro, è costituito dalle approvazioni che hai concesso sui tuoi account.

Se il mint di un token ha un delegato permanente, l'unico modo per eliminare tale esposizione è smettere di detenere il token. Controlla il mint su un explorer prima di presumere che una revoca riuscita significhi che nessuno possa spostare un determinato saldo.

Come verificare quali account hanno un delegato

I wallet non mostrano questa informazione. Phantom e Solflare mostrano i saldi, non il campo del delegato presente su ogni account token, quindi un'approvazione concessa due anni fa resta invisibile nell'interfaccia che utilizzi ogni giorno.

Tre modi per verificarlo:

  • Lo strumento di revoca. Collega il wallet: verrà eseguita la scansione di ogni account token nei programmi SPL Token e Token-2022, mostrando ciascun delegato, il mint a cui si applica e l'entità del limite autorizzato. La scansione è di sola lettura: non serve alcuna firma né approvazione per la semplice consultazione.
  • Un block explorer. Cerca l'indirizzo del tuo wallet, apri i singoli account token e controlla il campo del delegato. Quando è impostato, viene visualizzato. È pratico per un account, ma noioso per cento.
  • La CLI spl-token. spl-token account-info <TOKEN_ACCOUNT_ADDRESS> riporta il delegato e l'importo delegato.

Se il delegato è un marketplace che riconosci e il NFT è attualmente in vendita, è normale: rimuovilo dalla vendita e il delegato verrà cancellato.

Controlla la colonna del limite autorizzato. Spesso le approvazioni lo impostano sul valore massimo possibile anziché sull'importo effettivamente necessario, che lo strumento visualizza come Illimitato. Un'inserzione legittima in genere delega esattamente un NFT; un limite illimitato su un token che possiedi in grande quantità merita un controllo più attento.

Come revocare

Dallo strumento, collegati su sol-incinerator.com/revoke, esamina l'elenco e firma. Tutti gli elementi selezionati vengono raggruppati nel minor numero possibile di transazioni, quindi un wallet con trenta delegati obsoleti non richiede trenta firme.

Non è prevista nessuna commissione. La revoca non libera alcun deposito di rent, quindi non c'è nulla da cui detrarre una commissione: paghi solo la commissione di transazione della rete.

Dalla CLI, su uno specifico account token:

spl-token revoke <TOKEN_ACCOUNT_ADDRESS>

Questa operazione richiama l'istruzione Revoke del programma SPL Token, che richiede solo l'account token e la tua firma in qualità di proprietario. Cancella completamente il campo del delegato. Non può riuscire solo in parte e non influisce sul saldo.

Dalla UI di un wallet, il percorso abituale è indiretto: annulla o rimuovi la voce che ha creato inizialmente il delegato. Rimuovendo un NFT dal marketplace su cui lo avevi messo in vendita, il delegato del marketplace viene eliminato nell'ambito dell'istruzione di annullamento.

Revocare il delegato di un marketplace su un NFT in vendita equivale di fatto a rimuoverlo dalla vendita: il marketplace non potrà più completare la transazione. È il comportamento corretto, ma se intendi mantenere l'asset in vendita, non modificare il delegato.

Perché non posso revocare un account congelato?

Perché Solana non lo consente. Il programma SPL Token rifiuta categoricamente la revoca su un account token congelato, restituendo AccountFrozen — il congelamento di un account blocca le modifiche alle autorità, non solo i trasferimenti.

È più importante di quanto sembri, perché congelamento e delega tendono a presentarsi insieme. Gli NFT programmabili e gli asset in staking sono comunemente congelati. Di conseguenza, i delegati che è più probabile trovare sono spesso esattamente quelli che non possono essere rimossi direttamente.

Lo strumento esclude questi account dall'elenco perché, in pratica, un account congelato con un delegato di solito funziona come previsto: può trattarsi di un pNFT che applica le royalty o di un asset che hai messo deliberatamente in staking, non di qualcosa su cui devi intervenire.

Se vuoi rimuoverne uno, l'account deve prima essere scongelato. Annulla lo staking, rimuovi l'asset dalla vendita o completa l'azione che lo ha congelato; una volta scongelato, il delegato viene revocato normalmente.

Bruciare non è una soluzione alternativa. Un account congelato rifiuta i burn per lo stesso motivo per cui rifiuta le revoche: il congelamento blocca l'operazione, non solo i trasferimenti. Non puoi quindi eliminare un delegato congelato bruciando l'asset mentre è ancora nell'account. Solo l'autorità di congelamento può scongelarlo.

C'è un motivo pratico per cui lo strumento non prova comunque: le revoche vengono raggruppate nel minor numero possibile di transazioni, quindi un account congelato farebbe fallire tutti gli altri delegati inclusi nella stessa transazione. Escluderlo consente agli altri di riuscire.

La versione completa: chiudere l'account

Ecco l'aspetto che spesso viene trascurato. Il delegato è un campo memorizzato nell'account token. Nessun account, nessun delegato.

Quindi, se il token in questione è qualcosa che comunque non vuoi — un token spam, una memecoin abbandonata, un airdrop truffaldino che ti ha indotto a firmare qualcosa — bruciarlo e chiuderne l'account elimina definitivamente il delegato come effetto collaterale. Più che revocare l'autorizzazione, elimini ciò a cui si applicava. Inoltre, a differenza di una semplice revoca, la chiusura dell'account restituisce il deposito di rent di ~0.00204 SOL che conteneva.

Per qualsiasi token che non intendi conservare, la pulizia è quindi la soluzione più completa:

AzioneDelegato rimossoToken conservatiSOL restituiti
RevocaNo
Brucia + chiudi accountNo0.002 SOL

Revoca se vuoi conservare il token. Brucia e chiudi se non vuoi conservarlo.

Se ritieni di aver firmato una transazione dannosa, la sola revoca non è sufficiente. Un delegato è solo uno dei diversi elementi che un aggressore potrebbe aver ottenuto e, se la tua frase seed è stata esposta, nessuna azione on-chain sarà d'aiuto. Trasferisci prima gli asset di valore in un nuovo wallet, poi occupati di quello compromesso.

Il modello di minaccia realistico

Per la maggior parte delle persone, il riepilogo più realistico è questo: controlla i delegati se hai firmato qualcosa di cui ti penti, rimuovi dalla vendita ciò che non vuoi più vendere ed elimina i token spazzatura a cui tendono ad associarsi le approvazioni dannose.

La struttura di Solana evita che tu ti porti dietro anni di approvazioni illimitate accumulate, come accade con un wallet Ethereum. Quello che probabilmente ti porti dietro sono alcune centinaia di account token abbandonati, ciascuno contenente un deposito rimborsabile che ha un valore reale e richiede circa un minuto per essere recuperato.

Revoca delegati

Revoca delegati

Scansiona il wallet per trovare e rimuovere i delegati a livello di account che hai approvato. Nessuna commissione: paghi solo la commissione di rete.

Provalo ora

Letture correlate

Domande frequenti

Come si revocano le autorizzazioni dei token su Solana?

Usa l'istruzione Revoke del programma SPL Token sull'account token per cui è impostato un delegato. Richiede solo l'account token e la tua firma in qualità di proprietario. Dalla riga di comando, usa spl-token revoke seguito dall'indirizzo dell'account token.

Che cos'è un delegato su un account token di Solana?

Un delegato è un indirizzo che hai autorizzato a trasferire o bruciare fino a un importo prestabilito da uno specifico account token. I marketplace utilizzano i delegati per le inserzioni di NFT, mentre i programmi di staking li usano per i depositi. Ogni account token può avere un solo delegato alla volta.

Le approvazioni di Solana sono rischiose quanto quelle di Ethereum?

Sono più limitate. Un delegato di Solana è circoscritto a un singolo account token con un limite di importo fisso; inoltre, l'approvazione di un nuovo delegato sostituisce quello precedente anziché aggiungersi. Le approvazioni Ethereum si applicano per contratto token, sono spesso illimitate e si accumulano indefinitamente.

La chiusura di un account token ne rimuove il delegato?

Sì, completamente. Il delegato è un campo memorizzato nell'account token stesso, quindi quando l'account viene chiuso anche il delegato cessa di esistere. Bruciare un token indesiderato e chiuderne l'account rimuove come effetto collaterale qualsiasi delegato.

Come faccio a sapere se per un account token è impostato un delegato?

Cerca il tuo indirizzo su un block explorer ed esamina i singoli account token, dove viene mostrato il campo del delegato, se impostato. Anche la CLI spl-token lo riporta e qualsiasi wallet che visualizza i dati grezzi dell'account mostrerà lo stesso campo.

Perché non posso revocare un account token congelato?

Il programma SPL Token rifiuta la revoca su un account congelato e restituisce un errore AccountFrozen, perché il congelamento blocca le modifiche alle autorità, non solo i trasferimenti. Gli NFT programmabili e gli asset in staking sono comunemente congelati. L'account deve essere scongelato prima di poterne rimuovere il delegato; bruciare non è una soluzione alternativa, perché un account congelato rifiuta anche i burn.

Una revoca può rimuovere un delegato permanente di Token-2022?

No. Un delegato permanente è impostato sul mint anziché sul tuo account token e conferisce l'autorità di trasferire e bruciare su ogni account che detiene quel token. È una proprietà del token stesso, quindi nessuna istruzione di revoca può rimuoverlo. L'unico modo per eliminare tale esposizione è smettere di detenere il token.

Come revocare le autorizzazioni dei token su Solana | Sol Incinerator