Errore insufficient funds for rent su Solana
Su Solana il rent non è un affitto ma un deposito. Perché compare l'errore insufficient funds for rent e come lo risolvi in pratica.

Cosa significa davvero quell'errore
La transazione fallisce e il messaggio dice che i fondi non bastano per il rent. Guardi il wallet, hai SOL a sufficienza, e la commissione di rete su Solana costa frazioni di centesimo. Sembra un controsenso.
Non lo è, ed è colpa della traduzione della parola. Rent significa affitto in inglese, ma su Solana non paghi nessun canone. Il rent è un deposito: una somma bloccata finché un account esiste, e restituita per intero quando quell'account viene chiuso.
Perché Solana chiede un deposito
Su Solana tutto è un account: il tuo wallet, ogni token che possiedi, ogni programma, ogni configurazione. Ogni account occupa spazio nella memoria dei validatori, e quella memoria costa a chi manda avanti la rete.
Per evitare che chiunque riempia la rete di account inutili a costo zero, Solana chiede di depositare abbastanza SOL da coprire due anni di quello spazio. Un account che ha quel deposito si dice esente da rent e resta lì per sempre. Chiudendolo, il deposito torna indietro tutto.
Quindi non è una spesa, è capitale immobilizzato. La differenza conta quando ne hai duecento.
Quanto costa, in numeri
Il deposito dipende dallo spazio che l'account occupa.
Un account token, cioè quello che si apre per ogni token diverso che ricevi, costa circa 0,00204 SOL.
Un account wallet vuoto ne richiede circa 0,00089.
Un mint, cioè l'account che definisce un token, costa circa 0,0015, e i metadati che gli stanno accanto qualcosa in più.
Prese una alla volta sono cifre trascurabili. Il conto cambia sulle operazioni in blocco: distribuire un token a mille indirizzi che non lo hanno mai posseduto significa aprire mille account token, quindi bloccare circa due SOL di soli depositi, prima di qualsiasi commissione.

Le tre situazioni in cui compare l'errore
Stai ricevendo un token per la prima volta. La transazione deve creare il tuo account per quel token, e chi la firma paga il deposito. Se sei tu a firmare e hai il saldo esatto, non basta.
Stai svuotando il wallet. Provi a mandare tutti i SOL che hai e la rete rifiuta, perché lascerebbe il tuo account sotto la soglia di esenzione. Un account che scende sotto quella soglia viene chiuso dalla rete e il residuo va perso, quindi Solana preferisce bloccare l'operazione.
Stai facendo una distribuzione in blocco. È il caso più costoso e il più frequente tra chi lancia un progetto. Se stai preparando un invio a molti indirizzi, lo strumento di invio multiplo per token SPL conta quanti destinatari hanno bisogno di un account nuovo e mostra il totale del rent prima della firma, invece di farti scoprire il conto a metà esecuzione.
Come si risolve
Tieni un margine. La regola pratica è non scendere mai sotto 0,05 SOL nel wallet operativo. Copre commissioni, creazione di account e i tentativi falliti.
Non svuotare mai fino all'ultimo lamport. Se devi liberare un wallet, lascia il deposito di esenzione dentro oppure chiudilo in modo esplicito.
Recupera i depositi che non ti servono più. Ogni token spazzatura che hai ricevuto e poi svuotato ha lasciato un account aperto con dentro il suo deposito. Chiudere gli account token vuoti restituisce quei SOL al tuo indirizzo, e su un wallet con qualche anno di attività la somma è concreta.
Calcola prima, se stai lanciando. Chi crea un token dovrebbe sommare mint, metadati e account token dei primi destinatari. Il creatore di token Solana mostra il costo completo prima della firma, rent compreso, così il numero non arriva a sorpresa.

Una cosa che quasi nessuno sa
Il rent è recuperabile solo da chi controlla l'account. Se hai mandato token a un indirizzo sbagliato e quell'account è stato creato dalla tua transazione, il deposito appartiene comunque al proprietario di quell'indirizzo, non a te.
Nella pratica questo significa che un airdrop a mille indirizzi lascia dietro di sé circa due SOL distribuiti su mille depositi, e chi li recupera è ciascun destinatario, uno per uno, quando decide di chiudere l'account. Non è un costo perso per la rete, è capitale disperso.
Se l'errore compare comunque
Controlla in ordine. Il saldo in SOL, non il valore in euro. Se la transazione crea account nuovi, per esempio un primo trasferimento di un token verso indirizzi vergini. Se stai mandando l'intero saldo invece di lasciare il margine. E se stai usando un wallet appena creato che non ha mai ricevuto SOL, perché anche il tuo account principale ha bisogno del suo deposito.
Nella stragrande maggioranza dei casi, aggiungere 0,05 SOL risolve. Trovi altre guide pratiche su Solana e l'archivio completo sotto gli articoli marcati Solana.
Domande frequenti
Il rent si paga ogni mese?
No. È un deposito una tantum che copre due anni di spazio e rende l'account esente. Finché resta lì, non viene prelevato nulla. Il vecchio meccanismo che scalava il rent nel tempo non è più in uso per gli account esenti.
Posso riavere i SOL bloccati?
Sì, chiudendo l'account. Un account token va svuotato prima, poi la chiusura restituisce l'intero deposito all'indirizzo che lo controlla.
Perché ricevere un token mi costa SOL?
Perché ogni token vive in un account dedicato, uno per ogni coppia di wallet e mint, e crearlo richiede il deposito. Chi paga dipende da chi firma la transazione: in un airdrop di solito è chi distribuisce.
Quanto tengo da parte per non incontrare l'errore?
Sul wallet che usi ogni giorno, 0,05 SOL sono un margine comodo. Se distribuisci token a molti indirizzi, calcola circa 0,002 SOL per ogni destinatario che non possiede ancora quel token.
Un articolo del team di J Tools.
Vedi tutti gli articoli di J Tools Editorial →

