When you make a Bitcoin transaction, can the receiving person (and the world?) really see how much coins you have in the entire wallet? I really hope that I've got this horribly wrong, but I have to ask...
I have this idea, which I base on comments and explanations I've heard over the years, that when you make a Bitcoin transaction, for example 0.001 BTC, your wallet (let's assume Bitcoin Core) actually sends your entire funds of your wallet, let's say 1.5 BTC, but also includes a &quot;gimme back&quot; signal for 1.5 minus 0.001 BTC, ie 1,499 BTC, in the same &quot;atomic action&quot;, meaning you never actually risk losing all that money, but it is advertised to the person receiving it, and maybe the entire world.
I don't understand why it would do this, and it seems extremely bad for privacy, and I'm not at all sure that it's done. Maybe it only happens sometimes? If so, when? Or maybe it doesn't mean &quot;the full funds of the wallet&quot;, but something else?
I hope that somebody can clear this up once and for all. It's pretty telling that somebody who knew about Bitcoin in 2009 is actually asking this question in 2021, after using it for highly sensitive tasks for over a decade... I'm not wild about random people knowing how many Bitcoins I have simply by sending them money, and hope that this is not how it works.
No, you will not disclose the entire amount of your wallet when you make a payment, but effectively you can disclose some info on your bitcoin.
Your wallet has several addresses and each one can have received one or more payment, once you receive a payment this amount will become an UTXO (unspent transaction output) which you can use to make a payment later;  so you will have some UTXOs in your wallet and when you pay you must spend a full UTXO (the amount you received in a earlier payment) not the whole wallet.
For example, if you have received four payment to four different addresses (0.3, 0.04, 0.61, 0.05 - wallet total balance 1 btc)  and you must pay 0.2 btc, you will use an UTXO that is greater than requested amount, in our example 0.3 btc UTXO (but you can pick also 0.61). So you will make a transaction with one input (0.3 btc) and two output: 0.2 btc for the payment and 0.1 as change that you receive on a new address.
In this case you will disclose to your counterpart (the only one who know that this address is your) that you have at least other 0.1 btc but not the wallet balance.
Any other that see this transaction on blockchain can't know that this address is your and maybe can't even distinguish payment from the change, depending on how the transaction is made.
This is the most simple situation and the one in which you reveal less info, there are other factor that can reveal part of your holdings (i.e. if you use the same address to receive multiple payments, when you spend from that address, you will disclose the whole amount on it,  not only the UTXO you pick) but Bitcoin privacy is not so simple that can fully explained here.
You can read more here:
https://bitcoin.org/en/protect-your-privacy
https://en.bitcoin.it/Privacy