Message Format Specification

Wire Protocol
MESSAGE STRUCTURE
{
"version": 1,
"type": "ENCRYPTED_MESSAGE",
"envelope": {
"from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1",
"to": "0x9c3f72B4A4c6E6f9C4e5d7A8b2D1a3F4e5C6d7E8",
"timestamp": 1699123456789,
"nonce": "0xabc123def456",
"signature": "0x9b2c3d4e5f6a7b8c..."
},
"payload": "0x04a7b2c3d9e8f1a2b3c4..." // ECIES encrypted
}MESSAGE STRUCTURE
version:1
type:“ENCRYPTED_MESSAGE”
envelope:
from:“0x742d...bEb1”
to:“0x9c3f...d7E8”
Message Types
| Type | Code | Description | Required Fields |
|---|---|---|---|
| HANDSHAKE | 0x01 | Initial handshake | version, publicKey, peerId |
| ENCRYPTED_MESSAGE | 0x02 | Agent-to-agent message | envelope, encryptedPayload |
| IDENTITY_PROOF | 0x03 | Identity verification | ethAddress, publicKey, peerId, signature |
| DISCOVERY_ANNOUNCE | 0x04 | Peer discovery announcement | ethAddress, peerId, port, multiaddrs, signature |
| ATTESTATION_REQUEST | 0x05 | Request peer attestation | from, timestamp |
| ATTESTATION_RESPONSE | 0x06 | Hardware attestation response | platform, report, signature |
HANDSHAKE
0x01
Initial handshake
Fields: version, publicKey, peerId
ENCRYPTED_MESSAGE
0x02
Agent-to-agent message
Fields: envelope, encryptedPayload
IDENTITY_PROOF
0x03
Identity verification
Fields: ethAddress, publicKey, peerId, signature
DISCOVERY_ANNOUNCE
0x04
Peer discovery announcement
Fields: ethAddress, peerId, port, multiaddrs, signature
ATTESTATION_REQUEST
0x05
Request peer attestation
Fields: from, timestamp
ATTESTATION_RESPONSE
0x06
Hardware attestation response
Fields: platform, report, signature
