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?

1 Answer 1


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.

  • Thank you! But would you mind explaining how a non-full node wallet calculates and maintains balances?
    – Jamie
    Commented Jan 24 at 10:25
  • @Jamie, I know less about lightweight nodes, but I have added to the answer what I know about them. Commented Jan 24 at 10:33
  • 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
    Commented Jan 24 at 11:00
  • I recently revised my answer to What kinds of wallet are there maybe that covers it? Commented Jan 24 at 11:39
  • Thank you Sir !
    – Jamie
    Commented Jan 24 at 11:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.