Docs
Submit an issue
Appchains on Polkadot
Appchains on Polkadot
  • WELCOME
    • Polkadot Appchains
    • Installing Pop CLI
    • How to contribute
  • GUIDES
    • Set up your development environment
    • Create a new parachain
      • Create an Assets parachain
      • Create a Contracts parachain
      • Create an EVM parachain
    • Benchmarking
    • Build your parachain
      • Build your runtime deterministically
    • Call a chain
    • Launch a Chain
      • Launch a Chain in Development
      • Launch a Chain to Paseo
        • Launch Paseo
        • Set up keys
        • Acquire Coretime
      • Deploy a chain with Polkadot Deployment Portal
      • Running a post-startup command
    • Securely Sign Transactions from CLI
    • Test runtime upgrades
  • POP CLI
    • welcome
    • install
    • new
    • bench
    • build
    • build spec
    • call
    • up
    • clean
    • test
Powered by GitBook
On this page
  • Accessing the Polkadot Deployment Portal (PDP)
  • Starting the Deployment Process
  • Resources

Was this helpful?

Edit on GitHub
  1. GUIDES
  2. Launch a Chain

Deploy a chain with Polkadot Deployment Portal

This guide explains how to deploy a chain using the Polkadot Deployment Portal.

PreviousAcquire CoretimeNextRunning a post-startup command

Last updated 2 months ago

Was this helpful?

Pop CLI integrates an external provider for chain deployment, streamlining the process with seamless automation. It handles registration, as detailed in , and once the chain is registered, Pop CLI completes the deployment by integrating with the provider. The provider manages collators and offers a portal UI for monitoring your chain’s status.

Accessing the Polkadot Deployment Portal (PDP)

Start by to request access to the .

Once accepted, you’ll receive an API key required to deploy through Pop CLI. Keep this key safe, you’ll need it during setup.

Note: Currently, the only supported deployment provider is the , which supports a limited set of templates, built-in collator management, and deployment tracking via its UI.

Important: For now, use the , this is the version integrated with Pop CLI during the beta phase.

Starting the Deployment Process

Once you have your API key and access to the Polkadot Deployment Portal, you're ready to deploy your chain.

Execute the following command to start the interactive deployment process:

pop up

Follow the interactive guide:

During the process, Pop CLI will prompt you for two important choices:

  1. Whether to use a pure proxy for registration.

  2. Whether to build the runtime deterministically.

What is a Pure Proxy?

A pure proxy is an account without private keys, controlled entirely by a designated proxy.

The ParaRegistration proxy is designed to limit permissions strictly to paraID reservation and rollup registration, and is recommended for this use case.

Note: ParaRegistration is a newly introduced proxy type. Before its availability, the common approach was to use the Any proxy as a more general alternative.

Why Use a Pure Proxy?

A pure proxy enhances security by keeping private keys hidden and delegating control to an any proxy. It simplifies multisig setups by allowing signatory changes without creating a new account. Highly recommended for parachain registration!

To create a pure proxy run:

pop call
┌   Pop CLI : Call a chain
│
◇  Which chain would you like to interact with?
│  wss://pas-rpc.stakeworld.io
│
◇  What would you like to do?
│  Create a pure proxy 
│
◇  Select the value for the parameter: proxy_type
│  Any 
│
◇  Enter the value for the parameter: delay
│  0
│
◇  Enter the value for the parameter: index
│  0
│

What is a Deterministic Runtime Build?

By default, the Rust compiler generates optimized Wasm binaries, but they aren't always deterministically reproducible. If the Wasm runtime isn't deterministic, each build might produce slightly different bytecode, This can be a problem for blockchain networks where every node must run the exact same runtime.

Resources

Learning Resources

Technical Support

At the end of the process, Pop CLI will display the URL to the external provider's portal, where you can monitor the status of your deployment. For example, after a successful deployment, the provides a UI like the one shown below:

The proxy defines what kind of actions the controller account is allowed to perform on behalf of the pure proxy. There are different , each with a specific scope of permissions.

Once the pure proxy is created, retrieve the generated address from the event PureCreated and fund it using the to enable transaction execution.

For a complete walkthrough on deterministic builds using Pop CLI, check out our dedicated guide: 👉

This build requires or to be installed and running. Pop CLI automatically invokes the SRTool image to generate a reproducible and verifiable runtime.

🧑‍🏫

⭕ Learn more about deterministic runtimes .

🧑‍🔧 Learn more about .

.

Create a question and tag it with ""

Share the StackExchange question in our

Polkadot Development Portal
proxy types
Paseo Faucet
Build your runtime deterministically
Docker
Podman
https://docs.polkadot.com/develop/parachains/deployment/
here
Pure Proxies Accounts
Polkadot Deployment Portal Documentation
Polkadot Stack Exchange
pop
Pop Support Telegram channel
Launch a Chain to Paseo
signing up to be a beta tester
Polkadot Deployment Portal
Polkadot Deployment Portal
staging portal
pop up flow
Polkadot Development Portal UI
pop up
Polkadot Development Portal UI
pop up