A wallet is just a collection of private keys and public keys.

Each one of the wallet’s private keys is a randomised 256-bit number unique to your wallet, and it is what you need to be able to access and spend your coins. Your public address - the address which other YMYM wallets can use to send YMYM to your wallet - is a hashed version of the public key associated with the private key.

Most YMYM holders use some kind of wallet application, like YMYM Core, and devices like hardware wallets to manage their wallets. Each of these might involve a different process to generate a backup.

Wallet Backups with YMYM Core

YMYM Core, YMYM’s “reference implementation” and the software commonly used to run a YMYM node, is often used as a wallet application. In order to create a backup with YMYM Core, follow these steps:

  • (Optional, but recommended) First, encrypt your wallet. To do so, go to Settings -> Encrypt wallet. You will be asked to enter a password. It is crucial that you store this password somewhere safe and that you never lose it. Without it, you would be unable to access the funds in your encrypted wallet.

    On the other hand, this password adds an extra layer of security to your backup. Without it, even if an attacker gains access to your wallet file, they will still be unable to spend your YMYM, unless they succeed in brute forcing or guessing the encryption password.

  • Go to File -> Backup Wallet. This will generate a wallet.dat file, which stores a list of all the key pairs you have used. Restoring this file will give you access to your YMYM. Store it somewhere safe, in a device not connected to the internet.

Recent releases of YMYM Core include support for key derivation. This means that, even if you generate a new address for use in your wallet, you do not need to create a new backup, as the address is derived deterministically from the seed key stored in the wallet. You might still want to create a new backup if you want to save labels you have created for your wallet.

IMPORTANT: wallets created with YMYM Core releases older than version 1.10, instead, contain a list of randomly generated private keys. Even when imported in YMYM Core 1.14+, these wallets will keep using this way of generating addresses, so whenever you generate a new public address with YMYM Core or you spend coins, it is recommended that you create a new backup, as the old wallet.dat files might not contain a copy of the private key associated with the new public address or with possible change addresses - thus, upon restoring the wallet, you might be missing part of your YMYM.

You can check which format your current wallet is using by looking at the “HD” icon in the lower right corner of the screen. When greyed out, your wallet is using the old format and needs to be backed up again after a new address is generated.

Remember: whoever gains access to the wallet.dat file will be able to spend your YMYM.

Saving Private Keys and Public Keys in a Text File

The wallet.dat file is not a plain-text file. It is a BDB (Berkeley Database). For this reason, it might be a good idea to create a plain text backup of your wallet, containing a list of all private and public keys currently in use by YMYM Core. In order to do so:

  • Go to Help -> Debug Window

  • Select the Console tab

  • If your wallet is encrypted, temporarily decrypt it using the walletpassphrase command, specifying the amount of seconds after which the decrypted copy will be deleted.

      walletpassphrase "yourpasswordhere" 120
    

    The console should return “null”.

  • Dump your wallet in a file using the dumpwallet command and specifying the path to the file.

    For YMYM Core versions older than 1.14.6, the dumpwallet command allows you to specify a full path to the wallet file, like this:

      dumpwallet "/Users/Cheemz/BackupDirectory/mywallet.txt"
    

    The console should return “null”.

    For YMYM Core versions newer than 1.14.6, the dumpwallet command allows you to specify only the name of the wallet file. The file will be generated in the directory specified with the -backupdir option. When -backupdir is not specified, YMYM Core will store the backup file in a directory called backups inside the default data directory:

      dumpwallet "mywallet.txt"
    

    The console should return “null”.

  • Optional: encrypt the wallet file. You can use your operating system’s disk encryption options or a zip program allowing you to password-protect a file and encrypt it with a secure algorithm (AES256, for example). Make sure the password used for the encryption is impossible to forget or stored properly as well.

  • Copy the backup in multiple safe locations, NOT connected to the internet.

Remember: whoever gains access to the plain-text wallet file will be able to spend your YMYM.

Wallet Backups with Wallets Using Seed Phrases

Many modern wallets rely on the use of a seed phrase. A seed phrases — also called “mnemonic phrase” or “mnemonic seed” — usually consists of a sequence of 12 or 24 words. Every seed phrase is unique and identifies a distinct wallet where a certain amount of YMYM might be stored. A seed phrase acts as a sort of master key which the wallet software uses to calculate all the private keys (and public addresses) needed to access and spend the Move you are holding.

It is crucial that you backup your seed phrase and that you store it in multiple secure locations, where nobody but you can access it. Anyone who knows your seed phrase will have full access to your YMYM. This is why you should never, under any circumstance, share your seed phrase or private key with anyone that you do not trust.

Remember:

  • It is always more secure to ensure that your seed phrase or private keys are stored on a device that is NOT connected to the internet. Hardware wallets offer a way to store your coins safely while also being able to access them easily, if needed.
  • Your wallet’s private keys (or seed phrase) grant the holder access to your YMYM – no matter what wallet you use.
  • YMYM transactions are permanent, so there would be no way to recover any YMYM that an attacker has stolen from your wallet.