# HRMP Channel Steps to open HRMP channels: 1. Sender parachain send a init open channel request. 2. Recipient parachain accept request. The steps above are done via `Xcm::Transact` from the sender's or recipient's part. ## Send init open channel request ### Get encoded transact In PolkadotJS app, switch to the relay chain network. Go to **Developer -> Extrinsics** section. Go to `hrmp.initOpenChannel`, fill parameters and copy the *encoded call data* below: ![](https://i.imgur.com/gGeJeaf.png) ### Send request Go to PolkadotJS app, switch to sender parachain. Go to **Developer -> Sudo** section. Use `ormlXcm.sendAsSovereign` to send the XCM message. Note that: - Fees `debit` and `weight` in this demo are based on rococo local. Kusama could be different. - Replace the deposit account ID with parachain sovereign account ID. ![](https://i.imgur.com/fZ1VdqO.png) ![](https://i.imgur.com/UTgeHwy.png) Check out network explorer about the message execution result. ![](https://i.imgur.com/jVCAsRV.jpg) To confirm the request was sent, switch to live Rococo, go to **Developer -> Chain State**, check **hrmp -> hrmpOpenChannelRequests**. ## Accept channel request ### Get encoded transact In PolkadotJS app, switch to the relay chain network. Go to **Developer -> Extrinsics** section. Go to `hrmp.hrmpAcceptOpenChannel`, fill parameters and copy the *encoded call data* below: ![](https://i.imgur.com/CqPbq7m.png) ### Accept request Go to PolkadotJS app, switch to sender parachain. Go to **Developer -> Sudo** section. Use `ormlXcm.sendAsSovereign` to send the XCM message. Note that: - Fees `debit` and `weight` in this demo are based on rococo local. Kusama could be different. - Replace the deposit account ID with parachain sovereign account ID. ![](https://i.imgur.com/Jzi6diO.png) ![](https://i.imgur.com/TChgrXU.png) Check out network explorer about the message execution result. ![](https://i.imgur.com/9aRHMdi.jpg)