Some things are meant to stay between us.
Private conversations, end-to-end encrypted in your browser and connected through your Solana wallet. No email. No password.
End-to-end encrypted · Sign-In with Solana
The channel
Written here. Readable only there.
Follow one message from your keyboard to theirs. The server in the middle only ever holds a sealed envelope.
- Sees: sender, recipient
- Sees: time and size
- Cannot read: contents
- Step 1 · Compose
You write in your browser. The words exist only on your device.
- Step 2 · Encrypt
A fresh XChaCha20-Poly1305 key seals the message, then is wrapped for each recipient key.
- Step 3 · Relay
The server stores and forwards ciphertext. It sees who, when and how much, never what.
- Step 4 · Decrypt
Only the recipient's private key can unwrap the content key and read it.
Illustration · glyphs shown are not real ciphertext
Wallet identity
Your wallet proves who you are. It never touches your words.
- Sign in by signing a one-time message. No transaction, no fee, no email, no password.
- The message is bound to this site, expires in five minutes, and can only be used once.
- Encryption keys are generated separately in your browser. Your wallet only signs a statement linking them to your address.
- Your wallet never decrypts anything and cannot restore your message keys. That is what the encrypted backup is for.
Works with Phantom · Solflare · Backpack
your-whspr-domain wants you to sign in with your Solana account:9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWMSign in to WHSPR. This request does not trigger a blockchain transaction or cost any fees.URI: https://your-whspr-domainVersion: 1Chain ID: mainnetNonce: k3V9qX2mTz8LwP4cIssued At: 2026-10-14T21:04:00.000ZExpiration Time: 2026-10-14T21:09:00.000Z
3pYc8fWQnR2kVxTe5HmJbL7aZsDq4uN9gKcEo1tXyBvM6rWiPdFhA2jSlUeQ8nTz
- Signature matches the wallet address
- Domain and expiry are valid
- Nonce consumed, cannot be replayed
The real sign-in message format · address, nonce and signature are examples
Key verification
Trust is something you can check.
Every published key carries a signature from its wallet, and WHSPR checks it on your device. If a contact's keys ever change, you see it, and sending pauses until you review.
Fingerprints match. Compare these groups with Mara in person or on a call to verify her identity.
Interactive example · real fingerprint algorithm on example keys
Disappearing messages
Some conversations shouldn't last forever.
Set a timer per conversation. Expired messages are deleted from the server and removed from every WHSPR client in the conversation.
A timer cannot stop a screenshot, a photo of a screen, or a modified client. We say so plainly.
This message will disappear in one hour.
- 5 min
- 1 hour
- 1 day
- 1 week
The messenger
Quiet by design.
Nothing to configure before your first message. The security details stay one tap away, never in the way.
Today
Did you get the keys I sent?
20:58Got them. Our fingerprints match.
20:59Good. Meet me at the old library at nine.
21:02See you at nine.
21:04Product illustration · sample conversation, not live data
Security model
What WHSPR protects, and what it doesn't.
Protected
- Message contents
- Encrypted and decrypted only in your browser. The server and network see ciphertext.
- Silent key swaps
- Every key is signed by its wallet and checked on your device. Changes are surfaced.
- Replayed sign-ins
- Each challenge is single-use, domain-bound and expires in five minutes.
- Accounts without the wallet
- Signing in requires a signature from the wallet itself.
Not protected
- Metadata
- The server sees who talks to whom, when, and roughly how much.
- A stolen device key
- There is no ratchet yet, so a stolen long-term key can open past messages.
- Screenshots and modified clients
- Disappearing timers cannot control what a recipient keeps.
- A compromised device
- Malware or a malicious extension on your device sees what you see.
Start a conversation only two people can read.
Connect a Solana wallet · no email, no password