v1.1 QUANTUM RESISTANT

AlgoChat

End-to-end encrypted messaging through Algorand blockchain transactions. No servers. No accounts. No trust required.

5 Languages
316 Tests
128b Post-Quantum
0.001 ALGO/Msg
// 01 OVERVIEW

What is AlgoChat?

An open protocol for secure messaging using Algorand as infrastructure.

Use Cases

Private Messaging

Direct encrypted communication between Algorand wallets

DAO Coordination

Secure governance discussions with cryptographic identity

P2P Commerce

Negotiate trades with immutable message history

Traditional

  • Centralized servers own your data
  • Accounts can be banned
  • Messages can be censored
  • Server breaches expose all
  • No proof of sender

AlgoChat

  • Blockchain is infrastructure
  • Wallet is your identity
  • Messages are immutable
  • E2E encryption always
  • Cryptographic verification
// 02 MECHANISM

How It Works

Messages encrypted and embedded in Algorand transaction note fields.

Key Insight

AlgoChat uses ECDH key exchange to derive a shared secret. Messages are encrypted with AES-256-GCM before being embedded in transaction notes (up to 1KB).

// 03 SECURITY

Quantum-Resistant Design

PSK mode provides 128-bit post-quantum security.

🔒 Standard Mode

ECDH + AES-256-GCM provides strong classical security for most use cases.

PRODUCTION

🛡️ PSK Mode

Hybrid ECDH + PSK provides 128-bit post-quantum security.

RECOMMENDED
Cryptographic Primitives
Component Algorithm Security
Key Exchange X25519 (ECDH) 128-bit classical
Encryption AES-256-GCM 256-bit symmetric
Key Derivation HKDF-SHA256 256-bit
PSK Mode ECDH + PSK 128-bit post-quantum
// 04 PROTOCOL

Message Envelope

The AlgoChat structure embedded in transaction notes.

Field
Description
Size
version
Protocol version (1)
1 byte
flags
Feature flags (PSK, etc.)
1 byte
ephemeralKey
Sender's X25519 public key
32 bytes
nonce
Random nonce for AES-GCM
12 bytes
ciphertext
Encrypted message + auth tag
Variable
// 05 IMPLEMENTATIONS

Production SDKs

Five fully tested implementations with 100% cross-compatibility.

Swift
✓ Production
TypeScript
✓ Production
Python
✓ Production
Rust
✓ Production
Kotlin
✓ Production
Cross-Compatible

All 316 tests pass across every implementation. Messages encrypted in Swift can be decrypted in Python, Rust, TypeScript, or Kotlin.

// 06 QUICKSTART

Get Started

Simple examples to start sending encrypted messages.

Swift
import AlgoChat

// Create identity from wallet
let identity = AlgoChatIdentity(privateKey: walletKey)

// Encrypt message
let envelope = try AlgoChat.encrypt(
    message: "Hello!",
    from: identity,
    to: recipientKey
)

// Send via Algorand
algod.send(note: envelope.encoded)
TypeScript
import { AlgoChat } from '@corvidlabs/algochat';

// Create identity
const identity = new AlgoChatIdentity(walletKey);

// Encrypt & send
const envelope = await AlgoChat.encrypt(
    "Hello!", identity, recipientKey
);

await algod.send({ note: envelope.encoded });
Python
from algochat import AlgoChat, AlgoChatIdentity

# Create identity
identity = AlgoChatIdentity(private_key=wallet_key)

# Encrypt & send
envelope = AlgoChat.encrypt(
    message="Hello!",
    sender=identity,
    recipient=recipient_key
)

algod.send(note=envelope.encoded)
// 07 FAQ

Questions

Each message costs 0.001 ALGO — the minimum Algorand transaction fee.
PSK mode provides 128-bit post-quantum security by combining ECDH with pre-shared keys. The PSK component cannot be broken by quantum computers.
No. Messages are stored in Algorand transactions which are immutable. Once sent, they cannot be deleted or modified by anyone.
Algorand notes are limited to 1KB. After envelope overhead (~46 bytes), approximately 950 bytes are available for your encrypted message.
Yes! All five implementations are open source on GitHub. The protocol spec is also publicly documented.
// 08 ROADMAP

What's Next

v1.1 CURRENT
  • PSK quantum resistance
  • 5 production SDKs
  • 316 passing tests
  • Full cross-compat
  • Complete docs
v2.0 PLANNED
  • Group chat support
  • Message threading
  • Reactions & receipts
  • IPFS attachments
  • ML-KEM upgrade