[Proposal: MB31] Proposal to Accept/Open an HRMP channel with Composable Polkadot and register xcIBCMOVR, xcPICA, xcTIA, xcIST, xcBLD and xcATOM


This batched proposal is to Accept/Open an HRMP channel with Composable from Moonbeam and register xcIBCMOVR, xcPICA, xcTIA, xcIST, xcBLD to the Moonbeam Asset Registry.


Our proposal is to open a bi-directional channel between Moonbeam and Composable. The main use case will be the transfer of trust-minimised assets from:

  • IBC-enabled Cosmos chains on launch and Ethereum IBC once it goes live in late Q4.
  • Parachains on Kusama, including Moonbeam’s canary parachain, Moonriver.
  • Picasso and protocols built on Picasso, such as the Pablo DEX.

Tokens Metadata

Multilocation: { “parents”: 1, “interior”: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950355” }]}}
Decimals: 18
Name: IBC Moonriver
Symbol: xcIBCMOVR
The UnitsPerSecond needs to be set 4025764895330112721

Encoded Call Data for batched is 0x1e00086900000103008d1f043b05271700000000000000000000000134494243204d6f6f6e72697665722478634942434d4f5652120001000000000000000000000000000000016901000103008d1f043b052717000000000000000000000001d19463c7d763de3700000000000000001f000000

Multilocation: { “parents”: 1, “interior”: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950337” }]}
Decimals: 12
Name: Picasso
Symbol: xcPICA
The UnitsPerSecond needs to be set 16700847735031030

Encoded Call Data for batched is 0x1e00086900000103008d1f043b0527010000000000000000000000011c5069636173736f187863504943410c0001000000000000000000000000000000016901000103008d1f043b052701000000000000000000000001f6c4b12055553b00000000000000000021000000

Multilocation: { “parents”: 1, “interior”: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950361” }]}}
Decimals: 6
Name: Inter Stable Token
Symbol: xcIST
The UnitsPerSecond needs to be set 24950099

Encoded Call Data for batched is 0x1e00086900000103008d1f043b05271900000000000000000000000148496e74657220537461626c6520546f6b656e147863495354060001000000000000000000000000000000016901000103008d1f043b05271900000000000000000000000153b57c0100000000000000000000000022000000

Multilocation: { “parents”: 1, “interior”: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950354” }]}}
Decimals: 6
Name: Agoric
Symbol: xcBLD
The UnitsPerSecond needs to be set 170842046

Encoded Call Data for batched is 0x1e00086900000103008d1f043b0527120000000000000000000000011841676f726963147863424c44060001000000000000000000000000000000016901000103008d1f043b052712000000000000000000000001bed72e0a00000000000000000000000023000000

Multilocation: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950355” }]}}
Decimals: 6
Name: Celestia
Symbol: xcTIA
The UnitsPerSecond needs to be set 10460251

Encoded Call Data for batched is 0x1e00086900000103008d1f043b0527130000000000000000000000012043656c6573746961147863544941060001000000000000000000000000000000016901000103008d1f043b0527130000000000000000000000015b9c9f0000000000000000000000000024000000

Multilocation: { “X3”: [{ “Parachain”: 2019 }, {“PalletInstance”: 59 }, { “GeneralIndex”: “79228162514264337593543950355” }]}}
Decimals: 6
Name: Cosmos Hub
Symbol: xcATOM
The UnitsPerSecond needs to be set 2900232

Encoded Call Data for batched is 0x1e00086900000103008d1f043b05270700000000000000000000000128436f736d6f732048756218786341544f4d060001000000000000000000000000000000016901000103008d1f043b05270700000000000000000000000108412c0000000000000000000000000026000000

Please note that we have included the extrinsic to register the assetspersecond of these assets in order to make them legible for payment of XCM execution fees. This is because when users bridge via any IBC-enabled Cosmos chain to Moonbeam, we have created pallet-multihop, which executes IBC and XCM messaging in one transaction. It is akin to a packet-forwarding middleware package to enhance UX.

Without registering the assetspersecond of these assets, users would be required to hold an asset on the Composable chain to pay for the XCM execution fees and therefore, disrupting the one-click bridging process.

We are committed to serving as the second trust-minimised transport layer to Moonbeam (the first being XCMP) and bridge liquidity for the entire ecosystem of users, developers and applications.

We are excited to facilitate initiatives to bring in liquidity to Moonbeam such as bringing IST to the ecosystem.

