Wallet-to-wallet mail · sealed end-to-end

Your wallet
has an inbox.

Send a message, an invoice or a payment request to any wallet. Sealed end-to-end. Settled onchain.

 

What you can send

Three things a wallet can put in another wallet's inbox.

A message

Plain words to a wallet, from a wallet. Sealed to the recipient's vault key; signed so the sender cannot be forged.

Subject · body · reply threading

An invoice

Line items, a number, a due date, an amount in ETH or any ERC-20. The recipient pays from the envelope and the receipt attaches itself.

Items · due date · pay in one tap

A payment request

An amount and a reason. When it is paid, the transaction that paid it is verified on the chain and shown to both sides.

Amount · memo · onchain receipt

01

Connect

Any browser wallet. No account, no email, no password — the address is the identity.

02

Sign once

One signature derives your vault keys on the device and publishes the public halves. It is not a transaction and costs nothing.

03

Seal and send

Write to any address. The envelope is encrypted to the recipient's key and to yours, then signed and delivered.

04

Pay in one tap

An invoice carries a Pay button. The transfer settles onchain; the receipt is verified and pinned to the envelope for both sides.

Two signatures the first time, one after that. Gas only when you pay someone.

Open your inbox

The inbox

Mail that knows what it is worth.

Requests show what is owed, invoices show what was paid and the transaction that paid it. Everything else is a message — and stays yours to read.

vaultmail / inbox / 0x71c9…9a2fPreview · sample envelopes
  • 0x8f1c6f8a2h

    Invoice INV-0042 — March retainer

    InvoicePaid
  • 0x3b9d2b0d5h

    Can you send 0.12 ETH for the venue deposit?

    RequestDue
  • 0xc47a5c7a1d

    Re: the keys for Friday

    Message
  • 0x5e2f6a0e3d

    Split for the Lisbon trip

    RequestPaid

Invoice INV-0042 — March retainer

from 0x8f1c…6f8a · sealed · signature verified

Design retainer · March0.40 ETHRevisions · 2 rounds0.10 ETHTotal0.50 ETH
Paid in full · 0.50 ETHtx 0x9b3e…41cd · block 1,204,118

Thanks again for March. April's scope is in the thread below — same terms unless you want to change something.

Sealed, signed, settled

The server carries the envelope. It cannot open it.

Your vault keys come from your wallet's signature and never leave your device. An envelope is encrypted to the recipient's key and to yours, bound to its header so it cannot be re-addressed, and signed so it cannot be forged.

Read the protocol

Sealed — only the two wallets

  • Subject and body
  • Amount, token and due date
  • Line items and invoice number
  • Which envelope a reply answers

In the clear — what the server sees

  • Sender and recipient addresses
  • When it was sent
  • Whether it is sealed or not
  • Payment receipts — public on the chain anyway

If the recipient has no vault yet

There is no key to seal to. You can still send, and the envelope is stored unsealed and labelled as such for both of you — or you share their vault link and wait. Nothing is ever downgraded quietly.

Questions

Straight answers.

Is this onchain?+

The payments are — an invoice is paid with a normal transfer on Robinhood Chain, and the receipt you see is that transaction, read back from the chain. The envelopes themselves are not; they are signed and encrypted on your device and carried by a mail server that cannot read them.

What does it cost?+

Nothing to write, read, or open a vault: those are signatures, not transactions. Paying an invoice costs the gas of the transfer, and the transfer goes straight from your wallet to theirs — VAULT MAIL takes no fee and never holds funds.

Why do I sign twice the first time?+

The first signature is the key: your vault keys are derived from it, on the device, and never stored. The second publishes the public halves under your address so other wallets can seal mail to you and check it really is you. After that it is one signature per session.

Can I read old mail on a new device?+

Yes. Wallets sign deterministically, so the same wallet signing the same text produces the same keys anywhere. A few hardware and smart-contract wallets do not; the inbox detects the mismatch and tells you, rather than silently registering a new key.

What if I write to a wallet that has never opened a vault?+

There is no key to seal to, so the envelope is sent unsealed and marked unsealed on both sides. You are told before you send. When they open a vault, it is waiting for them.

Where does the mail live?+

On the server running this site, in a database that keeps only what the sealed section above lists as “in the clear”. A hosted preview may run on ephemeral storage; the health endpoint says so, and the README says how to give it a disk.

Your wallet has an inbox.

Open it once. From then on, anyone with your address can write to you, bill you, or ask you — and you can pay them from the letter.