Open HRMP channel between Altair and Karura


Open an HRMP cross-chain communication channel between Karura and Altair to enable token transfers between our chains.


Altair website



Altair is Centrifuge’s canary network on Kusama. After the HRMP channel is established, we plan to list AIR/kUSD on Karura Swap and bridge kUSD to Altair to be used in our lending pools. Moreover, we intend to use AIR as collateral to mint kUSD. The AIR/kUSD pool listing mechanics will be outlined in a later proposal.


There is no on-chain proposal yet; #TBD.

Technical details:

The procedure for opening the channels is as follows:

  1. Karura propose to request to open Karura to Altair HRMP channel
  2. Wait until proposal on step 1 get approved & enacted
  3. Altair propose to accept the request and request to open Altair to Karura HRMP channel(Batch call)
  4. Wait until proposal on step 3 get approved & enacted
  5. Karura propose to accept Altair to Karura HRMP channel
  6. Wait until proposals on step 5 are approved & enacted
  7. Wait for another session on Kusama for the change to be effective
  8. XCM based cross chain transfers will be possible at this stage

The extrinsics that need to be executed on the relay chain , are:

  • For step 1: hrmp.hrmpInitOpenChannel(recipient: 2088, proposedMaxCapacity: 1000, proposedMaxMessageSize: 102400) , which hex-encoded is 0x170028080000e803000000900100

  • For step 3:

  • first call is hrmp.hrmpAcceptOpenChannel(sender: 2000), which hex-encoded is 0x170028080000e803000000900100

  • second call is hrmp.hrmpInitOpenChannel(recipient: 2000, proposedMaxCapacity: 1000, proposedMaxMessageSize: 102400), which hex-encoded is 0x1700d0070000e803000000900100

  • For step 5: hrmp.hrmpAcceptOpenChannel(sender: 2088) , which hex-encoded is 0x170128080000

These extrinsics need to be called from the parachain’s sovereign account as origin, via a democracy proposal. The proposal will use polkadotXcm pallet to send XCM message to the Relay Chain with the following items:

  • Withdraw asset: take funds out of the Sovereign Account of the origin parachain (in the relay chain) to a holding state
  • Buy execution: buys execution time from the relay chain, to execute the XCM message
  • Transact: provides the call data to be executed
  • Deposit asset (optional): refunds the leftover funds after the execution. If this is not provided, no refunds will be carried out

Read more on the democratic process and how to participate here.


No need to say…of course !!