pull down to refresh

The entire point of ShieldMail (or BitMail or VMail "ValueMail") is regular email with Cashu or Lightning-based filtering built in.

I was "discussing" it with the AI and this was the AI-coded HTML "mockup."

The idea is to Color-Code incoming emails based on the presence (or lack thereof) of Cashu-based spam filters... every incoming email SHOULD be accompanied by a small eCash token (for example 10-20 sats).

  • In the above example, the token is verified as "Valid" and the Lockup period is in excess of 24 hours... so it goes to "Verified". In this particular example a higher level of Trust is sought in a professional/important relationship. Notice the "Green" coloring and emphasized "Sender Verified."
  • If the email is missing the valid eCash token it automatically goes to "junk" (which is usually grayed out/quarantined).
  • If the token is verified but is for very short duration - a short duration after which it may be "claimed" by the sender - then the message is categorized as "Unverified" or Yellow/Cautionary.

Unverified senders plus Lockups of short duration... don't meet the 'Trust' threshold required of "Verified"/Green emails.

On the other hand... if the sender is on a "safe" list or has already been verified through relationships (family/friend/personal contact) then no "bond" or eCash token is needed.

  • "Trusted" headers always appear Blue.


To make this trust-based model fair to both sender and receiver... there has to be a mechanism to "refund" the token to the sender if the recipient does not respond or goes AWOL.

Would you send bearer Sats (eCash) over email if you thought the recipient didn't give a shit and wouldn't acknowledge them/give them back? I know I wouldn't. It would be like "gifting sats" to someone who doesn't care to receive them... possibly permanently.

On the other hand, very short duration "Locktimes" would allow spammers to quickly 'revoke' / refund their own tokens. Anything less than 24 hours to respond/claim the Cashu token could possibly be abused.

In order to both ensure that the recipient is the only one who can receive the eCash token AND ensure that it is recoverable in event of loss/apathy/negligence on the part of the Email recipient...

We can use Cashu Nuts 10 and 11 for this (Cashu fixes this). From the Cashu Docs: https://cashubtc.github.io/nuts/11/#refund-multisig

Refund MultiSig¶
Refund Multisig allows proofs to be additionally spendable by a separate set of public keys once the locktime has expired. These public keys are stored in the refund tag, and can include keys previously listed in data or pubkeys.
Locktime Multisig conditions continue to apply, and the proof can continue to be spent according to Locktime Multisig rules.
In addition, the Proof can be spent if a valid signature is given by at least ONE of the public keys contained in the refund tag.
If the n_sigs_refund tag is a positive integer, the mint will require at least n_sigs_refund of those refund public keys to provide a valid signature.

If I'm understanding correctly... after a certain amount of time (for example > 24 hours) if the token isn't claimed by the email recipient the sender can take it back.... depending on the "Locked Time".

In addition to this, the token can be "Locked" to the recipient's public key making it impossible to get stolen/intercepted en route while emailed. From the Docs: https://cashubtc.github.io/nuts/11/#nut-11-pay-to-public-key-p2pk

This NUT describes Pay-to-Public-Key (P2PK) which is one kind of spending condition based on NUT-10's well-known Secret. Using P2PK, we can lock eCash Proofs (see NUT-00) to a receiver's ECC public key and require a Schnorr signature with the corresponding private key to unlock the ecash. The spending condition is enforced by the mint.
  • The Big Idea is to provide a relatively seamless "spam barrier" to large-volume spammers... while minimally inconveniencing legitimate users and improving trust and cooperation using email correspondence. An email that's replied to can "return the Sat" seamlessly in the reply... and mark the sender Verified (by returning the eCash token and changing from Green to Blue).
  • On the other hand, Spam Scams or Phishing won't even make it to the inbox without paying and won't make it to the "Top" without a reasonable time allowed to respond and claim the token in event of abuse.

In short, tokens inside Abusive/Misleading Spams and Scams either get claimed (by the receivers) or never get anywhere near the primary inbox.

It's like Proof-of-Work for your Email!

Summarized by AI:

Inbox: Email arrives. Icon shows "Locked Bond: 1000 Sats (Expires in 23h 59m)".

Action: "Mark as Spam": Client signs the token with Receiver's Private Key, swaps it for a fresh token (ownership change), and credits the user's wallet. Spammer loses money.

