The Ixian Streaming Protocol (S2) is a secure, peer-to-peer communication layer built on top of the DLT Master Node network. It enables end-to-end encrypted, direct messaging between any two Ixian addresses.
Communication is layered. A StreamMessage acts as the secure, routable envelope, while an inner SpixiMessage contains the actual application-level command or data.
Protocol Layers
| Layer | File | Description |
|---|
| Envelope | StreamMessage | The outer, secure wrapper that handles S2 network routing, encryption, and signing. |
| Application | SpixiMessage | The inner, decrypted payload that defines the application-level command (e.g., chat, file transfer). |
Application-Layer Messages (SpixiMessageCode)
The following messages are carried within the SpixiMessage payload.
| Name | Code | Description |
|---|
| requestAdd2 | 40 | A request to add a user as a contact. |
| acceptAdd2 | 41 | Accepts a contact request. |
| keys2 | 42 | Exchanges session keys for end-to-end encryption. |
| leave | 37 | A notification that a user is leaving a group chat. |
| leaveConfirmed | 38 | Confirmation that the leave request was processed. |
| getPubKey | 26 | Requests the public key of a contact. |
| pubKey | 27 | Provides a public key in response to a request. |
| getNick | 1 | Requests the nickname of a contact. |
| nick | 2 | Provides the nickname of a contact. |
| avatar | 24 | Sends an avatar image. |
| getAvatar | 25 | Requests the avatar for a contact. |
Messaging Status & Reactions
| Name | Code | Description |
|---|
| chat | 0 | A standard text chat message. |
| msgRead | 8 | Confirmation that a message has been read. |
| msgReceived | 9 | Confirmation that a message has been delivered. |
| msgDelete | 33 | A request to delete a previously sent message. |
| msgReaction | 34 | Adds a reaction to a specific message. |
| msgError | 36 | Reports an error in processing a previous message. |
| msgReport | 39 | Reports a message for moderation or abuse. |
| msgTyping | 35 | Indicates that the user is currently typing a message. |
Funds
File Transfer
| Name | Code | Description |
|---|
| fileData | 10 | A chunk of a file's binary data. |
| requestFileData | 11 | Requests a specific chunk of a file. |
| fileHeader | 12 | Contains metadata about a file being sent. |
| acceptFile | 13 | The recipient agrees to accept an incoming file transfer. |
| fileFullyReceived | 23 | Confirmation that all chunks of a file have been received. |
Calls
| Name | Code | Description |
|---|
| requestCall | 14 | Initiates a voice or video call. |
| acceptCall | 15 | Accepts an incoming call request. |
| rejectCall | 16 | Rejects an incoming call request. |
| callData | 17 | A chunk of real-time audio or video data. |
Mini-Apps