In the Substrate ecosystem, a bricked parachain – one that has halted block production – presents a unique set of challenges. This situation can occur in various environments, notably on Rococo, our test environment, and of course on Kusama and Polkadot, which are our production environments. Recovery actions on production parachains having Kusama and Polkadot as relay chains often require governance approval, unlike those on rococo where this can be done with sudo.

This post aims to compile and share knowledge on recovering bricked parachains across these different environments, drawing from past incidents and community experiences to offer a comprehensive recovery guide.

General Recovery Resources:

Recovery in Rococo:

Recovery in Kusama and Polkadot:

Additional Info:

Request for Input

I welcome additional insights, experiences, or resources from the community to further enrich this guide.


Navigating the complexities of recovering a bricked parachain is challenging, yet with the appropriate resources and the collective wisdom of the community, it is a manageable endeavor. This guide represents an initial roadmap, designed to guide teams through the process of recovery.

Our ultimate goal is to evolve this into a comprehensive, step-by-step manual, empowering project teams not only to allocate resources effectively for issue resolution but also to have a well-documented, reliable procedure to follow. This collaborative effort can significantly enhance the resilience and robustness of the Substrate ecosystem.

  • Nice, this could fit even better if it was phrased as one question and an answer
    – Simson
    Commented Nov 21, 2023 at 1:59
  • I like it! But you should add this a response, and just the simple question of Recovering a Bricked (no block production) Parachain? otherwise it looks like an unanswer question
    – Alex Bean
    Commented Nov 22, 2023 at 16:10
  • Yes, I agree, however, it's not as simple as having one matching answer, for every situation, that's why I was trying to get more information. There are a few actions that can be done, on the relay chain side, - forceSetCurrentCode (para, newCode) - forceSetCurrentHead (para, newHead) And some parts that you can do on the parachain side, As I understood you can't revert finalized blocks as a parachain, mostly around modifying the chain-spec. - add bad_blocks - add codeSubstitutes Commented Nov 24, 2023 at 7:40


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.