"Reply": Client signs the token, swaps it, and attaches the new token to the outgoing email. Bond returns to Sender.

"Ignore": Client does nothing.
After 24 Hours: The Receiver's client sees the token is still "live" but the locktime has expired. The icon changes to "Expired / Returnable."

The Sender's client checks the status. Since the Receiver didn't claim it, the Mint now allows the Sender to sign and reclaim the funds.

Exactly how many hours and how much time (24 vs 48 hours) should be configurable by the user... just like on Stacker News some sub-categories require higher fees to reduce spam and this can be changed as appropriate.

In summary of the Spam Barrier or Satoshi-PoW-HashCash-Shield for your Email... (hence ShieldMail)

There is a massive economic Asymmetry for Spammers.

A Legit User: Sends 1 email. Receiver replies or ignores. Funds likely return. Cost = 0.

Spammer: Sends 1,000,000 emails. Your client software likely seizing the tokens means the spammer sends 1M tokens and the act of sending... irrevocably transfers control of those tokens to the recipients.

Even if the recipients ignore the spam, the Spammer has to wait for 1,000,000 "Auto-Return" emails/expirations to trickle back in. If 1% of recipients mark as "spam" the Spammer loses 10,000 tokens instantly.

This way the inconvenience for legitimate users is minimal but the cost to spammers very high.

All made possible through Bitcoin, Lightning and eCash.


Now, how do I actually, technically accomplish this and do the Stackers think it's possible?

First of all, the regular email user has to generate a Nostr/12 word private key and from that derive the public key where they receive the eCash tokens. And their email client has to be compatible with the changes to the software/ability to "recognize" the Cashu Tokens plus public keys.

Sometimes AI suggests some really goofy things... here's what it said:

The Solution: The "Local Proxy" (The Bridge)

Instead of building a full email client from scratch or fighting Chrome Extension sandboxing rules, we build a lightweight Local Email Proxy.
Name: ShieldProxy
How it Works:
User installs ShieldProxy (a small background app on Windows/Mac/Linux).
User configures their existing email client (Thunderbird, Apple Mail, Outlook) to connect to localhost:1143 instead of imap.gmail.com.
User inputs their real credentials into ShieldProxy.
The Magic:
ShieldProxy fetches the email from the real server (Gmail).
It parses the headers for X-Cashu-Token.
It modifies the Subject Line: Original: "Hello There"
ShieldProxy Output: "🟢 [SECURED] Hello There" (or "🔴 [UNVERIFIED] Hello There")
It modifies the Body: It injects a small HTML block at the top of the email body:
🛡️ Spam Shield Active This email is backed by a 48-hour lock. [ Click here to verify & reply securing the funds ] (Link to local control panel)
Why this works:
Universal Compatibility: Works with any email client that supports IMAP/SMTP.
No UI needed: The "UI" is just text injection in the email itself.
Power User Features: The user can click the link in the email body to open a local web config page to manage their keys, view their "Shield History," or manually claim spammers' funds.
The "Reply" Flow with Proxy:
When the user replies in Thunderbird, the email goes to localhost:25 (SMTP).
ShieldProxy catches it.
It checks if it's a reply to a secured email.
If yes, it performs the Cashu swap/sign operations, attaches the new token headers, and then forwards it to the real SMTP server (Gmail) for delivery.
Technical Feasibility Check
Libraries: node-imap-handler and smtp-server for Node.js are battle-tested.
Cashu-ts: Works perfectly in Node environment.
Key Storage: The proxy stores the keys locally, encrypted. No browser extension limits.
This "Local Proxy" architecture allows you to ship a "Spam Shield" that works with the email client the user already loves, rather than forcing them to switch to a new, buggy app. It lowers the barrier to entry significantly.

I have no idea to be honest if that would actually work on a technical level, and to be honest I have only scratched the surface exploring it.

So what do the Stackers think? Is a "ShieldProxy" capable of parsing headers in the background? Modifying subject lines and being compatible with Thunderbird, Apple Mail and Outlook? Or is the AI full of ****?

One way or the other I'm going to find out! I'm pretty determined and I won't quit!

Thank you for the feedback.

how interesting