About the XCM Proposals category

XCM Channel Opening Governance Template

Referendum #86 was voted on and passed by the Moonbeam community members to make key information more accessible when voting on XCM/HRMP Channel Openings.

Proposer for a XCM/HRMP Channel Opening must follow a standardized XCM/HRMP Channel Opening Proposal Template (see below).


Title: [SAMPLE NETWORK] Proposal Open/Accept HRMP channel and Register Asset xc[TOKEN SYMBOL] (optional)

Key Disclosures

Q1: Is the Blockchain Code Open-Source (and include Github link)?:

If parts of the code are not open source: please provide information on why not

  • A1:

Q2: Is Sudo-enabled on the Network? If Sudo is disabled, is the Network controlled by a select group of addresses?

  • A2:

Q3: Is the Network controlled by a select group of addresses (<50 addresses)?

  • A3:

Q4: Have you completed full testing of this integration in Moonbase Alpha?

  • A4:

Q5: (For Moonbeam XCM/HRMP Proposals Only) Does your network have a Kusama deployment? If yes, please provide Network name and whether your Kusama deployment is integrated with Moonriver

  • A5:

Q6: Is your blockchain code Audited? If yes, please provide: i. the name of Auditors, ii. dates of audit reports and, if available, links to audit reports.

  • A6:


This batched proposal is to Accept/Open an HRMP channel with [SAMPLE NETWORK] and Register Asset(s) xc[TOKEN 3 SYMBOL], xc[TOKEN 2 SYMBOL]… (optional)

Network Information:

Brief description of Network such as “[SAMPLE NETWORK] is a EVM compatible smart contract platform that enables developers to build applications using popular Ethereum tools with over 300 projects deployed.”

  • Network website:

  • Network Twitter:

  • Network Discord:

  • Network Telegram:


We propose to open a bi-directional channel between Moonbeam and [SAMPLE NETWORK]. Initially, the main use case will be to transfer GLMR (optional) and [SAMPLE TOKENS] between the two chains, but it can be further expanded to other use cases. The proposal also includes the [SAMPLE TOKEN 1] asset registration as xc[SAMPLE TOKEN 1], with the following details:

  • Multilocation: [MULTILOCATION OF ASSET]

  • Decimals: [TOKEN DECIMALS]

  • Name: [TOKEN NAME]

  • Symbol: xc[TOKEN SYMBOL]

xc[SAMPLE TOKEN 1 ] will have the following asset ID and XC-20 address:


  • XC-20 address: [XC-20 SAMPLE TOKEN ADDRESS]

[Note: repeat the statement for all assets being registered]

[Note: you can calculate the asset ID and XC-20 address using this script. For example: yarn calculate-external-asset-info --a ‘[MULTILOCATION OF ASSET]’

On-Chain Proposal Reference

On-Chain Proposal #[__] with the associated hash: _____________

[Note: you can get the Proposal Number and Associated Hash from Polkadot.js Apps either in Moonbeam/(Moonriver)[Polkadot/Substrate Portal]]