let ek = EphemeralKey::generate(); MlKem768::encapsulate(&bundle.pq_prekey) ChaCha20Poly1305::encrypt(&key, &nonce, &plaintext) x25519(our_identity, &signed_prekey) hkdf_sha512(&[dh1, dh2, dh3, dh4, pq.ss]) Noise_IK::handshake(&static_key, &remote_pub) DoubleRatchet::step(&mut chain_key) SealedSender::seal(&envelope, &cert) SmtTree::insert(leaf_hash, &proof) Argon2id::hash_password(pin, &salt)
Post-Quantum Encrypted

The messenger
they can't crack.

End-to-end encrypted with post-quantum cryptography.
Open source. Anonymous. No metadata.

๐Ÿฆ€ Built with Rust ๐Ÿ‡ฎ๐Ÿ‡ธ Servers in Iceland ๐Ÿ”“ Open Source
Features Technology Open Source Pricing Get Started
0+
Lines of Rust
0
Tests Passing
0
Crypto Layers
Features

Security without
compromise.

Every component engineered for one purpose: protecting you.

Post-Quantum Cryptography

ML-KEM-768 + X25519 via PQXDH. Even quantum computers can't break your messages.

ML-KEM-768X25519PQXDH

Sealed Sender

Not even our server knows who sent a message.

Zero Metadata

Double Ratchet

New encryption key per message. Perfect forward secrecy.

Forward Secrecy

Stories

24-hour disappearing photos and text โ€” visible only to your verified contacts. End-to-end encrypted. Auto-deleted from the relay.

24h TTLE2EContacts only

Blockchain Key Transparency

Keys anchored on Base L2. Sparse Merkle Tree. Equivocation detection catches forged keys.

Base L2SMTOn-Chain

Kill Switch

One tap. Everything gone. Blockchain-triggered remote wipe.

Auto-Destruct

30s โ€“ 7 days. Dead Man's Switch.

Encrypted Group Chats

Sealed-sender fan-out. Per-member encryption.

Phantom Link

Add contacts with a one-time link. No phone number. No username.

Stealth Mode

Disguise PHANTOM as another app. Hides icon and name.

Technology

Built different.
Engineered to protect.

34,000 lines of Rust, Swift, and Kotlin.

01

Encryption

Messages encrypted with ChaCha20-Poly1305. Keys via PQXDH. Double Ratchet generates a unique key per message.

ChaCha20X25519ML-KEM-768HKDF-SHA512
02

Transport

Noise_IK handshake authenticates the server. WebSocket + Protobuf (54% smaller than JSON). TLS 1.3 over Iceland VPS.

Noise_IKWebSocketProtobufTLS 1.3
03

Blockchain

Keys in a Sparse Merkle Tree, root committed to Base L2 every 10 min. Key forgery impossible.

Base L2SolidityAlloySMT
04

Storage

All data in encrypted SQLite. Key derived via Argon2id. No cloud sync. No telemetry.

SQLite WALArgon2idLocal onlyZeroize
Open Source

Trust no one.
Verify everything.

Every line of code is public. Every algorithm. Every decision.

  • 361 unit tests + integration suites
  • 14 Solidity smart contract tests
  • Independent security audit ready
  • Community-driven bug bounty
View on GitHub
phantom-core / src / crypto / pqxdh.rs
Pricing

One plan.
Everything unlocked.

€7,99/month. All features included.

All Features Included
€7,99
per month

Cancel anytime ยท No commitments

  • Post-quantum encryption (ML-KEM-768)
  • Sealed Sender protocol
  • Double Ratchet forward secrecy
  • Encrypted group chats
  • Stories (24h, contacts only)
  • Blockchain Key Transparency (Base L2)
  • Phantom Link contact discovery
  • Stealth Mode (app disguise)
  • Auto-destruct messages (30s โ€“ 7d)
  • Photo, video & voice sharing
Subscribe on the App Store Pay with Bitcoin / Lightning

Already have an activation code from a previous Bitcoin purchase?
Open PHANTOM โ†’ Paywall โ†’ Redeem Activation Code.

€7,99/month ยท In-app subscription ยท Cancel anytime
Always open source โ€” build from source on GitHub for free.