<p>Cardano utilizes a UTXO-style accounting model (similar to bitcoin, but with extra features), as opposed to an accounting model, like what Ehtereum uses. <a href="https://academy.glassnode.com/concepts/utxo" rel="nofollow noreferrer">Here</a> is a quick overview of the differences.</p>
<p>In short, a UTXO is an output of a previous transaction that &quot;sits and waits&quot; at an address to be used as an input for a future transaction. It is analogous to how cash works; if I send you 30 ADA, you can almost imagine that a 30-ADA &quot;bill&quot; (think dollar-bill = UTXO) is created at your address. If you now want to spend this 30-ADA UTXO, you <em>cannot</em> rip off a piece of it anymore than you could rip off a piece of a dollar bill when you want to spend it. Instead, you spend the entire bill, and receive change back in the form of smaller denomination bills. UTXO's work the same way.</p>
<p>In your case, you had a 36 ADA UTXO in your Yoroi wallet, and you wanted to send 1 ADA to your CLI wallet. Yoroi automatically created a transaction with 1 input (the original 36-ADA UTXO), and two outputs (1-ADA UTXO to the CLI wallet, and 35-ADA UTXO sent back as &quot;change&quot; to your Yoroi wallet). Wallet software like Yoroi makes such change management simple and user friendly; it auto-generates a change address for your wallet and send your change there as one of the TX-outputs.</p>
<p>If you now try sending funds from the CLI wallet you'll have to build the full transaction manually, which is a great way to get a feel for how UTXO accounting works.</p>

CC BY-SA 4.0
2022-01-14T16:29:19.937Z
Thanks, but why the change address is different from the first one? I mean, I had 36 ADA in my wallet at first and transferred one of them to somewhere else. So isn't it more logical to send back the 35 ADA to my first address?
Foad
CC BY-SA 4.0
2022-01-14T16:33:32.383Z
This is possible - in fact you can do this yourself if you use the CLI method. However, it is not done by default for privacy reasons - there is no public-facing cryptographic link between your original address and your change address, so this greatly obfuscates the movement of funds. (Note: staking keys complicate things though, but if we leave that aside, change addresses have virtually zero downside and a great privacy upside)
zhekson
CC BY-SA 4.0
2022-01-14T16:24:03.867Z
2022-01-14T19:18:39.010Z
2022-01-14T19:18:39.010Z
zhekson
<p>Yoroi follows the same nomenclature that cardano-wallet does with change addresses. A number of other wallets (adalite, typhon and my python wrapper wallet <a href="https://github.com/input-output-hk/adawallet" rel="nofollow noreferrer">https://github.com/input-output-hk/adawallet</a> re-use the same address as the change address).</p>
<p>The way it works is explained here in detail: <a href="https://github.com/cardano-foundation/CIPs/tree/master/CIP-1852" rel="nofollow noreferrer">https://github.com/cardano-foundation/CIPs/tree/master/CIP-1852</a></p>
<p>Addresses are derived from the root key that comes from the mnemonic of your wallet. Receiving payment keys use the derivation path: <code>1852H/1815H/0H/0/0</code>. However change addresses are derived from <code>1852H/1815H/0H/1/0</code>. The stake key (currently) is always: 1852H/ 1815H/0H/2/0`.</p>
<p>So essentially anytime you send a tx, it will generate a new address not in the receiving address path and send the change to that address.</p>

CC BY-SA 4.0
2022-01-15T03:53:31.107Z
2022-01-15T03:53:31.107Z
Samuel Leathers
<p>I made an address with <code>cardano-cli</code> (<a href="https://cardanoscan.io/address/017786b68cbc466fc1f44c1c5893a81bcf7dbbd88d4abbbf72e770f2fcfb49093c6f3603a0775c3618054786e767fe1be80c8db77844960dc2" rel="nofollow noreferrer">here</a>) and I funded it from my Yoroi wallet, but I don't know where this change address came from. Shouldn't the change address be the input itself or Am I missing something here? (<a href="https://cardanoscan.io/transaction/000661f8774ede3393c36e378627f83cf03528f40da2619d03fe511924454566" rel="nofollow noreferrer">transaction</a>)</p>

<cardano-cli><transaction><address>
Change Address in transaction
# Change Address in transaction

(Asked by: username_0 on 2022-01-14)

I made an address with `cardano-cli` ([here](https://cardanoscan.io/address/017786b68cbc466fc1f44c1c5893a81bcf7dbbd88d4abbbf72e770f2fcfb49093c6f3603a0775c3618054786e767fe1be80c8db77844960dc2)) and I funded it from my Yoroi wallet, but I don't know where this change address came from. Shouldn't the change address be the input itself or Am I missing something here? ([transaction](https://cardanoscan.io/transaction/000661f8774ede3393c36e378627f83cf03528f40da2619d03fe511924454566))

**Tags:** cardano-cli, transaction, address

---

## 2 answers

### Answer by username_1 on 2022-01-14. Score: 3 | Accepted answer

Cardano utilizes a UTXO-style accounting model (similar to bitcoin, but with extra features), as opposed to an accounting model, like what Ehtereum uses. [Here](https://academy.glassnode.com/concepts/utxo) is a quick overview of the differences.

In short, a UTXO is an output of a previous transaction that "sits and waits" at an address to be used as an input for a future transaction. It is analogous to how cash works; if I send you 30 ADA, you can almost imagine that a 30-ADA "bill" (think dollar-bill = UTXO) is created at your address. If you now want to spend this 30-ADA UTXO, you *cannot* rip off a piece of it anymore than you could rip off a piece of a dollar bill when you want to spend it. Instead, you spend the entire bill, and receive change back in the form of smaller denomination bills. UTXO's work the same way.

In your case, you had a 36 ADA UTXO in your Yoroi wallet, and you wanted to send 1 ADA to your CLI wallet. Yoroi automatically created a transaction with 1 input (the original 36-ADA UTXO), and two outputs (1-ADA UTXO to the CLI wallet, and 35-ADA UTXO sent back as "change" to your Yoroi wallet). Wallet software like Yoroi makes such change management simple and user friendly; it auto-generates a change address for your wallet and send your change there as one of the TX-outputs.

If you now try sending funds from the CLI wallet you'll have to build the full transaction manually, which is a great way to get a feel for how UTXO accounting works.

> **Comments:**
> **username_0**: Thanks, but why the change address is different from the first one? I mean, I had 36 ADA in my wallet at first and transferred one of them to somewhere else. So isn't it more logical to send back the 35 ADA to my first address?  
> **username_1**: This is possible - in fact you can do this yourself if you use the CLI method. However, it is not done by default for privacy reasons - there is no public-facing cryptographic link between your original address and your change address, so this greatly obfuscates the movement of funds. (Note: staking keys complicate things though, but if we leave that aside, change addresses have virtually zero downside and a great privacy upside)  

---

### Answer by username_2 on 2022-01-15. Score: 1

Yoroi follows the same nomenclature that cardano-wallet does with change addresses. A number of other wallets (adalite, typhon and my python wrapper wallet <https://github.com/input-output-hk/adawallet> re-use the same address as the change address).

The way it works is explained here in detail: <https://github.com/cardano-foundation/CIPs/tree/master/CIP-1852>

Addresses are derived from the root key that comes from the mnemonic of your wallet. Receiving payment keys use the derivation path: `1852H/1815H/0H/0/0`. However change addresses are derived from `1852H/1815H/0H/1/0`. The stake key (currently) is always: 1852H/ 1815H/0H/2/0`.

So essentially anytime you send a tx, it will generate a new address not in the receiving address path and send the change to that address.


---

