<p><strong>Wallets</strong><br>
A wallet is an application that manages your keys and can create transactions. There are many open source and closed source wallet applications for different platforms (Desktop, Mobile, custom Hardware Wallets). Bitcoin-core has an implementation that runs on a full node. See <a href="https://en.bitcoin.it/wiki/Wallet" rel="nofollow noreferrer">Bitcoin Wiki - Wallet</a>.</p>

<p><strong>Accounts</strong><br>
An account can have different meanings depending on the wallet application you are using, but in bitcoin core it is a way to give a readable name to an address and keep track of your balance. In bitcoin core, an account can include multiple receiving addresses. See <a href="https://en.bitcoin.it/wiki/Help:Accounts_explained" rel="nofollow noreferrer">Bitcoin Wiki - Accounts explained</a>. <strong><em>Note</em></strong>: See @Pieter Wuille's comment below that this will be deprecated from bitcoin-core.</p>

<p><strong>Addresses</strong><br>
An address can be a form of your public key (or a script), to which people can send bitcoin, and which can only be spent by the corresponding private key (or by satisfying the script). There are many forms your address can take, because it can be derived from any valid <a href="https://en.bitcoin.it/wiki/Script" rel="nofollow noreferrer">script</a>. A simple <code>P2PKH</code> (Pay to public key hash) address is the <code>RIPEMD160(SHA256(public key))</code> encoded using Base58 checksum. A <code>P2SH</code> is a hash of a script. Basically, in order to spend coins sent to any address, one must satisfy the script that address represents, which usually includes providing the script (<code>P2SH</code>) that the address was hashed from, and any required signatures. See <a href="https://en.bitcoin.it/wiki/Address" rel="nofollow noreferrer">Bitcoin Wiki - Address</a></p>

CC BY-SA 4.0
2018-08-13T14:21:09.477Z
RIPEMD160, not 140.
Meni Rosenfeld
CC BY-SA 4.0
2018-08-13T15:07:14.513Z
Thanks JBaczuk, But here is the thing I'm really interested in. So wallet can have many accounts and those many accounts (each of them) can have many addresses? So Is it 100% right that wallet also saves private/public key for each address? Why was account even invented? so that to unite some addresses into one name and some others into another name? How can an account balance be negative? I'd really appreciate it if you could just answer all these questions. Thank you again.
Chemistry
CC BY-SA 4.0
2018-08-13T15:14:00.053Z
@Giorgi Read the "How accounts work" link if you're really interested, but accounts are almost certainly not what you assume they are. They're deprecated and are expected to be removed from Core in an upcoming version even due to confusion and other reasons.
Pieter Wuille
CC BY-SA 4.0
2018-08-13T15:14:08.420Z
Depends on what "account" means for that wallet application. Also, there are watch-only addresses that your wallet can keep track of (balance, txs, etc.) but that it does not have the private key for. Also see https://stackoverflow.com/questions/22237621/bitcoind-account-negative-balance. Maybe you should open separate questions.
JBaczuk
CC BY-SA 4.0
2018-08-13T15:14:39.580Z
Also, a wallet does not necessarily store private and public key for every address. For example hardware wallets or watch-only wallets don't.
Pieter Wuille
CC BY-SA 4.0
2018-08-14T20:09:27.683Z
@JBaczuk - Bitcoin *accounts* are not centrally controlled, and thus don't require the exposure of one's identity. Such accounts can provide a degree of privacy.  
BIP 39 accounts can be given names by users. BIP 39 *accounts* provides a means for wallet apps to supply substantial assurances that account sets of billions private keys and associated addresses will have no overlap. Deterministic mathematical virtual address spaces are used to firewall balancing between accounts; unless, explicit transaction confirmations occur, i.e. when funds are explicitly sent form one account to another.
skaht
CC BY-SA 4.0
2018-08-14T20:11:46.363Z
@skaht are you referring to BIP32?
JBaczuk
CC BY-SA 4.0
2018-08-15T04:06:52.440Z
@JBaczuk - Brain fart!  Really meant BIP 32/44/49 accounts.
skaht
CC BY-SA 4.0
2018-08-13T14:15:33.043Z
2018-08-13T15:29:18.000Z
2018-08-13T15:29:18.000Z
JBaczuk
<p>I know this question has been asked several times, But it never made any sense reading each of them. Can Anyone really explain deeply by using technical language so that I could really understand pros and cons and everything ? Thank you. </p>

