Just for curiosity!

In what conditions we can use Inherent transactions?


1 Answer 1


With this type of transaction, block authoring nodes can add information directly to a block. Inherent transactions can only be inserted into a block by the block authoring node that calls them. Typically, this type of transaction is not gossiped to other nodes or stored in the transaction queue. The data inserted using an inherent transaction is assumed to be valid without requiring specific validation.

As an example, the pallet_timestamp::Call::now function enables a block authoring node to insert a current timestamp in each block the node produces.

Typically when you want to insert external information (transaction) relevant to your runtime (e.g. a timestamp) and the source of the transaction is the block authoring node itself.

I like to think of them as system-level transactions that keep the chain running smoothly.

If you see a purpose for such a transaction in your runtime then there is the use case.


  • can we use inherent transactions for fetching data through an api? Commented Nov 29, 2023 at 8:37

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.