What is the difference between wallet and account?

I’m playing with goal CLI. It’s unclear to me what is wallet for? We can import and export accounts, but we can’t create an account without a wallet. Both accounts and wallets have mnemonic, but MyAlgo doesn’t use “wallets” at all, they operate accounts. This is very ambiguous.
I couldn’t find a clear explanation anywhere in the docs. Can anybody point me to the right direction?

Hi, the definitions may be done as:

  • Address - The base56 representation of public key. eg 46U5SGV73FR6DR4VS2LSVPZOTK46VSTBTCYNHQKKSZ6F7M2QC3Q57CZ2A4
  • Account - Combination of private key and public key
  • Wallet - Mechanism to securely store accounts. Some services on the FE use this wrongly to represent the account (MyAlgo fixed this around month ago)

Thanks! Is this purely goal related? In other words, can I use the wallet mnemonic anywhere but with goal?

Actually it is a account mnemonic. Mnemonic contains private key and public key in word type encoding (2024^24 (allowed words) + checksum (25th word))

You can import mnemonic to any wallet. List of wallets is here:

or
https://ecosystem.algorand.com/explore?categories=wallets

goal has both account and wallet mnemonic. I’m interested in the wallet one. Not sure if it can be used anywhere else. If not, then… well… it’s kinda pointless, since we can export/import accounts without needing of a wallet.

See Account Creation methods - Algorand Developer Portal
Quote from this section:
Wallet-derived (kmd)

Public/private key pairs are generated from a single master derivation key. You only need to remember the single mnemonic that represents this master derivation key (i.e. the wallet passphrase/mnemonic) to regenerate all of the accounts in that wallet.
[end of quote]

So, in a wallet there can be derived keys and imported keys.

i assume there is way to export all accounts from the wallet, but i have not tried this functionality… i use usually just goal account export -a …

btw, i dont see in the official docs the goal wallet export feature… goal wallet list - Algorand Developer Portal

Yes, but it shows a mnemonic when you create a wallet. Here’s another ambiguity: no way to export, no way to delete.

i think it is encryption key or seed for the wallet

there is -r parameter to be used probably on another computer… goal wallet new - Algorand Developer Portal

Maugli has written above that it is the master redivation key, so it means it is the seed… The same way works for example Metamask, however there you have only 12 word mnemonic if i rembember correclty.

1 Like

Yes, as pointed by @scholtz , goal wallet new -r "mnemonic" recovers a goal wallet mnemonic.
There is no way to re-export a wallet mnemonic to my knowledge.