<p>You don't have to parse the whole blockchain for every transaction, this is why database indexes exist. </p>

<p>You parse the blockchain once and create a unspent-transaction-output set (UTXO) which is a mapping between all unspent outputs and their balance. This is around 2.5GB in size and much-much faster to process.</p>

CC BY-SA 4.0
2018-07-10T10:20:34.093Z
2018-07-10T10:20:34.093Z
Mike D
<p>There can be number of reasons for both instant and delayed payments - </p>

<ol>
<li><p>Fees - Sender might have paid a good transaction fee if your balance was loaded instantly.</p></li>
<li><p>Node discovery - Your wallet might be connected to a very active node resulting in quicker discovery and propagation of your transaction. Please note the connection with a node or peer does not depend upon geographical locations.</p></li>
<li><p>Wallet infrastructure - Many wallets use local database to upload or query transactions instantly. You should refer to <a href="https://bitcoin.org/en/glossary/simplified-payment-verification" rel="nofollow noreferrer">SPV</a> wallets. SPV wallets do not store whole Blockchain data but only relevant data with respect to its own transactions. Only when it has to send transactions it communicates with full node. For receiving Bitcoins you don't need to have the whole Blockchain downloaded.</p></li>
</ol>

CC BY-SA 4.0
2018-07-10T09:23:24.733Z
2018-07-10T09:23:24.733Z
Abhishek Sinha
<p>I've always wondered how wallet clients can receive the corresponding amount of Bitcoins so fast.</p>

<p>If I want to know how muc Bitcoins I own, I have to parse the complete the complete blockchain to read all incoming and outgoing transactions. The current size is over 170 GB, wouldn't it take minutes (if not hours) to get all the transactions?</p>

<p>But when I use a web wallet for example, the correct amount of Bitcoins is loaded instantly. How does this work?</p>

<p>Thank you</p>

<blockchain><wallet>
How do wallets receive the amount of Bitcoins
SO1992
# How do wallets receive the amount of Bitcoins

(Asked by: username_0 on 2018-07-10)

I've always wondered how wallet clients can receive the corresponding amount of Bitcoins so fast.

If I want to know how muc Bitcoins I own, I have to parse the complete the complete blockchain to read all incoming and outgoing transactions. The current size is over 170 GB, wouldn't it take minutes (if not hours) to get all the transactions?

But when I use a web wallet for example, the correct amount of Bitcoins is loaded instantly. How does this work?

Thank you

**Tags:** blockchain, wallet


---

## 2 answers

### Answer by username_1 on 2018-07-10. Score: 1

You don't have to parse the whole blockchain for every transaction, this is why database indexes exist.

You parse the blockchain once and create a unspent-transaction-output set (UTXO) which is a mapping between all unspent outputs and their balance. This is around 2.5GB in size and much-much faster to process.


---

### Answer by username_2 on 2018-07-10. Score: 0

There can be number of reasons for both instant and delayed payments -

1. Fees - Sender might have paid a good transaction fee if your balance was loaded instantly.
2. Node discovery - Your wallet might be connected to a very active node resulting in quicker discovery and propagation of your transaction. Please note the connection with a node or peer does not depend upon geographical locations.
3. Wallet infrastructure - Many wallets use local database to upload or query transactions instantly. You should refer to [SPV](https://bitcoin.org/en/glossary/simplified-payment-verification) wallets. SPV wallets do not store whole Blockchain data but only relevant data with respect to its own transactions. Only when it has to send transactions it communicates with full node. For receiving Bitcoins you don't need to have the whole Blockchain downloaded.


---

