user2102: I am following the cardano developers tutorial to create NFT using Cardano-cli
At the end, when submitting the transaction I get the following error :

Command failed: transaction submit  Error: Error while submitting tx:
ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError
[UtxowFailure (WrappedShelleyEraFailure (UtxoFailure
(OutputTooSmallUTxO [(Addr Testnet (KeyHashObj (KeyHash
"a7102f357a41445de696f938ca97ebe94cc93ec7c587bee7374cffc7"))
StakeRefNull,Value 0 (fromList [(PolicyID {policyID = ScriptHash
"6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0"},fromList
[("NFT1",1)])]),SNothing)]))),UtxowFailure (WrappedShelleyEraFailure
(UtxoFailure (ValueNotConservedUTxO (Value 996981629 (fromList
[(PolicyID {policyID = ScriptHash
"6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0"},fromList
[("NFT1",1)])])) (Value 200000 (fromList [(PolicyID {policyID =
ScriptHash
"6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0"},fromList
[("NFT1",1)])])))))])

I have two questions :

Can someone help me to identify the error ?
Is there some documentation/tool somewhere to understand the cardano-cli errors ? I had some in the past and they are not indicative at all imo

Thank you so much

user4384: 1) You actually have 2 errors: OutputTooSmallUTxO, ValueNotConservedUTxO.
Error 1: OutputTooSmallUTxO
As mentioned here, it is right that minimum to send ADA is 1 ADA, but since you are sending an NFT, that requirement is roughly 1.4ish ADA on the minimum to attach when sending the NFT (as fee is calculated by size of transaction, check out here Minimum ADA for Token Bundles)
I'd suggest for now just say 1.6 ADA or just go with 2 ADA (2 000 000 lovelace) if you're on testnet if you just want it to work.
Error 2: ValueNotConservedUTxO
This stems from not balancing the transaction. You have to remember that everything that goes in, must go out. So if Anna has 50 ADA and 1 NFT, and wants to send 25 ADA to Bob, the resulting output would be 24 ADA and 1 NFT back to Anna | 25 ADA to Bob | 1 ADA for fee
2) For the errors, just keep reading into them as they explain themselves to an extent. Keep going into the parenthesis and it can help to separate it out by lines. Here is a good resource you can input the errors by specific name: IOHK lookup. You can match the error text to the CLI command you did (if you add your command it can explain better). Most errors are from not balancing the fees, which is sort of fixed with the new cardano-cli transaction build which includes fees and doesn't make you calculate them, but you still need to make sure the tokens are balanced as well (if minting new and all that).

2102: <p>I am following the cardano developers tutorial to <a href="https://developers.cardano.org/docs/native-tokens/minting-nfts" rel="nofollow noreferrer">create NFT using Cardano-cli</a></p>
<p>At the end, when submitting the transaction I get the following error :</p>
<blockquote>
<p>Command failed: transaction submit  Error: Error while submitting tx:
ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError
[UtxowFailure (WrappedShelleyEraFailure (UtxoFailure
(OutputTooSmallUTxO [(Addr Testnet (KeyHashObj (KeyHash
&quot;a7102f357a41445de696f938ca97ebe94cc93ec7c587bee7374cffc7&quot;))
StakeRefNull,Value 0 (fromList [(PolicyID {policyID = ScriptHash
&quot;6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0&quot;},fromList
[(&quot;NFT1&quot;,1)])]),SNothing)]))),UtxowFailure (WrappedShelleyEraFailure
(UtxoFailure (ValueNotConservedUTxO (Value 996981629 (fromList
[(PolicyID {policyID = ScriptHash
&quot;6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0&quot;},fromList
[(&quot;NFT1&quot;,1)])])) (Value 200000 (fromList [(PolicyID {policyID =
ScriptHash
&quot;6980e14a6a158448066df02b641657f798275ac1ea1177cf517180c0&quot;},fromList
[(&quot;NFT1&quot;,1)])])))))])</p>
</blockquote>
<p>I have two questions :</p>
<ol>
<li>Can someone help me to identify the error ?</li>
<li>Is there some documentation/tool somewhere to understand the cardano-cli errors ? I had some in the past and they are not indicative at all imo</li>
</ol>
<p>Thank you so much</p>
 4384: <p><strong>1)</strong> You actually have 2 errors: <em>OutputTooSmallUTxO</em>, <em>ValueNotConservedUTxO</em>.</p>
<h4>Error 1: OutputTooSmallUTxO</h4>
<p>As mentioned here, it is right that minimum to send ADA is 1 ADA, but since you are sending an NFT, that requirement is roughly 1.4ish ADA on the minimum to attach when sending the NFT (as fee is calculated by size of transaction, check out here <a href="https://mantis.functionally.io/how-to/min-ada-value/" rel="nofollow noreferrer">Minimum ADA for Token Bundles</a>)</p>
<p>I'd suggest for now just say 1.6 ADA or just go with 2 ADA (2 000 000 lovelace) if you're on testnet if you just want it to work.</p>
<h4>Error 2: ValueNotConservedUTxO</h4>
<p>This stems from not balancing the transaction. You have to remember that everything that goes in, must go out. So if Anna has 50 ADA and 1 NFT, and wants to send 25 ADA to Bob, the resulting output would be 24 ADA <strong>and</strong> 1 NFT back to Anna | 25 ADA to Bob | 1 ADA for fee</p>
<p><strong>2)</strong> For the errors, just keep reading into them as they explain themselves to an extent. Keep going into the parenthesis and it can help to separate it out by lines. Here is a good resource you can input the errors by specific name: <a href="https://iohk.zendesk.com/hc/en-us/articles/900001220843-Transaction-errors-ValueNotConservedUTxO" rel="nofollow noreferrer">IOHK lookup</a>. You can match the error text to the CLI command you did <em>(if you add your command it can explain better).</em> Most errors are from not balancing the fees, which is sort of fixed with the new <em><strong>cardano-cli transaction build</strong></em> which includes fees and doesn't make you calculate them, but you still need to make sure the tokens are balanced as well (if minting new and all that).</p>
