Skip to content

evergramhq/evergram-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Evergram Messaging Protocol (EMP)

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


Status

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.


What Is Evergram?

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

Repository Structure


RFC/EVGM-0001.md
whitepaper/Why-Evergram-Matters.md

  • RFC/ — Formal protocol specification documents
  • whitepaper/ — Informal architectural and design rationale

Protocol Scope

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.


Reference 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.


Versioning Model

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.


Design Principles

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

Security Model

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.


License

This repository is licensed under the MIT License.

See the LICENSE file for details.

About

RFC specification of the Evergram Messaging Protocol (EMP), a wallet-based, end-to-end encrypted messaging protocol built for decentralized consensus environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors