I have a question about submitting transactions with high sequence. Say Account 'A' has a sequence of 100.

When I tried to made a raw transaction with signing and submitted from account A with sequence 102, I got the result 'tx_bad_seq' as I expected.

But I found the docs, and Its saying made me confused.

"There is one exception: a transaction that fails with the tx_bad_seq result code (as expressed in the result_code field of the error) may become valid in the future if the sequence number it used was too high." (https://developers.stellar.org/api/errors/http-status-codes/horizon-specific/transaction-failed/)

yup. If I tried to submit the '101' transaction first successfully, the '102' transaction may get success too. I'm still wondering if there's no chance that 102 will succeed without re-submitting 102 when sending 102 without 101 and it fails. Doesn't the XLM node allow any 'sequence gap'? Sometimes, Some coin nodes allow that by queuing the '102' transaction until the '101' transaction is submitted. in the XLM case, when it gets a result of 'tx_bad_seq', is the submitting get fail 100%?


If you've gotten back a tx_bad_seq, that transaction is fully failed. The node does not cache or store that transaction. It will have to be re-submitted once the sequence number is correct.

There is one special case to this. If your account sequence is S, and you submit S+2, the Horizon HTTP API will wait for up to 30s before responding. If S+1 is received in that time window, both S+1, and S+2 will be processed and both HTTP requests will get a successful response. Alternatively, if the 30s window passes, the S+2 request will receive a tx_bad_seq response, which means the S+2 transaction was rejected, and should be resubmitted later (once S has increased).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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