In some cases the transaction I am signing and sending gets retracted, but its my impression that they are usually included in a future block.

When using polkadot js with the promise api, if the transaction .isRetracted, will the callback still fire when its in block and/or finalized?

In this example, will the user be notified of finalized block in case of retracted?

tx.signAndSend(address, { signer }, (result: ISubmittableResult) => {
  if (result.status.isRetracted) {
    notify("retracted, taking longer than usual.")     
  if (result.status.isInBlock) {
  if (result.status.isFinalized) {

1 Answer 1


Afaik it should still fire for both InBlock and Finalized, as the extrinsic can and should be again included into another block, which than gets finalized.

The extrinsic is still valid, but was part of a block which not get finalized, therefore got into the Retracted state.

This accepted answer also states this behavior: https://substrate.stackexchange.com/a/8873/3983

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.