<p>In theory no; In practice maybe.</p>
<p>If min ada is not present in each output then the Tx will fail regardless of validator.</p>
<p>But. Min ada as implemented in Plutus is hardcoded to 2 ada. This is not how min ada works. Min ada is calculated against the size (of data) of the utxo. More than three NFTs? that'll be more than 2 Ada  required in the same utxo.</p>
<p>If your using constraints then you'll need to bear this in mind,
since these details may really matter <a href="https://github.com/input-output-hk/plutus-apps/blob/c4cc9ee1add8f421e57789befb6a0c90621801f1/plutus-ledger-constraints/src/Ledger/Constraints/OnChain.hs#L123" rel="nofollow noreferrer">https://github.com/input-output-hk/plutus-apps/blob/c4cc9ee1add8f421e57789befb6a0c90621801f1/plutus-ledger-constraints/src/Ledger/Constraints/OnChain.hs#L123</a></p>
<p>How to calculate min ada is a bit convoluted. Why isnt a function in plutus-apps for it? No idea. Why wasn't it implemented properly... ?</p>
<p>You can extract the logic from here <a href="https://docs.cardano.org/native-tokens/minimum-ada-value-requirement/" rel="nofollow noreferrer">https://docs.cardano.org/native-tokens/minimum-ada-value-requirement/</a></p>

CC BY-SA 4.0
2022-05-27T08:37:13.293Z
2022-05-27T08:37:13.293Z
waalge
<p>I have a spending validator that currently expects an output with an NFT to be recreated at its own address.
Is it necessary to also include a check whether the output's value has a greater equal ADA balance of <code>minAdaTxOut</code> (<a href="https://playground.plutus.iohkdev.io/doc/haddock/plutus-ledger/html/Ledger.html#v:minAdaTxOut" rel="nofollow noreferrer">minAdaTxOut Reference</a>)</p>
<p>Or is this done by the 2 phase node validation process?</p>

<plutus><utxo><tx><minadatxout><output>
Do I need to validate for minADAUTxO output in Smart Contract validator?
# Do I need to validate for minADAUTxO output in Smart Contract validator?

(Asked by: username_0 on 2022-05-25)

I have a spending validator that currently expects an output with an NFT to be recreated at its own address.
Is it necessary to also include a check whether the output's value has a greater equal ADA balance of `minAdaTxOut` ([minAdaTxOut Reference](https://playground.plutus.iohkdev.io/doc/haddock/plutus-ledger/html/Ledger.html#v:minAdaTxOut))

Or is this done by the 2 phase node validation process?

**Tags:** plutus, utxo, tx, minadatxout, output

---

## 1 answers

### Answer by username_1 on 2022-05-27. Score: 1

In theory no; In practice maybe.

If min ada is not present in each output then the Tx will fail regardless of validator.

But. Min ada as implemented in Plutus is hardcoded to 2 ada. This is not how min ada works. Min ada is calculated against the size (of data) of the utxo. More than three NFTs? that'll be more than 2 Ada required in the same utxo.

If your using constraints then you'll need to bear this in mind,
since these details may really matter <https://github.com/input-output-hk/plutus-apps/blob/c4cc9ee1add8f421e57789befb6a0c90621801f1/plutus-ledger-constraints/src/Ledger/Constraints/OnChain.hs#L123>

How to calculate min ada is a bit convoluted. Why isnt a function in plutus-apps for it? No idea. Why wasn't it implemented properly... ?

You can extract the logic from here <https://docs.cardano.org/native-tokens/minimum-ada-value-requirement/>


---