<bitcoin-core><blockchain><bitcoind>
Difference between wallet,accounts and addresses
Chemistry
# Difference between wallet,accounts and addresses

(Asked by: username_0 on 2018-08-13)

I know this question has been asked several times, But it never made any sense reading each of them. Can Anyone really explain deeply by using technical language so that I could really understand pros and cons and everything ? Thank you.

**Tags:** bitcoin-core, blockchain, bitcoind


---

## 1 answers

### Answer by username_1 on 2018-08-13. Score: 3 | Accepted answer

**Wallets**  
A wallet is an application that manages your keys and can create transactions. There are many open source and closed source wallet applications for different platforms (Desktop, Mobile, custom Hardware Wallets). Bitcoin-core has an implementation that runs on a full node. See [Bitcoin Wiki - Wallet](https://en.bitcoin.it/wiki/Wallet).

**Accounts**  
An account can have different meanings depending on the wallet application you are using, but in bitcoin core it is a way to give a readable name to an address and keep track of your balance. In bitcoin core, an account can include multiple receiving addresses. See [Bitcoin Wiki - Accounts explained](https://en.bitcoin.it/wiki/Help:Accounts_explained). ***Note***: See @username_3's comment below that this will be deprecated from bitcoin-core.

**Addresses**  
An address can be a form of your public key (or a script), to which people can send bitcoin, and which can only be spent by the corresponding private key (or by satisfying the script). There are many forms your address can take, because it can be derived from any valid [script](https://en.bitcoin.it/wiki/Script). A simple `P2PKH` (Pay to public key hash) address is the `RIPEMD160(SHA256(public key))` encoded using Base58 checksum. A `P2SH` is a hash of a script. Basically, in order to spend coins sent to any address, one must satisfy the script that address represents, which usually includes providing the script (`P2SH`) that the address was hashed from, and any required signatures. See [Bitcoin Wiki - Address](https://en.bitcoin.it/wiki/Address)

> **Comments:**
> **username_2**: RIPEMD160, not 140.  
> **username_0**: Thanks username_1, But here is the thing I'm really interested in. So wallet can have many accounts and those many accounts (each of them) can have many addresses? So Is it 100% right that wallet also saves private/public key for each address? Why was account even invented? so that to unite some addresses into one name and some others into another name? How can an account balance be negative? I'd really appreciate it if you could just answer all these questions. Thank you again.  
> **username_3**: @Giorgi Read the "How accounts work" link if you're really interested, but accounts are almost certainly not what you assume they are. They're deprecated and are expected to be removed from Core in an upcoming version even due to confusion and other reasons.  
> **username_1**: Depends on what "account" means for that wallet application. Also, there are watch-only addresses that your wallet can keep track of (balance, txs, etc.) but that it does not have the private key for. Also see https://stackoverflow.com/questions/22237621/bitcoind-account-negative-balance. Maybe you should open separate questions.  
> **username_3**: Also, a wallet does not necessarily store private and public key for every address. For example hardware wallets or watch-only wallets don't.  
> **username_4**: @username_1 - Bitcoin *accounts* are not centrally controlled, and thus don't require the exposure of one's identity. Such accounts can provide a degree of privacy.   BIP 39 accounts can be given names by users. BIP 39 *accounts* provides a means for wallet apps to supply substantial assurances that account sets of billions private keys and associated addresses will have no overlap. Deterministic mathematical virtual address spaces are used to firewall balancing between accounts; unless, explicit transaction confirmations occur, i.e. when funds are explicitly sent form one account to another.  
> **username_1**: @username_4 are you referring to BIP32?  
> **username_4**: @username_1 - Brain fart!  Really meant BIP 32/44/49 accounts.  

---

