I'm following the tutorial from here: https://docs.substrate.io/tutorials/v3/cumulus/connect-parachain/#parachain-registration

On the parachain registration step, I go to the Polkadot apps UI > Developer > Extrinsics. However, I don't see the option listed in the tutorial for paraSudoWrapper -> sudoScheduleParaInitialize(id, genesis).

I tried the Option 2 in the tutorial for slots->forceLease(para, leaser, amount, period_begin, period_end), but it always fails with Bad Origin.

Bad Origin

I looked at Cannot register parachain ID: System Extrinsic Failed: Bad Origin but I don't have a tab for paraSudoWrapper. I also don't have sudo.

For context, I'm actually using this (https://github.com/buraktabn/relay-chain) as my relay node, which should have the same functionality as polkadot. I am running on kusama-dev network.

How would I register a parachain?

2 Answers 2


The tutorial says "using the sudo pallet".

If you don't have the sudo pallet, you need to add it, or create a different pallet which allows for parachains to be registered in a way that works for you.

Obviously parachain registration is a very high permission function, and so it is not exposed through normal user flows. On Polkadot it requires governance to start parachain auctions which can then be won to upgrade a parathread to a parachain.


That tutorial uses Rococo (specifically rococo-local and as Shawn said, this relay chain has the sudo pallet at the time of writing. Depending on your use case, you may consider adding alternative runtimes as Polkadot does to enable testing or local and public test networks that have things like sudo enabled, but not for your production networks, unless that is the intention explicitly.

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.