I remember reading (in the whitepaper) that Radix uses deterministic consensus, as opposed to Ethereum and many other networks which use probabilistic consensus. So, as long as a transaction is valid (it can actually be submitted because the recipient is valid, the amount of tokens sending is valid, etc.) can it ever fail for any reason?
When submitting transactions through the API they get rejected before actually being sent to the network if they’re invalid e.g. if you don’t have enough XRD. Is there a situation where, say you were using the Core API https://raw.githubusercontent.com/radixdlt/radixdlt/1.2.2/radixdlt-core/radixdlt/src/main/java/com/radixdlt/api/core/api.yaml instead of the Gateway, where you could submit a transaction to the network but it gets rejected/reversed/fails?