Official RFC specification repository for the Evergram Messaging Protocol (EMP).
EMP defines a wallet-native, end-to-end encrypted messaging protocol coordinated through decentralized consensus infrastructure. It is designed for secure, real-time communication without centralized identity providers or permanent message storage.
This repository contains the authoritative protocol specifications (RFC series).
See RFC for formal specification
See Whitepaper for architectural rationale
Current Specification: EVGM-0001 Status: BETA — Subject to Change
The Evergram Messaging Protocol is actively implemented and deployed.
This repository serves as the canonical reference for protocol behavior.
Evergram is a decentralized, wallet-based messaging system with the following properties:
- Wallet-native identity (no email, phone number, or password)
- Multi-device cryptographic model
- End-to-end encrypted messaging
- Client-side key generation and storage
- Consensus-driven coordination layer
- No permanent server-side message storage
- Infrastructure-agnostic transport
EMP separates responsibilities across three domains:
- Privacy — handled exclusively by the client
- Transport — handled by an untrusted gateway
- Coordination & shared state — enforced via decentralized consensus
RFC/EVGM-0001.md
whitepaper/Why-Evergram-Matters.md
RFC/— Formal protocol specification documentswhitepaper/— Informal architectural and design rationale
The Evergram Messaging Protocol defines:
- Authentication model
- Device identity model
- Session management
- Key management and rotation
- Chat lifecycle
- Message delivery semantics
- Ordering model
- Subscription integration
- Reputation mechanisms
- Storage architecture
- Protocol invariants
- Security and privacy considerations
EMP is a protocol specification.
It is independent from any single implementation.
A production reference implementation exists, including:
- Gateway (TypeScript / Node.js)
- HotPocket smart contract layer
- Protocol Buffers schema
- Client SDK
Implementation repositories are maintained separately.
Each RFC is immutable once published.
Revisions are tracked via repository history and release tags.
Version identifiers follow:
EVGM-0001 (v1.0.0)
EVGM-0001 (v1.1.0)
EVGM-0002 (future)
Protocol-breaking changes require issuance of a new RFC number.
EMP is designed under the following principles:
- Infrastructure is observable and potentially hostile
- Only the client is trusted for privacy
- Cryptographic keys never leave the client
- Metadata integrity is consensus-enforced
- Message ciphertext is never permanently stored
- Deterministic behavior is preserved at the coordination layer
EMP provides:
- End-to-end encryption using modern NaCl primitives
- Per-device symmetric key distribution
- Deterministic consensus coordination
- Replay protection
- Access control enforced at the consensus layer
Threat model assumptions and known limitations are documented within each RFC.
This repository is licensed under the MIT License.
See the LICENSE file for details.