Playground
Watch a real message get encrypted and posted to Solana, then decrypted back, every step, with the live transaction.
Fixed demo message
“gm from the sen2 playground 👋”
1
The message
Plain text, before anything happens to it.
2
Key agreement (X25519 ECDH)
Sender and recipient derive the same shared secret. No secret key ever leaves either side.
3
Seal (XSalsa20-Poly1305)
The shared secret encrypts the bytes and stamps a tamper-proof tag.
4
Wrap as a memo on a 0-lamport transfer
The whole envelope (version + recipient + nonce + ciphertext), base64. This is exactly what Solana stores.
5
Confirmed on Solana mainnet
A real transaction. Anyone can see it, but it's ciphertext to everyone except the recipient.
6
Recipient decrypts
The recipient recomputes the same shared secret and opens the box. Back to plain text.