37

In Mist, there are some addresses listed as accounts, and some listed as wallets. What's the difference? Which should I use? And why do I need Ether to create a Wallet?

Tjaden Hess
  • 37,046
  • 10
  • 91
  • 118
  • 2
    I just want to point out that since this post, the names display in Mist are: ACCOUNTS and WALLET CONTRACTS. Everything in this post that talks about "Wallets" applies to "Wallet Contracts". – tayvano Feb 25 '16 at 17:07

1 Answers1

41

Accounts are the most basic way to store Ether. They are simple public/private keypairs, which you use to sign transactions. You don't need to do anything to "register" an account with the network, just generate one and send some ether to it.

Wallets are smart-contracts that allow for advanced features such as transaction logging, multisig, withdrawal limits, and more. In order to create a wallet, you need to deploy the contract to the blockchain, which requires ether. You need to make sure you keep track not only of the keys required to access the wallet, but also the wallet address. Unlike with accounts, wallet addresses are not very easily derivable from the private key (although it's not the end of the world if you lose the wallet address, you can use a block explorer to find what contracts you've created recently). Technically you can recover the address from just the account that created it and the nonce of the transaction, but that's a hassle.

tl;dr: Start with an account, get some Ether, then create a wallet and store your ETH there

eth
  • 85,679
  • 53
  • 285
  • 406
Tjaden Hess
  • 37,046
  • 10
  • 91
  • 118
  • 4

    create a wallet and store your ETH there<< So, if one has no need for for advanced wallet features (ie just want to store eth) it is ok to leave eth on an account as opposed to a wallet?

    –  Jan 21 '16 at 23:00
  • 4
    Yes. Accounts are perfectly safe, and easier to back up, and just generally simpler – Tjaden Hess Jan 21 '16 at 23:02
  • 2
    For what reason would I ever create a wallet-contract then? – shallowThought Apr 29 '17 at 14:54
  • 2
    For the more advanced features. Consider a stack of cash in a safe (if you now the combination, you have full access, if not, no access) vs. a checking account at a bank (where you can write checks, use a debit card, online banking features, have multiple people who can sign, etc.) An account is like a safe and a wallet is like a checking account. – D. A. May 25 '17 at 00:49
  • Although that implies that an account is safer than a wallet, which isn't necessarily true. It's actually safer in many cases, like a safe deposit box that requires many keys – Tjaden Hess May 25 '17 at 00:55
  • your answer says start with account, get some ether, then store in wallet. How do you transfer your ether from your account to your wallet? or does the ether magically appear in the wallet because it knows the wallet belongs to the account which has ether already in it? In mist, it says "most exchanges don't support receiving ether from a contract wallet". This defeats the object no? – John Little Nov 14 '17 at 10:44
  • I guess the purpose of a contract wallet is different from that of a personal account. From whatever little understanding I have, I'd like to think a account as "Personal Account" and "Contract Wallet" more like "Joint Account" or "Corporate Account", in the sense "contract wallet" is a collaborative account which represents an entity of which the wallet is creator is one an approver. Hope this analogy doesn't confuse the topic even more :) – pravin Apr 09 '18 at 12:23