<p>Generally payment addresses and change addresses are drawn from separate key derivation chains (cfr. BIP32, which suggests using derivation paths ending in <code>.../0/*</code> for payment addresses and <code>.../1/*</code> for change addresses). There are multiple reasons for this:</p>
<ul>
<li>Change addresses can function with lower gap limits (number of unused addresses between used ones), as you're always creating the outputs yourself immediately after choosing them, while payment addresses can remain unused as long as a payment is outstanding. That said, in practice, it appears most systems use identical gap limits for both.</li>
<li>Separating the paths means it is possible to reveal to e.g. an auditor your incoming payments without revealing the outgoing ones. While possible, I have not heard about anyone using this possibility in practice.</li>
</ul>
<p>If the hardware wallet is telling you what the total sent amount is, it means it performed analysis that the change is in fact change. Otherwise it would be treated as outgoing money.</p>

CC BY-SA 4.0
2021-12-10T20:52:36.097Z
2021-12-10T20:52:36.097Z
Pieter Wuille
<p>When signing a transaction on my coldcard, I see a change address that is not listed (at least on the first 30 addresses) on my coldcard. I believe coldcard would only allow me to sign a transaction to a change back address that I own, but how do I know that I own this? It's not listed on the addresses list, maybe possibly because the change back is generated in another way so it does not waste my pre-generated addresses.</p>

<transactions><wallet><hardware-wallet><coldcard>
When using a hardware wallet, how do I know that the change address is one that I own?
Guerlando OCs
# When using a hardware wallet, how do I know that the change address is one that I own?

(Asked by: username_0 on 2021-12-10)

When signing a transaction on my coldcard, I see a change address that is not listed (at least on the first 30 addresses) on my coldcard. I believe coldcard would only allow me to sign a transaction to a change back address that I own, but how do I know that I own this? It's not listed on the addresses list, maybe possibly because the change back is generated in another way so it does not waste my pre-generated addresses.

**Tags:** transactions, wallet, hardware-wallet, coldcard


---

## 1 answers

### Answer by username_1 on 2021-12-10. Score: 1 | Accepted answer

Generally payment addresses and change addresses are drawn from separate key derivation chains (cfr. BIP32, which suggests using derivation paths ending in `.../0/*` for payment addresses and `.../1/*` for change addresses). There are multiple reasons for this:

* Change addresses can function with lower gap limits (number of unused addresses between used ones), as you're always creating the outputs yourself immediately after choosing them, while payment addresses can remain unused as long as a payment is outstanding. That said, in practice, it appears most systems use identical gap limits for both.
* Separating the paths means it is possible to reveal to e.g. an auditor your incoming payments without revealing the outgoing ones. While possible, I have not heard about anyone using this possibility in practice.

If the hardware wallet is telling you what the total sent amount is, it means it performed analysis that the change is in fact change. Otherwise it would be treated as outgoing money.


---

