Brushpass
End-to-end encrypted messaging between wallets.
Send a message to another wallet address. Your browser encrypts it before the transaction leaves, the contract stores the ciphertext, and only you and the recipient can open it. There is no server, no database, and no account to create.
You sign one fixed statement to derive an X25519 identity key. That key is rebuilt from the signature every session, so nothing is stored anywhere. Your public key is published on chain as a self-message, which means no registry contract is needed and nobody can publish a key on your behalf.
The review is written by me, not an independent auditor, and the PDF says so on page one.