“Content on this site is for informational purposes only. It should not be deemed as legal or financial advice in any way. Please view out Terms and Service that will be considered adhered to while using this service”
How Do Polkadot & Kusama Parachains Interact With One Another? “XCM” & “XCMP”

How do Parachains’ talk’ to one another?
How do Parachains transfer assets to one another?
If you are a Polkadot addict or are interested in cryptocurrency, you may find this interesting!!
Covered in this article
➤ What Is XCM
➤ XCM Messaging Format
➤ XCM vs. Native Message Format
➤ XCM Use Cases
➤ Optional Payment of Fees
➤ Remote Transfer
➤ Teleport
➤ Reserve-Based Transfer
➤ Conduct a Platform-Specific Action
➤ XCVM-Cross-Con. Virtual Machine
➤ Versioning
➤ Compatibility & Translation
➤ Practical Communication
➤ Version Negotiation
➤ Replying
➤ Code Compatibility within XCM
➤ UMP, DMP & XCMP
XCM Messaging Format
XCM, which is known as a “Cross-Consensus Message Format,” is a messaging format (a language) used for communication purposes between Polkadot’s (also Kusama) parachains. XCM is NOT a messaging protocol, as it cannot actually send messages. Instead, it is a means for consensus systems to communicate with one another. Its unique features are designed to handle multiple assets without breaking a sweat. XCM’s primary goal is to provide & maintain a messaging language that is fully interoperable between all parachains both on Polkadot and Kusama.
XCM Use Cases
- Optional Payment of Fees
Parachains will require their interlocutors to pay for any operations they wish to perform to avoid spam & DDOS. However, if their interlocutors are trustworthy, there is the option not to pay fees.
- Remote Transfer
Remote transfer allows you to control an account on a Remote Chain from a Local Chain. It enables you to receive & eventually transfer those funds it controls into other accounts on that remote chain!

- Teleport (for chains that trust each other)
The “Teleport” feature easily moves one token (fungible asset) from one parachain to another. It works by burning a token on one chain and minting a corresponding token on another supported chain.

- Reserve-Based Transfer (for chains that don’t trust each other)
In this instance, two chains (A & B) do not trust each other, so they can nominate a third chain (whom they both trust) to be a native asset holder & act as a reserve for that specific asset. The derivative form of the asset on each of those chains (A & B) are fully backed, allowing the derivative asset to be exchanged for the underlying asset on the reserve chain backing it. An example of this is Polkadot’s first Common Good Parachain called ‘Statemint Chain’ (a native hub for DOT – Statemine for Kusama). Statemint acts as the native asset holder chain to accommodate multiple parachains to transfer their own local form of DOT. For a detailed description, check out the link here.

- Conduct a platform-specific action
This is super cool! XCM language can conduct some platform-specific action; e.g., within a Substrate chain, it can dispatch a remote call into one of its pallets (modules) to access a niche feature.
XCM Interoperability
XCM’s goal is to provide & maintain a messaging language that is fully interoperable between all parachains. As technology advances daily, especially the Polkadot ecosystem, it is essential that XCM’s interoperability is maintained and not jeopardized.
To maintain XCM’s interoperability features, there are six systems in place. Let’s take a look!
- Versioning
Versioning is the first step & ensures that we can identify the EDITION of the language being used. As technology develops, there will be many new versions of XCM. Versioning identity’s which version of XCM is being communicated PRIOR to the actual message content.
- Compatibility & Translation
Compatibility & Translation helps receive XCM messages from an older network or send messages to a newer network. However, this cannot work vice versa as old versions do not have the required logic to interpret messages from new XCM editions.
- Practical Communication
The message the network sends must be capable of being interpreted by the receiving network. Polkadot and Kusama’s parachains keep a registry of the XCM versions supported by the remote chains. When a message is sent from a parachain to another parachain, it first determines what version to send by consulting in each chain registry. Then, it translates the message to the older of the sender & the receiver’s supported XCM versions!!
- Version Negotiation
When a message is sent to a parachain, it first determines what version to send by consulting in each chain registry. Then, it translates the message to the older of the sender & the receiver’s supported XCM versions.
- Replying and Execution Time
This is simply a general-purpose instruction that allows one chain to reply to another, and in doing so, report some information. Polkadot does not require payment for any “queryrepsones” for their execution time.

- Code Compatibility within XCM
Codebases can be easily updated to the most recent XCM software (in Rust, this is a crate) with few or no changes to their code. Upgrading the XCM crate allows a network to better interoperate with other similarly upgraded networks.
XCVM – Cross-Consensus Virtual Machine
XCVM is a Cross-Consensus Virtual Machine that an XCM message runs on and executes the task. An ultra-high level non-turing-complete computer whose instructions are designed to be roughly at the same level as transactions. The XCVM has several registers & has access to the overall state of the consensus system which is hosting it. It can execute tasks, e.g., transfer an asset to another address on the remote system.
Message-Passing Transport Protocols
There are three distinct types of “Message-Passing Transport Protocols,” which creates a passage to allow for the transfer of messages and assets. XCM language format is used for all three communication channels.
UMP & DMP are known as VERTICAL message-passing transport protocols as they move in an upward and downward direction.
- UMP – (Upward Message Passing to Relay Chain) allows parachains to send messages to their relay chain.
- B) DMP – (Downward Message Passing From Relay Chain) allows the relay chain to pass messages down to one of their parachains.
- C) XCMP – (Cross-Chain Message Passing) allows parachains to send messages between themselves. This is the most used system for communicating messages between parachains. It uses the Relay Chain as an anchor to validate all the messages passed between the different parachains & makes sure the entire communication is secure.
Advantages of XCMP
➤ Connection Orientated (parachain to parachain) – no spam.
➤ A deposit (paid in DOT) has to be paid to open the passage, and it is returned once the connection is closed.
➤ The receiver has control over who sends the messages.
➤ Less stress on the Relay Chain (RC) – The RC is only used to verify a proof that a message has been sent. All other work is pushed to the parachains.
➤ Origin of the parachain message is guaranteed by relay chain validators; no traditional signature is required.
Summary
There is no doubt that the XCM language format is another mind-blowing feature from Parity Technologies, with Gavin Wood the genius behind it all. Its interoperable features between Polkadort and Kusama-associated parachains separate it from any traditional native language. Furthermore, XCM’s interoperability features are automatically updated, so there is no need to worry about different editions or compatibility as updates are provided to the Polkadot and Kusama ecosystems.
Parity Technologies could take interoperability to another level regarding the transfer of information, assets & services using XCMP. It would be fantastic if parachain projects could access features from other parachains & incorporate them into their own infrastructures. These features could then be made available to users on their blockchain.
For example, if Moonriver could use Calamari Networks privacy features, or maybe some self-sovereign features from KILT Protocol, or storage services from another, etc., and provide them as add on’s to projects that want to build on Moonriver’s infrastructure. Parachains could interconnect and borrow from each other to provide the best possible service for their customers, call it “Parachain Partnerships”‘. The future is bright!
Thank you for reading, and I hope you found some value. Have a wonderful day!
Pauls Crypto Calls can be found via the links below:
Blog: https://paulscryptocalls.com/en/
Twitter: https://twitter.com/PaulsCryptoCall
Resources:
https://wiki.polkadot.network/
https://medium.com/polkadot-network/xcm-the-cross-consensus-message-format-3b77b1373392




