1The phrase is the backup
Every Divi wallet grows from one recovery phrase. Every address the wallet makes for itself, and every coin sent to those addresses, comes back from those 12 or 24 words on a new computer. You proved that yourself at the end of Create your first wallet: a second node, an empty folder, the same phrase, the same balance. That is the backup, and it is already done if you put the phrase in a password manager.
So why does every wallet also offer to copy its wallet file? Habit, mostly, from the years before HD wallets, when a wallet file held a fixed bag of random keys and a copy was the only way to keep them. Divi's wallets are not like that. For most people a copy of wallet.dat adds risk and no safety:
- Every copy is a second set of keys. A wallet file on a USB stick in a drawer, in a cloud folder, in an old laptop, can be spent from. If it was copied before you encrypted the wallet, anyone who finds it has the coins, and the passphrase you set later does not help.
- Copies go stale. Encrypt the wallet, and every earlier copy is still unencrypted. IronDivi says so the moment you encrypt: "Back up your wallet again: earlier backups are not encrypted." Bitcoin Core, the program the C++ Divi node descends from, says the same: "You need to make a new backup with the backupwallet RPC." (Divi's C++ node itself only answers Wallet reloaded!, but the rule holds.)
- The phrase never goes stale. New addresses, new coins, new staking rewards: all of them come from the same words.
2What the standards say
None of this is a Divi invention. The same four documents sit behind every serious wallet, and we read each one on 2026-10-21.
| Standard | What it says | What it means here |
|---|---|---|
| BIP39, Mnemonic code for generating deterministic keys, status Deployed | "This BIP describes the implementation of a mnemonic code or mnemonic sentence – a group of easy to remember words – for the generation of deterministic wallets." | The phrase is the wallet. Divi, Bitcoin and most other coins use this exact standard. |
| bitcoin.org, Securing your wallet | "Any backup that is stored online is highly vulnerable to theft." And under Backup your entire wallet: "If your backup only covers the keys currently visible to you, you might not be able to recover all of your funds." | A copy that goes anywhere online must be encrypted first. And a copy of keys is not a copy of everything: see section 5. |
| CISA, Data Backup Options (US-CERT paper by Ruggiero and Heckathorn, 2012) | "3 – Keep 3 copies of any important file: 1 primary and 2 backups. 2 – Keep the files on 2 different media types to protect against different types of hazards. 1 – Store 1 copy offsite (e.g., outside your home or business facility)." | The wallet on your disk is the primary. The phrase in the password manager, synced to its servers, is the offsite copy on different media. A printed copy in a safe place is the third. Paper is a fine extra copy, never the only one. |
| NIST SP 800-63B, §5.1.1.2 | Systems "SHALL require subscriber-chosen memorized secrets to be at least 8 characters in length", "SHOULD permit … at least 64 characters", "SHOULD NOT impose other composition rules", and "SHOULD permit claimants to use 'paste' functionality". | Long passphrases, pasted from a password manager, are the recommended practice, not a shortcut. That is how you set the wallet passphrase in #4, and how you will enter it when you restore. |
3Where the backup lives: the password manager
The phrase goes into a secure note in a password manager: Proton Pass (free), 1Password, Bitwarden, Dashlane, Keeper or Apple Passwords. All six hold a note. The encrypted wallet copy from section 5 is a file, and not every manager, or every plan, takes files. Checked on each vendor's own help pages on 2026-10-21:
| Manager | Phrase (note) | Encrypted wallet copy (file) |
|---|---|---|
| Proton Pass | Yes, free plan | Paid plans only ("This feature is available for paid plans"); storage shared with Drive and Mail |
| 1Password | Yes | Yes; 1 GB per person |
| Bitwarden | Yes, free plan | "Premium users and members of paid organizations"; 500 MB per file, 5 GB total |
| Dashlane | Yes | Attach to a Secure Note; "available on all Dashlane paid plans" |
| Keeper | Yes | Secure File Storage add-on; 100 MB per file in the web vault, 5 GB in the apps |
| Apple Passwords | Yes, in the Notes field of an entry | No file attachments in the Passwords user guide. Keep the file copy elsewhere, encrypted, or skip it: for most people the phrase is enough |
4First, prove the wallet is encrypted
Before any file is copied, the wallet must report itself encrypted. If it does not, stop and do Encrypt your wallet (#4) first. Then come back: the copies you make afterwards are the only ones that count. This check needs no unlock.
irondivi-cli -c ~/divi-test/irondivi.conf getwalletinfo divi-cli -testnet getwalletinfo
Look at one line, encryption_status:
| It says | Meaning | Back up? |
|---|---|---|
"unencrypted" | Keys are in plain form on disk | No. Encrypt first |
"locked" | Encrypted, passphrase not entered | Yes |
"unlocked" or "unlocked-for-staking" | Encrypted, passphrase entered for a while | Yes |
Both lane wallets used for this page report "locked" after #4. In Divi Desktop the padlock in the status bar shows the same three states; in BoxWallet, run the divi-cli line above against the node it installed.
5The two cases the phrase does not cover
The phrase rebuilds everything the wallet derived from it. Two things are not derived from it, and both were tested on the testnet nodes before this page was written.
Case 1: a key you imported
importprivkey adds a private key made somewhere else (a paper wallet, another program, a dumped key). The wallet stores it, but no phrase produces it. We made a fresh key in the C++ wallet, imported it into the IronDivi wallet, then asked both the IronDivi wallet and a second node restored from the same phrase whether the address was theirs:
irondivi-cli -c ~/divi-test/irondivi.conf validateaddress yEe2KF4cjCSSC8yBoJ5AP8LTRPEqthJtPY
On the wallet that imported it: "ismine": true, and no hdkeypath line, which is how you spot an imported key next to a derived one (a derived address shows something like "hdkeypath": "m/44'/301'/0'/0/1"). On the node restored from the phrase: "ismine": false. The derived address was true on both. Lose the wallet file, and the imported key's coins are gone unless you also kept the key itself.
Case 2: vaults a wallet manages for someone else
A vault is created by its owner with fundvault; the staking node then runs addvault to start managing it (see Create a vault). The manager's wallet keeps a list of those vault scripts; the list is not derived from its phrase. We funded a 100 tDIVI vault from the IronDivi wallet to the C++ wallet's address and watched the manager side:
divi-cli -testnet getcoinavailability
With the funding transaction confirmed on the chain, before addvault the manager reported nothing:
{
"Vaulted" : 0.00000000,
"Stakable" : 0.00000000,
"Spendable" : 0.00000000
}
Then the manager registered it and looked again:
divi-cli -testnet addvault "y7gUWYoP3JfvjhJs5qBLQwtKvorfCpVKzM:y6SiJwDifwqZyPxGGTHFrzwAxycL9BFfSn" a3b354cb65019d1883c8e7e6ee9687c26be8badbb051aacd3b606b6b8fac91b9
{
"succeeded" : true
}
divi-cli -testnet getcoinavailability
{
"Vaulted" : 0.00000000,
"Stakable" : 100.00000000,
"Spendable" : 0.00000000
}
The coins were on the chain the whole time, and the manager's keys never changed; what changed was a line in the manager's wallet. Only after addvault did the vault appear (on the C++ node, under Stakable: coins it may stake but not spend). A manager that restores from its phrase gets its keys back but an empty list, and must run addvault again for every vault it manages, which needs each vault's owner:manager pair and funding transaction. A manager therefore keeps an encrypted copy of its wallet, or a record of every addvault it ran. Owners are not affected: a vault's coins belong to the owner's keys, and the owner's address came back on the phrase-restored node in case 1 (whether a restored owner wallet shows the vault balance without a rescan was not tested).
6IronDivi node
IronDivi keeps its wallet in a folder (a RocksDB database named wallet inside the data directory), not a single file. backupwallet copies the whole folder. It works while the wallet is locked, and the copy is encrypted because the wallet is. These steps use the testnet node from Create your first wallet.
- Check
encryption_statusas in section 4. It must not say"unencrypted". - Copy the wallet to a new folder:
irondivi-cli -c ~/divi-test/irondivi.conf backupwallet ~/divi-backup-2026-10-21
The reply isnull, which is success. The folder appears with the database files inside (about 1.7 MB for our testnet wallet). Running the command again onto the same folder refreshes it. - Make it a single file so a password manager can take it, then remove the folder:
zip -r ~/divi-backup-2026-10-21.zip ~/divi-backup-2026-10-21 rm -r ~/divi-backup-2026-10-21
- Attach the zip to the wallet's note in the password manager (section 3), then delete the zip from the disk. The zip holds an encrypted wallet, so it is no more dangerous than the wallet itself; it is still not something to leave in Downloads.
IronDivi makes no automatic copies of its own. The folder you copied is the only one.
7Divi Desktop
Divi Desktop 2.0.0 backs up the way this page recommends: by showing the phrase, not by copying a file. In Settings the button is Backup seed, described as "Backup your current wallet with a mnemonic seed phrase." Press Backup; the app asks you to unlock first (so an encrypted wallet never shows its phrase to a passer-by), then shows the words. Paste them into the password manager if they are not there already. The button beside it, Recover from seed, is the restore.
If you need a file copy for one of the two cases, Desktop runs the C++ node underneath, so backupwallet from section 9 works in its debug console, and the node's own monthly copies land in the data folder too. The screen text here comes from the Divi Desktop source code; the layout may differ a little from release to release.
8BoxWallet
BoxWallet (v0.8.38) has one command for the file copy. Its README: "Creates a backup of your wallet.dat file, based on today's dates, and names it based on the days date."
./boxwallet wallet backup
Before you run it, check the node it installed reports "locked" or "unlocked", not "unencrypted"; if it does, ./boxwallet wallet encrypt first (see #4). The dated file goes into the password manager and off the disk, exactly as in section 6. The phrase itself comes from divi-cli dumphdinfo on an unlocked wallet, as in Create your first wallet.
9C++ Divi command line
The C++ node keeps a single file, wallet.dat, in its data directory (testnet3/ on testnet). backupwallet copies it; the help text says the destination "can be a directory or a path with filename." It works while locked.
- Check
encryption_status(section 4). - Copy the file, with the date in the name:
divi-cli -testnet backupwallet ~/divi-backup-2026-10-21.dat
The reply isnull. The file is the same size as the original (692,224 bytes for our testnet wallet) and the node writes copied wallet.dat to … intodebug.log. If the destination cannot be written you get Error: Wallet backup failed!. - Attach the file to the wallet's note in the password manager, then delete it from the disk.
-monthlybackups setting, default 12) in a backups folder inside the data directory. Any of those made before you encrypted are unencrypted keys sitting next to the wallet. After #4, look in that folder and delete the old ones. Our lane node, encrypted on its first day, has not made one yet.
10Web wallet, browser extension and Telegram
The light wallets have no wallet file to copy and nothing to import, so the phrase is the whole backup, and the two cases in section 5 cannot arise.
| Wallet | Backup | Where the phrase is shown again |
|---|---|---|
| Web wallet (wallet.divi.domains) | Phrase in the password manager. Keys never leave your browser; clearing the site's data deletes the wallet, so the phrase is the only copy | At creation (Your Recovery Phrase, Show My Phrase Again); afterwards, restore from the password manager |
| Browser extension | Phrase in the password manager. The extension password only unlocks this computer; it recovers nothing | Show Phrase at creation; Import Recovery Phrase to restore |
| Telegram wallet | Phrase in the password manager, saved from the small app Telegram opens, never from the chat | /restore rebuilds from the phrase; /forgot helps if you lose the unlock pattern but still have the phrase |
The create-wallet steps for each, with the exact screens, are in Create your first wallet.
11Test the backup
A backup you have never restored is a hope. Two tests, both on testnet, both without touching your real wallet:
- The phrase. Restore it into a fresh node in an empty folder and check the same
hdmasterkeyidand the same first address come back. The exact steps are Prove it: restore from the phrase. This is the test that matters for everyone. - The file copy (only if you made one). Stop the node, move the live wallet aside, put the copy in its place (unzip the IronDivi folder back to
wallet; name the C++ filewallet.dat), start the node, and rungetwalletinfo. It must say"locked"and show the same balance. Then stop, put the live wallet back, and start again. If it says"unencrypted", that copy was made before #4: delete it and make a new one.
Repeat the file test whenever you make a new copy, which should be rare: after importing a key, or after adding a vault you manage. The phrase never needs a second copy, only a second check that it is still in the password manager.
Troubleshooting
backupwallet says the wallet is locked. Neither node asks for an unlock to copy the wallet, so this means a different error; read the full message. On IronDivi, make sure the destination's parent folder exists.
I imported a key into IronDivi and the balance does not show. IronDivi 0.2.6 accepts the rescan argument but does not rescan yet (the source says so), so coins already sent to an imported address do not appear. The key is stored; a future rescan or a C++ node with importprivkey (which rescans by default) will show them.
I restored the manager wallet and my vaults are gone. Run addvault "owner:manager" txid again for each one; the coins were never in your wallet, only the duty to stake them. The owner can see them the whole time.
My old backups are unencrypted. Any copy made before #4 is a plain set of keys. Delete it with a secure-delete tool where you have one, and if a copy ever left your control, move the coins to a wallet made from a new phrase (see Rescue a wallet).
Still stuck? Ask the Divi chatbot, or see all tutorials.