# :DE: ValueNotConservedUTxO: Fehler obwohl Input / Output gleich sind

**URL:** https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267
**Category:** Probleme
**Created:** [10 February 2023 13:54 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267 "2023-02-10T13:54:03Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![kraehemp](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/kraehemp/32/39018_2.png) [@kraehemp](https://forum.cardano.org/u/kraehemp)
#### Post date: [10 February 2023 13:54 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/1 "2023-02-10T13:54:03Z")

</div>

Liebe Community

Zurzeit kämpfe ich damit, eine einfache Transaktion durchzuführen oder Pool-Rewards zu claimen.  
Ich benutze die Anleitung von CoinCash, was bis anhin ohne Probleme geklappt hat.

> **[Claiming Stake Pool Rewards](https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node/part-iv-administration/claiming-stake-pool-rewards)**

> **[Submitting a Simple Transaction](https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node/part-v-tips/submitting-a-simple-transaction)**

Was sich noch gegenüber früher geändert hat, das noch ein NFT in meinem Wallet drin ist.  
Wenn ich nach Anleitung die Transaktion durchführe, erhalte ich folgenden Fehler:

Command failed: transaction submit Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (UtxoFailure (FromAlonzoUtxoFail (ValueNotConservedUTxO (Value 3778502693 (fromList [(PolicyID {policyID = ScriptHash “b8e9005a83627a130ec020b4a0ed5f73984a01f2fb5ad7bf16c74359”},fromList [(6b72616568656d70,1)])])) (Value 3778502693 (fromList )))))])

