Every blockchain has different implementations of a transaction pool, which does the job of checking transaction validity before transactions are included by block authors. In Substrate it is possible to implement custom transaction validation logic as well as how transaction priority is defined.

I understand that this is possible by implementing runtime APIs that check for certain requirements defined in the runtime. But I wonder what on the client side makes Substrate's transaction pool modular and extensible ?

1 Answer 1


In my opinion, what makes the implementation of Substrate's transaction pool unique is the concept of Signed Extensions. Developers can use the signed extensions to add any custom logic prior to including or dispatching a specific transaction/extrinsic in their Substrate based chains. You can refer to this doc to learn about what functions this trait exposes in order to do this.

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.