<p>If I got you right, you are asking if both of the following statements are true:</p>
<ol>
<li>Transaction is successful -&gt; all validators were successful,
and also</li>
<li>All validators were successful -&gt; transaction is successful</li>
</ol>
<p>Statement 1) is clearly true. Statement 2) is also true as all other conditions that need to be met are checked before the validators are run, which means that when the validators are run, only their failure can make the transaction invalid.</p>
<p>An article from Polina Vinogradova on <a href="http://www.iohk.io" rel="nofollow noreferrer">www.iohk.io</a> explains the validation process in a very good way. Quoting:</p>
<blockquote>
<p>Transaction validation on Cardano is divided into two phases. The main reason for introducing two-phase validation is to limit the amount of uncompensated validation work by nodes. Each phase serves a purpose in achieving this goal. Roughly speaking, the first phase checks whether the transaction is constructed correctly and can pay its processing fee. The second phase runs the scripts included in the transaction. If the transaction is phase-1 valid, phase-2 scripts run. If phase-1 fails, no scripts run, and the transaction is immediately discarded.</p>
</blockquote>
<p>(see: <a href="https://iohk.io/en/blog/posts/2021/09/07/no-surprises-transaction-validation-part-2/" rel="nofollow noreferrer">https://iohk.io/en/blog/posts/2021/09/07/no-surprises-transaction-validation-part-2/</a>)</p>

CC BY-SA 4.0
2021-12-13T23:05:29.583Z
2021-12-13T23:05:29.583Z
Jey
<p>Yes. The transaction will be treated as atomic. If one of the inputs are unspendable, the tx will fail.</p>

CC BY-SA 4.0
2021-12-13T22:41:40.433Z
2021-12-13T22:41:40.433Z
Mitchell Turner
<p>I have a transaction with many validators and I want to rule out a possible error.</p>

<plutus>
Can I always imply that **if** a transaction was successful, all validators from all inputs were successful?
# Can I always imply that **if** a transaction was successful, all validators from all inputs were successful?

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

I have a transaction with many validators and I want to rule out a possible error.

**Tags:** plutus

---

## 2 answers

### Answer by username_1 on 2021-12-13. Score: 2 | Accepted answer

If I got you right, you are asking if both of the following statements are true:

1. Transaction is successful -> all validators were successful,
   and also
2. All validators were successful -> transaction is successful

Statement 1) is clearly true. Statement 2) is also true as all other conditions that need to be met are checked before the validators are run, which means that when the validators are run, only their failure can make the transaction invalid.

An article from Polina Vinogradova on [www.iohk.io](http://www.iohk.io) explains the validation process in a very good way. Quoting:

> Transaction validation on Cardano is divided into two phases. The main reason for introducing two-phase validation is to limit the amount of uncompensated validation work by nodes. Each phase serves a purpose in achieving this goal. Roughly speaking, the first phase checks whether the transaction is constructed correctly and can pay its processing fee. The second phase runs the scripts included in the transaction. If the transaction is phase-1 valid, phase-2 scripts run. If phase-1 fails, no scripts run, and the transaction is immediately discarded.

(see: <https://iohk.io/en/blog/posts/2021/09/07/no-surprises-transaction-validation-part-2/>)


---

### Answer by username_2 on 2021-12-13. Score: 0

Yes. The transaction will be treated as atomic. If one of the inputs are unspendable, the tx will fail.


---