On-Chain Proposal Reference

On-Chain Proposal #[__] with the associated hash: _____________ (Will be included later today)

NOTE: Ensure that the parachain’s sovereign account contains at least 10 DOT to be locked as collateral (5 for each channel direction), plus some DOT to pay for XCM execution fees, as this is a prerequisite.

Technical details:

The procedure for opening the channels is as follows:

  1. The Composable team sends a channel request from Composable to Moonbeam via OpenGov referendum.
  2. Moonriver proposes to accept the Picasso to Moonriver HRMP channel and open a Moonriver to Picasso HRMP channel via this proposal [Moonriver Governance Batch call] and add xcPICA to the Moonriver asset registry.
  3. Wait until the proposal on step 3 gets approved & enacted.
  4. Picasso accepts the Moonriver to Picasso HRMP channel.
  5. Wait for another session on Polkadot for the change to be effective.
  6. Picasso proposes to register Moonriver’s assets.
  7. XCM-based cross-chain transfers will be possible at this stage.

The extrinsics that need to be sent with xcm messages so they can be executed on the relay chain are as follows for step 2:

  • xcmTransactor.HrmpManage.InitOpen(recipient: 2019, proposedMaxCapacity: 1000, proposedMaxMessageSize: 102400) , which hex-encoded is 0x6b0900e3070000e803000000900100010301000100e40b5402000000000000000000000002286bee02000400010700863ba10102000800

  • xcmTransactor.HrmpManage.Accept(sender: 2019, proposedMaxCapacity: 1000, proposedMaxMessageSize: 102400) , the call hex-encoded is 0x6b0901e3070000010301000100e40b5402000000000000000000000002286bee02000400010700863ba10102000800

If any user or dApp developer would like to see other assets from the Cosmos bridge to Moonbeam via IBC, please let us know in the comments.


Thanks for bringing this up.
I guess it’s the next for the queue of RootTrack referenda :sunglasses:


Hey ser, I planned to go through General Admin similar to the Moonriver process, do I have to go through RootTrack on Moonbeam?


Checked it again and you’re right. Should work on generalAdmin.
Sorry for the confusion

1 Like

Posted on-chain, Referendum 31, I don’t have permission to edit the title of this forum post.


No worries - put it into the title.
Thanks for putting the DecisionDeposit too :pray:

Hi–I am in support of this, lets bring on all the tokens!


The only thing I’m worried about about this proposal is that there are no PICASSO specific tickers in the token name and symbols for the tokens being registeed.

@composableintern - I would suggest submit a new proposal with tickers that represent that these are Picasso specific representations.


Switched my vote to nay given the non-unique token tickers to prevent misunderstandings (like back in the day when nobody knew which USDC he owns)


thanks @AlbertoV19 for catching that. I also switched my vote to Nay due to the missing specific token standard.

Yes you are totally right here.
Changed my vote to “Nay” until new tickers are submitted.

Hey sers,

Is there any chance we can pass this proposal and I’ll make a new one to rename these assets to meet your standards?

The Agoric team have been waiting to deploy IST to Moonbeam for a while now so this would delay things by another cycle.

If it helps, I can put up the proposal to rename assets from now?

1 Like

Hey @composableintern the main issue is that a new proposal to rename assets need to go through the Root track which requires a 2M GLMR decision deposit.

Unless the MBF would support putting the decision deposit for such proposal (cc @aaron.mbf ) I would say it is tricky to do it this way

Thank you sir. We would appreciate it if that was possible.

After some discussion, the preferred option would be for Composable to submit a new referendum via the General Admin track with the corrected token tickers.

It probably makes sense to first discuss in the forum what the tickers ought to be to get feedback from the community before creating the proposal (ie. they should be something that ties it back to Picasso).


We’ve been contacting our investors, who have also invested in Moonbeam, to place the decision deposit on our behalf for a Root Proposal.

Would the community be willing to switch your votes to ayes if we get support from them?

1 Like

Regarding the renaming of tickers, the alternative I suggest would be adding ibc before the ticker.

So they would be changed to: xcibcMOVR, xcibcPICA, xcibcTIA, xcibcBLD and xcibcATOM

Hope this is accepted by the team

Are there any objections to the current names aswell? Or is it fine to keep them as they are?

1 Like

Thanks for signalling your ability to put the decisionDeposit for the future root track referendum.

In this case I changed my vote again, to the AYE side.
I thereby turned it to “passing” again.

1 Like