Blog
Recuperare un wallet.dat di Bitcoin Core: come ripristinare un vecchio wallet
In breve
Per recuperare un wallet.dat di Bitcoin Core, conservi l’originale e identifichi ciò che impedisce l’accesso. Prima dei tentativi crei copie indipendenti. Il nome del file o un saldo visibile non dimostrano che contenga chiavi private utilizzabili.
- Verifichi formato e versione. I wallet descriptor si ripristinano; i legacy Berkeley DB richiedono una migrazione nelle versioni attuali di Bitcoin Core. Non migri con le versioni 30.0 o 30.1.
- La cifratura protegge le chiavi private, non gli indirizzi. Per spendere serve la password; se è dimenticata, occorre una valutazione separata.
- Se manca il saldo, controlli il wallet caricato, la sincronizzazione e i vecchi backup. Una nuova scansione non ricrea chiavi mancanti.
- Se il file è stato eliminato o danneggiato, interrompa le scritture sul disco originale. Valuti il recupero su una copia o immagine del disco: il risultato dipende dai dati rimasti.

Ha trovato un file wallet.dat. Magari era su un vecchio disco rigido, in una cartella di backup dimenticata, su una chiavetta USB con un’etichetta criptica o in un archivio cloud di anni fa. Potrebbe contenere bitcoin, ma non sa come aprirlo, se sia cifrato o quanto contenga. Questa guida La accompagna dal file a un wallet di nuovo utilizzabile: come aprirlo, verificare se contiene fondi, gestire la cifratura e recuperare l’accesso quando il file è stato eliminato o danneggiato, in un ordine che protegge il file a ogni passaggio.
Trovare un wallet.dat è un punto di partenza, non la prova che il file permetta di spendere bitcoin. Un wallet può contenere chiavi private, chiavi cifrate oppure soltanto dati pubblici per monitorare degli indirizzi.
Cos’è davvero un file wallet.dat
Bitcoin Core conserva ogni wallet in un file di database chiamato wallet.dat. Contiene le chiavi private che controllano i Suoi indirizzi, insieme agli indirizzi stessi, alle relative etichette e alla cronologia delle transazioni (documentazione di Bitcoin Core sui file). Il file è il wallet: se contiene le chiavi e Lei riesce a sbloccarlo, controlla le coin che quegli indirizzi detengono ancora.
Esistono due formati, e il nome del file da solo non permette di distinguerli:
- I wallet legacy usano Berkeley DB. Ogni wallet creato prima di Bitcoin Core 0.21 è un wallet legacy, e lo è anche un wallet creato prima della versione 23.0, a meno che non sia stata scelta l’opzione per un wallet descriptor.
- I wallet descriptor usano SQLite. Sono arrivati con Bitcoin Core 0.21 e sono diventati il formato predefinito per i nuovi wallet con la versione 23.0, pubblicata nell’aprile 2022.
Su macOS o Linux, il comando file eseguito su una copia permette di distinguerli: identifica un wallet legacy come file Berkeley DB (Btree) e un wallet descriptor come database SQLite 3.x. Il formato conta perché determina quali versioni di Bitcoin Core possono ancora aprire il file.
Dove Bitcoin Core salva wallet.dat
Cerchi prima nella cartella dei dati predefinita:
- Linux:
~/.bitcoin/ - macOS:
~/Library/Application Support/Bitcoin/ - Windows:
%APPDATA%\Bitcoin\nelle installazioni effettuate prima di Bitcoin Core 28.0, e%LOCALAPPDATA%\Bitcoin\in quelle più recenti. La versione 28.0 ha spostato il percorso predefinito, ma continua a usare la vecchia cartella se esiste.
Le installazioni più recenti conservano i wallet in una cartella wallets all’interno della cartella dei dati: il wallet predefinito come wallets/wallet.dat e ogni wallet con nome nella propria sottocartella. Le installazioni più vecchie conservano wallet.dat direttamente nella cartella dei dati. Una cartella dei dati o dei wallet personalizzata può trovarsi ovunque, quindi cerchi anche in tutto il disco i file chiamati wallet.dat.
Bitcoin Core non genera una frase di recupero. Se ha 12 o 24 parole, appartengono a un altro wallet; la nostra guida Bitcoin Core e le frasi seed spiega perché. Non confonda il recupero del file con le istruzioni per i wallet BIP-39.
Passo 1: fare delle copie prima di ogni altra cosa
Prima di aprire, spostare o testare qualsiasi cosa, faccia almeno due copie del file e le conservi in luoghi diversi. Consideri l’originale come copia di riferimento: non vi esegua strumenti di recupero, non lo apra in un software di wallet e non lo rinomini. Mantenga intatti il file originale e i backup esistenti, d’ora in poi lavori solo su copie e non copi mai il file sopra il wallet.dat di un altro wallet.
Alcune operazioni scrivono nel file che aprono: la migrazione converte un wallet in un nuovo formato e, in rare circostanze, una migrazione non riuscita in Bitcoin Core 30.0 e 30.1 poteva cancellare i file nella cartella dei wallet. Un danno all’unico originale non si può annullare. Chiunque abbia una copia di un wallet.dat non cifrato può spendere ciò che quel file controlla, quindi conservi le copie su supporti offline sotto il Suo controllo, non nelle e-mail né in cartelle cloud condivise.
Se Bitcoin Core apre ancora il wallet, preferisca la sua funzione di backup (File > Backup Portafoglio…) alla copia di un database mentre l’applicazione vi sta scrivendo. Annoti il dispositivo e la versione da cui proviene il file.
Annoti quando è stata creata ogni copia e quando ha usato il wallet per l’ultima volta. Una data del file più recente non dimostra che un backup sia più completo. Conservi le copie precedenti finché non sa quali indirizzi e chiavi contenga ciascuna. Se il file è stato eliminato o il disco si sta guastando, non vi installi software di recupero: nuove scritture possono sovrascrivere dati ancora utili. La nostra guida sulla gestione sicura di vecchi wallet e dischi approfondisce l’hashing e la creazione di immagini del disco.
Passo 2: verificare se il wallet contiene indirizzi con fondi
Prima di dedicare giorni al recupero della password o alla riparazione del file, verifichi se ci sono bitcoin da recuperare. Per farlo non serve la password: Bitcoin Core cifra solo le chiavi private, mentre indirizzi e transazioni restano leggibili. È così da quando la cifratura dei wallet è arrivata con Bitcoin 0.4.0, nel 2011, e l’attuale documentazione sui wallet lo conferma.
- Se il wallet si carica (veda il passo 3), Finestra > Indirizzi di ricezione elenca i suoi indirizzi di ricezione con le relative etichette, e il saldo è corretto una volta che il nodo si è sincronizzato.
- Se non si carica ancora, cerchi su un block explorer come mempool.space un indirizzo che sa di aver usato, ad esempio ricavandolo dai Suoi documenti su un vecchio pagamento. Se non ha alcun indirizzo, gli indirizzi si possono comunque leggere dal file stesso, perché non sono cifrati; è un lavoro tecnico, quindi lo esegua offline e su una copia.
Se gli indirizzi mostrano un saldo, vale la pena lavorare sul file. Se tutti gli indirizzi mostrano zero, o solo vecchie transazioni le cui coin sono state spese in seguito, nessun recupero della password cambierà le cose.
Valgono due avvertenze. Il resto dei pagamenti passati finisce su indirizzi che l’elenco di ricezione non mostra, quindi qualche indirizzo di ricezione vuoto non dimostra che il wallet sia vuoto; il dato affidabile è il saldo dopo una sincronizzazione completa. Inoltre, avere un saldo non significa avere l’accesso. Un wallet watch-only mostra i saldi senza contenere alcuna chiave privata. In quel caso il saldo visualizzato non fornisce le chiavi mancanti: individui il wallet o il backup che le contiene, perché riparare questa copia di dati pubblici non le aggiunge.
Passo 3: caricare il wallet in Bitcoin Core
Le guide meno recenti dicono di mettere wallet.dat nella cartella dei dati e avviare Bitcoin Core. Così si rischia di sovrascrivere un altro wallet, e Bitcoin Core 30.0 ha rimosso il caricamento diretto dei wallet legacy, quindi «installare l’ultima versione e aprirlo» non è una procedura universale. La strada giusta dipende dal formato:
- Wallet descriptor: in una versione attuale, scelga File > Ripristina Portafoglio…, selezioni la Sua copia e dia un nome al wallet. Bitcoin Core copia il file nella propria cartella dei wallet e lo carica.
- Wallet legacy: una versione attuale si rifiuta di caricarlo e Le chiede invece di migrarlo. Dalla versione 31.0, scelga File > Migra Portafoglio > Ripristina e migra il file wallet…, selezioni la Sua copia e dia un nome al wallet. Bitcoin Core copia il file nella propria cartella dei wallet senza modificare l’originale, lo converte in un wallet descriptor e conserva un backup il cui nome termina con
.legacy.bak. Gli script watch-only e gli altri script senza chiavi possono finire in wallet aggiuntivi il cui nome termina con_watchonlyo_solvables. Il comando della console migratewallet esegue solo la migrazione: richiede il nome di un wallet, non un file di backup da ripristinare.
Per la migrazione contano tre punti:
- Usi la versione 30.2 o successiva. Non usi le versioni 30.0 o 30.1 per migrare: Bitcoin Core ha pubblicato un avviso su un errore che poteva cancellare file del wallet, e la versione 30.2 lo ha corretto nel gennaio 2026.
- Un wallet legacy cifrato si migra solo con la sua password, che Bitcoin Core chiede prima della conversione. Senza la password, una versione attuale non può aprire il wallet in alcun modo. Le versioni precedenti alla 30.0 caricano ancora direttamente i wallet legacy; ne usi una solo su una copia, ad esempio per vedere indirizzi e saldo finché la password resta introvabile.
- Dopo la migrazione, faccia un nuovo backup, come consiglia la documentazione di Bitcoin Core. Conservi sempre backup indipendenti prima di migrazioni o riparazioni.
Una volta caricato il wallet, Bitcoin Core esamina la blockchain alla ricerca delle sue transazioni. Un nuovo nodo deve prima scaricare e verificare l’intera catena, che Bitcoin Core stima ormai in oltre 850 GB. Il pruning riduce lo spazio occupato fino a circa 10 GB soltanto, ma un nodo con il pruning attivo non può ripetere la scansione dei blocchi che ha già eliminato, quindi un wallet caricato dopo il pruning può costringere a scaricare di nuovo tutto. Se vuole solo controllare il saldo e spostare le coin, non Le serve un nodo completo; veda più avanti la sezione sull’estrazione delle chiavi private.
Passo 4: gestire la cifratura
Se Bitcoin Core chiede una password quando prova a inviare coin o a esportare chiavi, il wallet è cifrato. Nelle sue finestre di dialogo, Bitcoin Core la chiama passphrase del wallet: protegge il file e non è una passphrase BIP-39. In un vecchio wallet può essere stata impostata anni fa e poi dimenticata.
Una volta caricato il wallet, può comunque vederne indirizzi e saldo senza la password, perché sono cifrate solo le chiavi private. Per spendere fondi o esportare chiavi serve la password, e non esiste alcun reset. Se il wallet si apre ma richiede la password per firmare una transazione, si tratta di una questione di password, non di un segnale che il file sia danneggiato.
Per l’intera procedura, veda la nostra guida al recupero della password di Bitcoin Core. La guida alla password di wallet.dat tratta l’aspetto tecnico di una ricerca a forza bruta: quali informazioni permettono di valutare una ricerca della password e perché va eseguita su una copia. Descriva il problema senza inviare il file o la password tramite il modulo di contatto.
Il file si apre, ma manca il saldo atteso
Verifichi prima il nome del wallet caricato e la cartella da cui è stato caricato. Bitcoin Core può gestire più wallet: aprirne un altro, o uno vuoto appena creato, non ripristina il file che ha trovato.
Prenda un indirizzo di ricezione che sa di aver usato. Lo confronti con il wallet caricato, poi verifichi che Bitcoin Core si sia sincronizzato e abbia esaminato la cronologia delle transazioni pertinente. Una nuova scansione può trovare le transazioni delle chiavi già presenti; non può ricreare chiavi private mancanti.
Il backup di un vecchio wallet non HD può non contenere le chiavi generate dopo la sua realizzazione. È uno dei motivi per confrontare più copie superstiti invece di scartarle appena una si apre.
Recuperare un wallet.dat eliminato
Controlli i backup esistenti e la cartella dei wallet configurata prima di concludere che il file sia stato eliminato. Su Windows, cerchi sia nella vecchia sia nella nuova cartella dei dati indicate sopra.
Se il file è stato davvero eliminato, non tutto è necessariamente perduto. Eliminare un file cancella il riferimento che il file system ne conserva, non i dati stessi. Il contenuto resta sul disco finché lo spazio che occupava non viene riutilizzato per nuovi file.
Su un disco rigido tradizionale (HDD), un wallet.dat eliminato può sopravvivere finché nulla lo sovrascrive, quindi un disco usato pochissimo da allora offre le possibilità migliori. Con le unità a stato solido (SSD) le cose cambiano. Quando si elimina un file, il sistema operativo comunica all’unità quali blocchi sono ora liberi, con un avviso chiamato TRIM, e l’unità può cancellare quei blocchi in background. Windows attiva TRIM per impostazione predefinita sui volumi NTFS (documentazione Microsoft), quindi su un SSD il margine per il recupero è molto più breve.
Se sospetta che un wallet.dat sia stato eliminato:
- Smetta subito di usare il disco. Non vi installi software, non vi salvi file e, possibilmente, non avvii il sistema da quel disco.
- Crei un’immagine del disco prima di ogni altra cosa, così che tutto il lavoro successivo avvenga sull’immagine e sull’originale non venga mai scritto nulla.
- Gli strumenti di file carving cercano poi nell’immagine la struttura di un file del wallet e tentano di ricostruirlo a partire dai frammenti.
- Salvi tutto ciò che viene recuperato su un altro disco.
È un lavoro da specialisti, e le probabilità dipendono molto da quanto è stato usato il disco dopo l’eliminazione. Il nostro caso di studio su un wallet.dat di Bitcoin Core eliminato mostra il procedimento su un disco rimasto in gran parte intatto.
Gestire un wallet.dat corrotto
Un file del wallet può danneggiarsi per un guasto del supporto di archiviazione, come settori danneggiati o una chiavetta USB che non porta a termine le scritture, oppure per una scrittura interrotta. Bitcoin Core allora si rifiuta di caricarlo con l’errore «portafoglio corrotto», oppure lo carica con un avviso che i dati delle transazioni o i metadati degli indirizzi potrebbero essere mancanti o errati.
Prima di considerare il file danneggiato, annoti l’errore esatto e la versione di Bitcoin Core, e controlli innanzitutto la compatibilità. Una versione attuale rifiuta qualsiasi wallet legacy con un errore secondo cui si tratta di un wallet legacy da migrare, e una versione più vecchia può segnalare che il wallet richiede una versione aggiornata di Bitcoin Core. Nessuno dei due messaggi significa che il file sia danneggiato.
Se sospetta ancora una corruzione dei dati, valuti una riparazione su una copia separata. La vecchia opzione di avvio -salvagewallet di Bitcoin Core è stata rimossa nella versione 0.21 e sostituita dal comando salvage dello strumento bitcoin-wallet, che tenta di recuperare le chiavi private da un wallet corrotto ed è contrassegnato come sperimentale. Quel comando è disponibile solo nelle versioni precedenti alla 30.0. Rinomina il file danneggiato in una copia .bak e scrive in un nuovo file del wallet i record di chiavi private che riesce ancora a leggere, quindi lo esegua solo su una copia.
Se il comando salvage non riesce, i record delle chiavi possono essere ancora intatti anche se la struttura del database è danneggiata. Estrarre le chiavi private direttamente dai dati grezzi, aggirando il livello del database, richiede strumenti specializzati ed esperienza con il formato del file. Eviti di cambiare ripetutamente versione o di riparare l’unico originale. La nostra pagina sui file di wallet corrotti spiega come distinguere un file danneggiato da un disco che si sta guastando.
Estrarre le chiavi private senza un nodo completo
Se non vuole scaricare l’intera blockchain, può esportare le chiavi private e spostare le coin con un wallet più leggero, che consulta i saldi tramite i propri server.
- Wallet legacy in una versione precedente alla 30.0: il comando della console
dumpwalletscrive tutte le chiavi del wallet in un file di testo leggibile. Bitcoin Core 30.0 lo ha rimosso, insieme adumpprivkey. - Wallet descriptor o migrato:
listdescriptors truemostra i descriptor privati del wallet invece di un semplice elenco di chiavi, quindi possono usarli solo i software di wallet in grado di importare descriptor.
Electrum può usare le chiavi private esportate in due modi. Può eseguirne lo sweep (Wallet > Private Keys > Sweep nell’interfaccia in inglese), che invia le coin a un indirizzo di un wallet Electrum creato da Lei, oppure importarle in un nuovo wallet senza frase di recupero, di cui deve fare un backup separato perché non può essere ripristinato da una frase di recupero. Eseguire lo sweep verso un nuovo wallet di Sua proprietà è la soluzione più semplice.
Un file di esportazione contiene tutte le chiavi in chiaro, e chiunque lo legga può impossessarsi delle coin. Lo tenga lontano da e-mail e cloud, e lo elimini una volta spostate le coin.
Se il wallet è cifrato, Le serve la password prima di poter esportare qualsiasi cosa. Non esistono scorciatoie: la cifratura riguarda proprio le chiavi private, e nessun comando di esportazione funziona finché non vengono decifrate.
Assistenza per un file wallet.dat che non riesce ad aprire
Se il file è cifrato con una password dimenticata, è stato eliminato, è danneggiato o semplicemente non si apre, Crypto Recovers può valutarlo. Abbiamo portato a termine oltre 200 recuperi dal 2019, la prima valutazione è gratuita e lavoriamo secondo il principio «no cure, no pay». Per saperne di più, veda il nostro servizio di recupero Bitcoin Core.
Se affida a Crypto Recovers la valutazione del file, non prendiamo mai in custodia i Suoi bitcoin e non detraiamo da essi il nostro compenso. Una volta ripristinato l’accesso, è Lei ad aprire il wallet, a trasferire i bitcoin in un nuovo wallet da Lei creato e a pagare separatamente il compenso concordato, secondo il contratto.
Documentazione ufficiale
- Bitcoin Core: gestione dei wallet (backup, ripristino, migrazione)
- Bitcoin Core 30.0: compatibilità dei wallet
- Bitcoin Core: avviso sulla migrazione dei wallet
- Bitcoin Core: backupwallet
- Bitcoin Core: rescanblockchain
- Bitcoin Core: newkeypool
- Bitcoin Core: verificare il wallet caricato con getwalletinfo
- Bitcoin Core: cartelle dei wallet e loadwallet
Domande frequenti sul recupero di un wallet.dat di Bitcoin Core
Posso aprire un file wallet.dat senza Bitcoin Core?
In parte. L’utility bitcoin-wallet inclusa in Bitcoin Core è uno strumento offline: legge i file del wallet senza avviare il nodo né scaricare la blockchain. Strumenti open source più vecchi come pywallet possono leggere i file Berkeley DB legacy ed esportarne le chiavi, ma pywallet indica ancora Python 2 tra i requisiti, quindi richiede dimestichezza con la riga di comando e un ambiente datato e offline. Per un wallet cifrato serve comunque la password, qualunque strumento si usi. Non carichi mai il file su un sito web che si offre di aprirlo.
Ho un wallet.dat del 2010. Funzionerà con l’ultima versione di Bitcoin Core?
Non direttamente. Un wallet del 2010 è un wallet Berkeley DB legacy, e Bitcoin Core 30.0 e le versioni successive non caricano più questo tipo di wallet. Una versione attuale può migrarlo: su una copia, usi File > Migra Portafoglio > Ripristina e migra il file wallet… nella versione 31.0 o successiva. La cifratura dei wallet è arrivata solo con la versione 0.4.0, nel settembre 2011, quindi un wallet del 2010 è cifrato solo se in seguito vi è stata impostata una password con una versione più recente. In tal caso, la migrazione chiede quella password. Le versioni precedenti alla 30.0 possono ancora caricare il file senza migrarlo.
Come faccio a sapere se il mio wallet.dat è cifrato?
Lo carichi in Bitcoin Core e provi a inviare un piccolo importo o a esportare una chiave privata: se Bitcoin Core chiede la passphrase del wallet, vuol dire che è cifrato. Può anche verificarlo senza fare tentativi. Per un wallet cifrato, il menu Impostazioni mostra Cifra il portafoglio… spuntato e in grigio, con Cambia Passphrase… disponibile, e nella barra di stato compare l’icona di un lucchetto. Nella console, getwalletinfo include il campo unlocked_until solo per i wallet cifrati. Per un file legacy in una versione attuale, la migrazione chiede la password prima di convertire un wallet cifrato.
Qualcuno vende un wallet.dat con dentro dei bitcoin. Dovrei comprarlo?
No. È una truffa ben nota. O il venditore conserva una copia delle chiavi e svuota il wallet dopo che Lei ha pagato, oppure il saldo pubblicizzato non è mai stato controllato da quel file. Un saldo su un block explorer dimostra solo che un indirizzo detiene delle coin, non che il file in vendita ne contenga le chiavi. I wallet autentici con fondi non vengono venduti, perché chiunque abbia conservato una copia delle chiavi può spendere le coin prima dell’acquirente. Crypto Recovers non lavora su file di wallet acquistati; il nostro articolo sulle truffe dei wallet in vendita spiega il meccanismo.
Ho un vecchio wallet.dat ma non la password. Cosa devo fare?
Non inizi a provare password sull’originale. Faccia due copie, verifichi se gli indirizzi del wallet contengono fondi e annoti tutto ciò che ricorda della password: parole, date, schemi e la tastiera che usava allora. Se il wallet contiene fondi, le guide sulla password citate sopra spiegano come funziona una ricerca, e una valutazione gratuita Le dice se una ricerca è realistica prima di qualsiasi impegno da parte Sua.
