I'm using a niche language that doesn't have an existing solana library, thus needing to write my own transaction confirmation logic.

This github issue documents what the new approach for both the ts/rust libraries.

I'm now using signatureSubscribe, with getSignatureStatuses as a backup, but how do I know when a transaction is valid from getSignatureStatuses?
I'm currently retrying getSignatureStatuses until either a timeout occurs (when the blockheight is no longer valid), or the confirmationStatus is "finalized".

Is it incorrect to always wait for the transaction to be "finalized"? Can I wait until it's "confirmed" instead, since a confirmed transaction cannot be rolled-back?

1 Answer 1


You can wait until the transaction 'confirmed'. The situation that confirmed transaction could be rolled back is if the network operator agree to restart the network.

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.