Der Fehler “ValueNotConservedUTxO” sagt gemäss Cardano aus, das Input != Output sein soll.  
Dies ist aber hier nicht der Fall. Die Berechnung scheint zu stimmen, da diese Beträge im Stacktrace gleich sind (grün markiert).

 ![ValueNotConservedUTxO](https://us1.discourse-cdn.com/flex023/uploads/cardano/original/3X/b/4/b4c235dc3df852754100198ffbcf81e8a47ce838.png)

Was aber glaube ich den Fehler verursacht, ist der rote markierte Teil. Ich kann aber nicht genau sagen, was genau den Fehler verursacht. Dieser Rote markierte Teil ist ein Teil von einer Policy-ID des NFT.

 ![balanceOut](https://us1.discourse-cdn.com/flex023/uploads/cardano/original/3X/7/7/772baf17b0db9dd73eaf564a754d1b2e781c9376.png)

afc9e8d5b5081d79591ecef2c4e4e9585c0f547707c3ec0533ff16098a5208fe 0 3416163484 lovelace + TxOutDatumNone  
afc9e8d5b5081d79591ecef2c4e4e9585c0f547707c3ec0533ff16098a5208fe 1 1400000 lovelace + 1 b8e9005a83627a130ec020b4a0ed5f73984a01f2fb5ad7bf16c74359.6b72616568656d70 + TxOutDatumNone

Ist das Script von CoinCash falsch oder wie muss ich eine manuelle Transaktion anpassen, damit dieser Fehler nicht mehr auftaucht?

UTXO-details:  
[https://cexplorer.io/address/addr1q83ggfaw3mvcg8jgm8087kpfec63tyg373m3ne3wq74drgf3mvkku4877zq4sl8zs8hm32crx2edzxjqnfffe903ekrsk4r7nx/utxo#data](https://cexplorer.io/address/addr1q83ggfaw3mvcg8jgm8087kpfec63tyg373m3ne3wq74drgf3mvkku4877zq4sl8zs8hm32crx2edzxjqnfffe903ekrsk4r7nx/utxo#data)

Beste Grüsse

---

<div class="post-metadata">

### Author: ![HeptaSean](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/heptasean/32/82306_2.png) [@HeptaSean](https://forum.cardano.org/u/HeptaSean)
#### Post date: [10 February 2023 14:18 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/2 "2023-02-10T14:18:57Z")

</div>

> [@kraehemp](#):
>
> Der Fehler “ValueNotConservedUTxO” sagt gemäss Cardano aus, das Input != Output sein soll.  
> Dies ist aber hier nicht der Fall. Die Berechnung scheint zu stimmen, da diese Beträge im Stacktrace gleich sind (grün markiert).
> 
> ![ValueNotConservedUTxO](https://us1.discourse-cdn.com/flex023/uploads/cardano/original/3X/b/4/b4c235dc3df852754100198ffbcf81e8a47ce838.png)
> 
> Was aber glaube ich den Fehler verursacht, ist der rote markierte Teil. Ich kann aber nicht genau sagen, was genau den Fehler verursacht. Dieser Rote markierte Teil ist ein Teil von einer Policy-ID des NFT.
> 
> ![balanceOut](https://us1.discourse-cdn.com/flex023/uploads/cardano/original/3X/7/7/772baf17b0db9dd73eaf564a754d1b2e781c9376.png)

Hast Du richtig erkannt. “Value” sind nicht nur die ADA, sondern auch die Native Token. Wenn im Input welche sind (oder gemintet werden), müssen sie auch im Output sein (oder verbrannt werden).

> [@kraehemp](#):
>
> Ist das Script von CoinCash falsch oder wie muss ich eine manuelle Transaktion anpassen, damit dieser Fehler nicht mehr auftaucht?

Naja, falsch nicht wirklich. Sie gehen halt davon aus, dass ein SPO keine komischen Native Token auf seinen Stake-Pool-Verwatltungs-Adressen rumfliegen hat.

Und statt zu erklären, was Du machen musst, nämlich alles (inklusive Native Token) aus den Inputs aufaddieren und dann auf Outputs und Fee verteilen, geben sie Dir diesen `while read -r utxo; do`-Code-Schnipsel zum Kopieren, den kaum jemand versteht und der halt nur mit reinen ADA klar kommt.

Füge einfach das NFT einem der Outputs hinzu, damit es auch irgendwohin gesendet wird.

---

<div class="post-metadata">

### Author: ![HeptaSean](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/heptasean/32/82306_2.png) [@HeptaSean](https://forum.cardano.org/u/HeptaSean)
#### Post date: [10 February 2023 14:55 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/3 "2023-02-10T14:55:05Z")

</div>

> [@HeptaSean](#):
>
> Füge einfach das NFT einem der Outputs hinzu, damit es auch irgendwohin gesendet wird.

Okay, „einfach“ ist vielleicht ein bisschen übertrieben, also lieber nochmal im Detail:

Eine `--tx-out`-Option wird zusammengesetzt aus:

```auto
--tx-out <Adresse>+<Lovelace>+<Anzahl> <Policy-ID>.<Name in Hex>+<Anzahl> <Policy-ID>.<Name in Hex>+…

```

Das ist, was die Coincashew-Anleitung mit

```auto
--tx-out $(cat payment.addr)+${txOut} \

```

macht. Da sie sich nicht um Native Token kümmert, ist es halt ein bisschen einfacher und sie müssen nur die Anzahl Lovelace aus der Variable `${txOut}` hinzufügen.

Das kannst Du, da es nur ein Token ist, relativ leicht ersetzen durch:

```auto
--tx-out "$(cat payment.addr)+${txOut}+1 b8e9005a83627a130ec020b4a0ed5f73984a01f2fb5ad7bf16c74359.6b72616568656d70" \

```

Da müssen jetzt Anführungszeichen drumrum, weil zwischen der Anzahl (`1`) und der Policy-ID (`b8e9…4359`) ein Leerzeichen ist und Deine Shell das sonst als zwei getrennte Argumente an `cardano-cli` geben würde, womit das dann nichts anfangen kann.

Das sollte die Transaktion in diesem Fall schon reparieren. Achte darauf, dass Du das sowohl beim ersten `build-raw` vor der Berechnung der Fee als auch beim zweiten, der dann die endgültige Transaktion baut, machen musst. Das verändert die Größe der Transaktion und damit die Fee wohl doch schon wesentlich.

---

<div class="post-metadata">

### Author: ![HeptaSean](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/heptasean/32/82306_2.png) [@HeptaSean](https://forum.cardano.org/u/HeptaSean)
#### Post date: [10 February 2023 15:05 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/4 "2023-02-10T15:05:03Z")

</div>

Alternative: Du lässt das NFT mit seinen 1,4 ADA einfach da, wo es gerade ist.

Coincashew’s Anleitung sammelt einfach stupide alle UTxOs ein und benutzt sie alle. Das muss man nicht machen.

Man kann sich auch die UTxOs selbst angucken und nur genug für das, was man machen möchte, auswählen.

In Deinem Fall sollte der andere UTxO locker reichen.

Wenn Du also Coincashew’s

```auto
${tx_in} \

```

durch

```auto
--tx-in afc9e8d5b5081d79591ecef2c4e4e9585c0f547707c3ec0533ff16098a5208fe#0 \

```

ersetzt und statt

```auto
cardano-cli query utxo \
    --address $(cat payment.addr) \
    --mainnet > fullUtxo.out
​
tail -n +3 fullUtxo.out | sort -k3 -nr > balance.out
​
cat balance.out
​
tx_in=""
total_balance=0
while read -r utxo; do
    in_addr=$(awk '{ print $1 }' <<< "${utxo}")
    idx=$(awk '{ print $2 }' <<< "${utxo}")
    utxo_balance=$(awk '{ print $3 }' <<< "${utxo}")
    total_balance=$((${total_balance}+${utxo_balance}))
    echo TxHash: ${in_addr}#${idx}
    echo ADA: ${utxo_balance}
    tx_in="${tx_in} --tx-in ${in_addr}#${idx}"
done < balance.out
txcnt=$(cat balance.out | wc -l)
echo Total ADA balance: ${total_balance}
echo Number of UTXOs: ${txcnt}

```

von Hand

```auto
total_balance=3416163484
txcnt=1

```

setzt, wird nur Dein erster UTxO verwendet und der weitere Verlauf der Coincashew-Anleitung sollte trotzdem genau so funktionieren.

---

<div class="post-metadata">

### Author: ![kraehemp](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/kraehemp/32/39018_2.png) [@kraehemp](https://forum.cardano.org/u/kraehemp)
#### Post date: [10 February 2023 15:27 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/5 "2023-02-10T15:27:47Z")

</div>

Super 🙂 Hat wunderbar so geklappt.  
Vielen Dank für die Unterstützung.

---

<div class="post-metadata">

### Author: ![HeptaSean](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/heptasean/32/82306_2.png) [@HeptaSean](https://forum.cardano.org/u/HeptaSean)
#### Post date: [10 February 2023 15:39 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/6 "2023-02-10T15:39:56Z")

</div>

Hoffe, die Erklärungen sind ausreichend, dass es auch nächstes Mal wieder klappt. Sonst einfach nachfragen!

---

<div class="post-metadata">

### Author: ![kraehemp](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/kraehemp/32/39018_2.png) [@kraehemp](https://forum.cardano.org/u/kraehemp)
#### Post date: [10 February 2023 15:54 UTC](https://forum.cardano.org/t/valuenotconservedutxo-fehler-obwohl-input-output-gleich-sind/114267/7 "2023-02-10T15:54:40Z")

</div>

Dies hat wunderbar geholfen für das bessere Verständnis.  
Ich hatte aus Testzwecken ein NFT erzeugt, was mir nun zum Verhängnis wurde 😃
