What are possible explanations why sub subxt::tx::TxStatus::Invalid

The documentation is very brief about it:


The transaction is no longer valid in the current state.

Could someone please elaborate on what could be possible causes to why this happens sometimes?

This is on a parachain if that is relevant, when I saw it last time my system submitted about 10 big extrinsics (of which five will fit in a block, to make sure most blocks are filled with useful data) and suddenly all of them where returned as Invalid. A few moments later every thing returned to normal and submitting 10-15 extrinsics at a time was no longer a problem. In the blocks where the rejected extrinsics should been included I noticed two other transactions from other accounts on the chain but that should not cause any problems, should it?

Anyhow what could be plausible explanations?

  • This is probably not related to either subxt nor the parachain system, but we need a starting point. Feel free to add some better tags and/or help me edit and improve the question
    – Simson
    Feb 6, 2023 at 1:31

1 Answer 1


The transaction status is coming from substrate directly, subxt is just forwarding the result back to users.

In substrate, it is defined as TransactionStatus. Subxt calls into the watch_extrinsic RPC method that should provide a stream of TransactionStatus.

I think the transaction could be marked as invalid by the runtime (probably in the case of a runtime upgrade), or by the tx-pool.

  • Thanks these are valuable clues to the root souce, there is no runtime upgrade going on at this time so I think the tx-pool is where we should focus.
    – Simson
    Feb 7, 2023 at 0:23
  • To add; I think the Invalid state is probably some custom logic that the parachain will choose in order to decide whether some transaction makes sense or not at that time, so perhaps it's also worth reaching out / tagging the specific parachain team in question as well to ask; an example with the extrinsic you tried submitting might help them also :)
    – jsdw
    Feb 7, 2023 at 10:35
  • @jsdw that would be me then;-)
    – Simson
    Feb 7, 2023 at 11:53
  • 1
    Aha, perfect :)
    – jsdw
    Feb 9, 2023 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.