ERC-7970 defines a minimal interface for encrypted messaging over EVM event logs.
The contract stores no state and emits a single event:
MessageSent(address from, address to, uint256 messageType, bytes data)
All encryption, key exchange, session handling, and message interpretation are handled off-chain by client applications. The contract does not enforce any protocol behavior.
The messageType field allows clients to filter and route messages using standard RPC methods. The data field is application-defined.
The goal is to provide a simple on-chain transport layer that messaging applications can build on, without requiring servers or other application-specific infrastructure.
Happy to answer questions.
Scott