The Agama wallet allows for sending CLI commands to the daemon from within the app, extending its functionality  beyond the GUI. One of these commands is encryptwallet which helps secure your wallet.dat file by encrypting it with a password. 

Photo by Tim Evans on Unsplash

Once encrypted, a password and timeout value is required to perform certain actions, such as sending funds or exporting the private keys, preventing unauthorized access to your Komodo (and Komodo asset chain) funds.

Lite mode (SPV) does not use a wallet.dat file, so this guide only applies to Native mode wallets. Komodo or any native asset-chain using the -ac_public parameter is supported.

Precautions / Best Practices:

  • Don’t encrypt any wallet with private addresses (z-addresses)Transfer your funds from a private z address to transparent R address first [link to guide].
  • Don’t forget your password. If you do, you will lose access to your funds.
  • Use a strong password containing letters (UPPERCASE, lowercase), numbers, special characters.
  • Always keep a backup of your password, passphrase and private keys stored in a safe place.
  • Always back up your wallet.dat in a safe place. It is recommended to do it after every send transaction.
  • You are responsible for your funds, not the developers.  Always ask when in doubt.

Encrypting your Wallet with a Password

To send CLI commands through Agama, activate a coin (e.g. Komodo) in Native mode.

Go to the Settings menu, and expand the CLI section.

Enter the command encryptwallet y0urSecur3p@ssw0rd (change to your own password )

encryptwallet y0urSecur3p@ssw0rd

Now close Agama, then reload it and activate the same coin (e.g. Komodo) in Native mode.

If you try and send a transaction, you'll see the error message below.

Unlocking your wallet.dat

The walletpassphrase command takes two parameters: your password, and a timeout value (in seconds) for how long to decrypt the wallet. 

To temporarily unlock (decrypt) the wallet.dat, enter the command 

walletpassphrase y0urSecur3p@ssw0rd 120

This command will unlock the wallet for 2 minutes, which should be long enough send a transaction.

NOTE: This CLI command returns no response (unless the password is incorrect)

Manually locking your wallet.dat

You can also manually lock the wallet before the timeout expires by using the walletlock command.

Once the wallet has been locked (either manually or by timeout expiry), your wallet.dat will be automatically encrypted again. 

To demonstrate this, return to the CLI section of the Agama Settings menu and try to send the dumpprivkey command with one of your wallet addresses. 

dumpprivkey RDAFZbFP6Rm1YPvBNdFnFAUYAkgmH1q6yZ

You'll get an error message, confirming your wallet.dat has been locked.

Changing the Wallet Passphrase

If you want to change the passphrase, use the walletpassphrasechange command, with oldpassphrase and newpassphrase  as parameters. For example - 

walletpassphrasechange y0urSecur3p@ssw0rd n3wSecur3p@ssw0rd

Warning: Keep in mind that if you forget your password, you will not be able to access your funds. It is highly recommended to back it up securely

If you face any issues, please create a support ticket. Join us on Komodo Discord to talk to our community.