Background - I have relay chain setup that is able to connect to local rococo testnet, and I am trying to obtain and register unique para_id on Rococo testnet via the polkadotjs app. I have provided the next available id as described in the document, but we received an error that it's already registered.

Details of the error are below:

it is assigning me 2015 ID which is already in use. enter image description here enter image description here I need to know that how I register a unique paraID? or how I can find my paraID is unique?

Can someone please guide where am I going wrong?

1 Answer 1


There seems to be an inconsistency between the parachains and the registrar. The Rococo state indeed refers to 2015 as the next free id, and it is indeed already assigned -

current nextFreeId

(This part edited from the comment below, the original comment for calling register was incorrect)

Since the UI button only calls registrar.reserve() here and the logic is all handled by the runtime, it certainly points to an inconsistency. Internally reserve gets the next free id

Where it fails then is in do_reserve checking the lifecycle.

So in this case I would suggest sudo to do an adjustment of that next_free storage location - since it maps to something already registered, it cannot move forward.

  • I tried the same that you are suggested but getting an error "registrar.NotReserved". I have made multiple attempts but getting the same error each time. And also on every attempt I lose 98 ROC as a submission fee. Error Screenshot:- imgur.com/OusloSs Any more suggestions you may have? Mar 30, 2022 at 13:44
  • Umpf, I made a mistake above :( Need to call reserve in the same module. (register is for after the id is available...) Will update the post.
    – Jaco
    Mar 30, 2022 at 14:09
  • ... however, internally reserve() gets the next free id as well, so you will end with the same issue. So I believe the state needs to be cleaned here... at least based on my reading of the situation. And actually the "UI button" does nothing more than call reserve, so the outcome would be the same...
    – Jaco
    Mar 30, 2022 at 14:11
  • Yeah getting an error again i.e. "registrar.AlreadyRegistered " Error Screenshot:- imgur.com/b7sUZEV Mar 30, 2022 at 15:02
  • Indeed, as linked to the code and explained in the updated answer, the state for next free doesn't match.
    – Jaco
    Mar 30, 2022 at 17:07

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.