tl;dr use an address from the new wallet as the change address for your tx
Sometimes you need to migrate wallets. For example, when moving from single sig to multisig. Or perhaps you had older UTXOs and want to migrate them to SegWit. If that's your case, this might help you.
  1. Wait until you need to make a bitcoin transaction (e.g. you bought something or, God forbid, you sold some BTC), let's say you need to send 1mBTC
  2. Instead of sending funds to bc1destination and letting the wallet pick a change address, make it a transaction with two outputs yourself, having the second destination be an address from your new wallet
  3. To do that, pick your fattest address, e.g. 10mBTC
  4. Subtract from it the amount you need to send to the destination, e.g. 10mBTC - 1mBTC = 9mBTC
  5. Subtract from it the amount of fees you need to pay, let's say 9mBTC - 0.06mBTC = 8.94mBTC
  6. Now your tx should look like this bc1destination,1.00000 | bc1newwallet,8.94000, meaning the remaining coins will be used as fee
  7. Sign and broadcast
  8. Once confirmed, destination should've received 1mBTC and the new wallet should've received 8.94mBTC
Make sure to properly label your transaction in the new wallet for proper coin control hygiene.
Very good advice. Only one mention: stop using mBTC. Is confusing for many noibs and could end in bad mistakes. Just use BTC or sats.
reply
10 sats \ 0 replies \ @o OP 22 Mar
Thanks!
reply