# XMessenger: XChain Instant Messaging System

<figure><img src="https://3712074420-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMPnoZvqCHvPw3lYkQ3Oj%2Fuploads%2FDyUhbhM0DYxjkg9XsJV9%2Fimage.png?alt=media&#x26;token=cd517f62-7dbc-4f72-b136-6d1b52b7e017" alt=""><figcaption><p>Figure 2: XMessenger protocol running on XChain</p></figcaption></figure>

XChain’s infrastructure enables a novel kind of data exchange within the Web3 and cryptographic realm: instant messaging.&#x20;

The specific implementation provided by XChain is called XMessenger and leverages the XChain L2PS features to create a highly efficient, reactive and customizable instant messaging network.&#x20;

As per figure 2, XChain implements various features to make the communication process as smooth as possible.&#x20;

**XMessenger Protocol Communication (XMPC)**&#x20;

Being at the core of XMessenger, XMPC is the practical communication protocol specifying and standardizing all of the formats, security and dialects that can be exchanged and verified by XChain, forming the effective structure of XMessenger.&#x20;

**Attestation Submission Channels (ASC)**&#x20;

XChain nodes, as shown in Figure 2, are directly connected with each other. Nevertheless, each XChain node is also participating in the DEMOS Network, effectively serving as a DEMOS L1 node.&#x20;

This enables XChain nodes to produce and submit attestations of the exchanged data to the DEMOS Network so that the broader consensus can include them in the next DEMOS Network block.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xcomerc20.gitbook.io/xmessenger-version-2-testnet/overview/xmessenger-xchain-instant-messaging-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
