Wallet login
A signature challenge establishes a session. There is no registration step and nothing to reset.
Encrypted mail with a wallet as the only identity.
An end-to-end encrypted email client where a wallet signature replaces the account entirely: no password, no recovery email, and no server that can read a message even if it wanted to.
01 — The problem
Encrypted email has existed for decades and almost nobody uses it, because key management was always the user's problem. The moment a product asks somebody to back up a private key, adoption stops.
Web3 offered a way out. Users already hold a keypair they guard carefully. The question was whether a wallet could carry a mail identity without leaking the contents of a mailbox onto a public ledger.
02 — What we did
We separated identity from transport. The chain holds only what must be public: an address-to-public-key binding and a tamper-evident record that a message existed. Content and metadata never touch it.
Encryption happens in the browser before anything leaves the client. The relay stores ciphertext it cannot open, keyed by a recipient identifier that reveals nothing about the sender. Compromising the server yields an undifferentiated pile of encrypted blobs.
The server holds the envelopes. It has never held a key.
Two of the screens that carry the most weight in daily use, rebuilt here from the production design system.
The list holds ciphertextThreads decrypt in the browser only when opened. The relay never sees a subject line, let alone a body.
The chain carries only proofA hash commitment shows a message existed at a time. Content and metadata stay off-chain entirely.
Grouped by the job each set of capabilities exists to do, rather than by which team built it.
A signature challenge establishes a session. There is no registration step and nothing to reset.
Messaging keys are derived deterministically from a wallet signature, so a mailbox follows the wallet across devices.
Contacts resolve through on-chain name services, with the underlying address always visible.
Several identities in one client with strict separation between their mailboxes.
Threads decrypt in the browser on open. The list view holds ciphertext until you ask for it.
Recipient public keys are fetched and content sealed before the request is made, per recipient.
Direct addressing between wallets with no directory in the middle to enumerate.
Files encrypted client-side and stored on distributed storage, with only the decryption key travelling in the message.
A hash commitment proves a specific message existed at a specific time without revealing anything about it.
Signatures verify in-client, so a sender cannot be spoofed by a compromised relay.
Any alteration in transit breaks verification visibly rather than silently.
A verifiable record of correspondence that can be checked independently of the product.
Layer by layer, with the reason each one exists — because the reason is usually the interesting part.
All encryption and decryption in the browser using audited primitives, with keys held only in memory for the session.
A smart contract mapping wallet addresses to messaging public keys, with rotation support and history.
A zero-knowledge store-and-forward service holding ciphertext blobs indexed by opaque recipient tags.
Attachments encrypted client-side and pinned to distributed storage, referenced by content hash.
React client with wallet connectors and a background decryption worker so the inbox stays responsive.
Technology
Measured against how the operation ran before, not against a benchmark chosen after the fact.
Key management stopped being the user's job. Messaging keys derive from the wallet, so there is nothing extra to back up.
The relay is uninteresting to attack. It holds ciphertext indexed by opaque tags and no key material.
The chain carries only what must be public. Identity binding and existence proofs, never content or metadata.
Correspondence is independently verifiable. Proofs can be checked without trusting the product.
How it ran
Defined the adversary set and wrote down exactly what a compromised relay would learn.
Key derivation, sealing and the browser worker, reviewed against the threat model.
On-chain key registry with rotation, plus name-service resolution.
Inbox, composition, attachments and the background decryption pipeline.
External review of the cryptographic implementation and the contract surface.
One connected system for a warehouse that ran on paper.
A mobile-first ERP for warehouse and e-waste operations that replaced a decade of spreadsheets, paper travellers and radio calls with a single connected system that works on the floor..
Market data, sentiment and research in one investment workspace.
An AI investment-intelligence platform that pulls market data, news sentiment and analyst research into a single workspace, so an investment team can go from a question to a defensible answer without leaving the screen..
Where candidates move, and where they stall.
A recruitment analytics platform that turns an applicant tracking system's raw event log into a picture of where a hiring funnel actually leaks, with the bottleneck named rather than left to be inferred..
Tell us what you run. We will reply within two business days with what we would build for your situation — and, just as usefully, what we would leave out.