The XCM v3 implementation of BuyExecution does not make use of the newly introduced JIT fees withdrawal. (e.g. used via take_fee here in ExportMessage)

Why is that?

1 Answer 1


Because the one responsible for paying the fees isn't always necessarily the origin.

Recall that you can fill up the holding register with assets via a couple of instructions, they are:

  • WithdrawAsset
  • ReceiveTeleportedAsset
  • ReserveAssetDeposited
  • ClaimAsset

Of which the only instruction that takes fees from the origin is WithdrawAsset. For all the other instructions listed, it is most often not the case that the asset being put into the holding register belongs to the origin.

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.