How to creating a Custom Change Address
You may have noticed that when you send Noir to another wallet, the transaction details and blockchain explorer return change to your wallet using a different address. The reason for this is the input and output approach to transactions in a blockchain. When you send a transaction, it references the block in which you received those funds. For example, let's say you have two transactions. A deposit to your wallet of 10 Noir and a withdraw of 2 Noir . When you send the 2 Noir , the deposit (input) of 10 Noir will be used, giving 8 Noir back in change. If you do not specify the change address, a random address is generated in the wallet.
As of Noir wallet version 188.8.131.52, you can configure what address you would like change to go to. For example, perhaps you want to use a single address in your wallet and you want all change to be deposited back to that single address. This guide will demonstrate how to do so.
To begin, launch the Noir Core desktop wallet on your platform.
1.) Click on the ‘Noir Core‘ menu on the top left of the window, then go to the ‘Settings’ menu (or ‘Preferences’ if you are on Mac)
2.) Select the ‘wallet’ tab and check the ‘enable coin control features’ box
3.) Go to the send tab and click the settings icon (circled in red below)
4.) Select which coins you want to send (checkboxes correlate to addresses), then click ‘OK’
5.) If you want to specify the change to where those spends get sent to (a specified address instead of a random one in the wallet.dat), click the transaction menu (circled below in red) by the top right of the send screen
This dialog box will pop up
6.) Select the “Custom change address” checkbox and paste the address from your wallet that you want to use and click ‘OK’
Now you are all done, and all change will be sent to that specified address.
Note: When you send a transaction in the blockchain, it references the block where you have that money (i.e. which block you received those funds from), then it uses all of those funds to send to your current send address and it takes the difference to throw back into your wallet (a random key if you do not specify).