<p>A full node wallet collects from peers the whole blockchain and uses that data to construct its copy of the UTXO set.</p>
<p>From that it can calculate balances for addresses it has generated.</p>
<p>As it receives new transactions it updates its UTXO set and balances.</p>
<hr />
<p>A lightweight (SPV) wallet might only collect block header information from configured servers. It will probably only fetch full information for specific transactions that are relevant to it.</p>
<p>The header information can be validated by the lightweight wallet to check that it is not being deceived by a malicious server. This is necessarily less rigorous than the validation/checking performed by a full node.</p>
<p>From the received subset of full transaction data the lightweight node can calculate balances for addresses of interest to it.</p>

CC BY-SA 4.0
2024-01-24T10:25:14.850Z
Thank you!  But would you mind explaining how a non-full node wallet calculates and maintains balances?
Jamie
CC BY-SA 4.0
2024-01-24T10:33:07.497Z
@Jamie, I know less about lightweight nodes, but I have added to the answer what I know about them.
RedGrittyBrick
CC BY-SA 4.0
2024-01-24T11:00:07.833Z
RedGrittyBrick Thank you!  Just to make sure I am using the correct terminology, what is the difference between: light wallet; lightweight wallet; software wallet and SVP wallet?
Jamie
CC BY-SA 4.0
2024-01-24T11:39:47.580Z
I recently revised my answer to [What kinds of wallet are there](https://bitcoin.stackexchange.com/q/81240/13866) maybe that covers it?
RedGrittyBrick
CC BY-SA 4.0
2024-01-24T11:52:06.157Z
Thank you Sir !
Jamie
CC BY-SA 4.0
2024-01-24T09:46:13.647Z
2024-01-24T10:32:35.497Z
2024-01-24T10:32:35.497Z
RedGrittyBrick
<p>Does a Bitcoin software wallet (not the Bitcoin core wallet) read the entire blockchain to gather balance information? Or does it read the UTXO set? Or some other data source? Does it need to read it every time it wants to retrieve balance information, or does it simply read the last transactions posted to the blockchain?</p>

<wallet><address><balance>
How do Bitcoin Wallets Maintain Address Balances?
Jamie
# How do Bitcoin Wallets Maintain Address Balances?

(Asked by: username_0 on 2024-01-24)

Does a Bitcoin software wallet (not the Bitcoin core wallet) read the entire blockchain to gather balance information? Or does it read the UTXO set? Or some other data source? Does it need to read it every time it wants to retrieve balance information, or does it simply read the last transactions posted to the blockchain?

**Tags:** wallet, address, balance


---

## 1 answers

### Answer by username_1 on 2024-01-24. Score: 0

A full node wallet collects from peers the whole blockchain and uses that data to construct its copy of the UTXO set.

From that it can calculate balances for addresses it has generated.

As it receives new transactions it updates its UTXO set and balances.

---

A lightweight (SPV) wallet might only collect block header information from configured servers. It will probably only fetch full information for specific transactions that are relevant to it.

The header information can be validated by the lightweight wallet to check that it is not being deceived by a malicious server. This is necessarily less rigorous than the validation/checking performed by a full node.

From the received subset of full transaction data the lightweight node can calculate balances for addresses of interest to it.

> **Comments:**
> **username_0**: Thank you!  But would you mind explaining how a non-full node wallet calculates and maintains balances?  
> **username_1**: @username_0, I know less about lightweight nodes, but I have added to the answer what I know about them.  
> **username_0**: username_1 Thank you!  Just to make sure I am using the correct terminology, what is the difference between: light wallet; lightweight wallet; software wallet and SVP wallet?  
> **username_1**: I recently revised my answer to [What kinds of wallet are there](https://bitcoin.stackexchange.com/q/81240/13866) maybe that covers it?  
> **username_0**: Thank you Sir !  

---

