Different origin serve different purpose and certain privileges, care to list the privileges per OriginKind.

And yes the documentation is not clear enough

1 Answer 1


I believe this doc is straightforward:


Origin should just be the native dispatch origin representation for the sender in the local runtime framework. For Cumulus/Frame chains this is the Parachain or Relay origin if coming from a chain, though there may be others if the MultiLocation XCM origin has a primary/native dispatch origin form.


Origin should just be the standard account-based origin with the sovereign account of the sender. For Cumulus/Frame chains, this is the Signed origin.


Origin should be the super-user. For Cumulus/Frame chains, this is the Root origin. This will not usually be an available option.


Origin should be interpreted as an XCM native origin and the MultiLocation should be encoded directly in the dispatch origin unchanged. For Cumulus/Frame chains, this will be the pallet_xcm::Origin::Xcm type.

If you have a more specific question, please ask.


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.