I found the pallet-asset-tx-payment pretty cool and am planning to add this in my runtime. But my concern is the SignedExtension. Adding the ChargeAssetTxPayment in the SignedExtra portion will make it different.

Will this affect the 3rd party apps who are already interacting with my chain?
What will 3rd party applications need, to be able to create valid transactions?
Would they need to configure the SignedExtensions when instantiating the polkadot.js API instance?

I do not know if this is the best place to ask, but I'm coming from an answer of another question.

1 Answer 1


By looking at Transaction Construction and Signing you'll see that nothing changes for 3rd party apps. The logic that will include the signer to pay for the transaction with an asset all happens on chain.

The point that is made in the section "Polkadot-js/apps sidenote" is that Polkadot JS can't read this SignedExtension by itself (i.e. by looking at the metadata of the runtime).

Therfore you need to manually add it to the polkadot-js/api type registry

-so that 3rd party apps/users, using Polkadot JS, can read e.g. events properly.

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.