Sending bitcoins to a "Sending address" in Bitcoin Core

0

1

I'm trying to understand some basic concepts in the Bitcoin Core (v.0.15.1) and in the bitcoin "world".

I'm using a testnet, and used https://testnet.coinfaucet.eu/en/ to send some bitcoins to a "Receiving address". it worked fine, and I can see the transaction/balance changed in Bitcoin core.

However if I send bitcoins from coinfaucet to a "Sending address" (Which is a public key as I understand) then I can't see any bitcoins in that address and the balance is not changed and no transaction is reported, although coinfaucet shows me a verified transaction.

What am I missing? Can't the sending address hold/receive bitcoins? what are the "Sending address" used for if I can't send bitcoins to it?

I assumed that when I want to send funds from my wallet to someone, I first move funds from the Receiving address to the Sending address and use that address. but I'm totally unsure of this assumption.

Any help will be appreciated.


EDIT: After dinging some more, I came to realize that the Sending address is just addresses you have sent or planing to send to. It has nothing to do with the Change address as described in the answer. That is why after I sent money from coinfaucet to a made up sending address I did not see any change in balance because that address is not mine. and after a re-scan I see it a watch-only.

kobik

Posted 2018-02-05T10:24:03.697

Reputation: 169

That's interesting, I would also have thought it should work. I'll wait for the answers.Willtech 2018-02-05T10:49:06.737

Just out of interest, what happens if you start Bitcoin Core also adding the -rescan parameter? - not sure how long it will take? In bitcoin-qt you might get a progress bar?Willtech 2018-02-05T10:52:45.237

@Willtech, -rescan did not made any difference.kobik 2018-02-05T11:56:41.710

Answers

3

In Bitcoin Core, the sending address refers to the address that you have saved as a "contact" in the client. You can save the address with a nickname eg. Coinbase address. The receiving address refers to the address which you can use to receive coins. The way Bitcoin works is that a transaction spends the unspent output from the receiving addresses. Hence, it depends on which receiving address you received coins from, your coin control and amount.

E.g. 1. If you receive 1BTC on 1AddressA and spend 1BTC in the client, the blockexplorer will identify the origin as 1AddressA. 2. If you receive 0.5BTC and 1 BTC on 1AddressA and 1AddressB respectively and you spend 0.5BTC, the blockexplorer will identify the sending address is 1AddressA. 3. If the scenario is the same as 2, and you spend 0.6BTC, the sending address will appear as from both and there will be another output going to another address in your client. It is called the change and the address isn't showed within the client. However, you can spend it in your next transaction, I don't know why there's no balance but what I know that the transaction to these addresses shouldn't appear as they are change addresses.

Why are they not on transactions list?

Because Bitcoin core using bip32 and change addresses transactions have different derive path.

Example

m / purpose' / coin_type' / account' / change / address_index Normal addresses path:

m/44'/0'/1'/0/i

Change addresses path:

m/44'/0'/1'/1/i

Adam

Posted 2018-02-05T10:24:03.697

Reputation: 3 215

1That is interesting but, doesn't tell the asker what happens if I send some BTC to a sending address from my wallet, instead of a receiving address.Willtech 2018-02-05T11:55:37.203

You will not be able to see any transaction, just the amount you received in your wallet balance.Adam 2018-02-05T12:06:45.200

@Adam thanks. problem is that I don't see any amount change in the wallet balance. Also getbalance RPC won't show any changeskobik 2018-02-05T13:48:48.093

1can you try bitcoin-cli importaddress "address" true This may take a long time since it will rescan the blockchain.Adam 2018-02-05T14:00:43.997

@Adam, Yep. that made Bitcoin core show these transactions as watch-only (what is that?...). Can you please explain what exactly happen with bitcoin-cli importaddress "address" true? will theses transactions never show unless you do the above?kobik 2018-02-05T15:00:11.887

Whether you've sent to an address that doesn't belong to you or for some reason the address was not added to your wallet. Please try to send what you have to another address, and you will figure out what happened.Adam 2018-02-05T15:06:39.720

@Adam, can I send it to my own wallet address? if I do, I get "Payment to yourself". I'm completely lost sorry. so the “Sending address” is the change address? Do I even need to create "Sending address” in my wallet? sorry for nagging.kobik 2018-02-05T15:15:51.920

You can send to any address you want, no worries at all. Yeah, its change address. Bitcoin core will create these addresses automatically when you're sending some payment. for instance, if you have 1 BTC and you're sending 0.4 BTC so 0.6 minus fee will become in change address.Adam 2018-02-05T15:27:10.937

Another thing that happened after the importaddress was that the "Sending address" moved to the "Receiving address" tab. and now I have no "Sending address" at all. go figure... sighkobik 2018-02-05T15:36:58.503

Yeah because it's added to receiving addresses after you imported it.Adam 2018-02-05T15:41:51.547

After digging some more, I don't think that the "Sending address" is a Change address at all. they are just the addressees you sent/d money to. can you prove me wrong?kobik 2018-02-06T14:04:52.420

Please read the first line of the answer.Adam 2018-02-06T14:25:14.633

@Adam, I did read it. but your answer also says that the sending address is the Change address. or did I misread it? I also asked you "so the “Sending address” is the change address?" - you answered "Yeah, its change address". How is that related to the "Sending Addresses"? Don't get me wrong, I'm grateful for you answer, but just can't see how Change is related!kobik 2018-02-06T15:16:45.597

In Bitcoin Core, the sending address refers to the address that you have saved as a "contact" in the client. So when you send to someone's address it will be in sending addresses. and like so the system does. when you have a change it the system will send it to change address and it will be in that category, don't confuse your self with that GUI stuff.Adam 2018-02-06T15:27:48.757