The MultiversX keystore is a JSON file that holds a mnemonic (seed phrase), encrypted with a password (as chosen by the user). Thus, the keystore provides users with a reliable and convenient method for managing their hot wallets and protecting their assets.
Loading a keystore into the web wallet
Choose connecting with keystore:
Add your keystore and introduce the password:
Upon loading the keystore, the user is presented with a choice of addresses, as derived from the mnemonic held by the keystore (if the keystore has
How does a MultiversX Keystore look like?
Here is an example:
At first, you will see an unappealing JSON file, which appears to contain magic parameters used for numerous complex cryptographic operations with unclear and vague purpose. But if you dig a little deeper you will see that it contains:
- kind - Can be
mnemonicand represents the input to be encrypted using the
- ciphertext - Your MultiversX mnemonic or secret key encrypted using the
- cipher - The name of a symmetric AES algorithm;
- cipherparams - The parameters required for the
- kdf - A key derivation function used to let you encrypt your keystore file with a password;
- kdfparams - The parameters required for the
- mac - A code used to verify your password.
Keystore files created with the first major version of the web wallet (available prior February 14th, 2023) hold the encrypted secret key, instead of the encrypted mnemonic (as the new keystore files do). Though the older files are still compatible with the new web wallet - compatibility is achieved through the aforementioned "kind" field.
When kind is set (or not set at all) to
ciphertext field will contain the encrypted secret key, as it did before. However, when kind is set to
ciphertext field will contain the encrypted mnemonic instead.
Auxiliary reference: ERC-2335: BLS12-381 Keystore.