A message is a shielded transaction.

stealthtext doesn’t invent a messaging network. It reuses Stealth’s shielded rail — the machinery that already moves money privately — to carry text instead. Here’s the whole machine, plus the one caveat we state up front.

Cost to send
$0.00
Feeless by protocol
Authentication
zk-STARK
Post-quantum
Metadata
Hidden
Sender + recipient
Lifetime
2wk
Then it’s gone
01

The shielded rail

How a message travels

Every message rides stealthprivate, Stealth’s shielded rail — the same private-transaction machinery that carries private payments. A message travels as an encrypted, STARK-proven shielded action: the recipient and the message live inside a cryptographic commitment, the sender is hidden behind a nullifier, and no address ever appears on-chain.

01

Write

Your message is encrypted to the recipient, on your own device. Plain text never leaves it.
02

Prove

The app builds a zero-knowledge (STARK) proof that the action is valid — without revealing who, to whom, or what.
03

Broadcast

The proven, encrypted action is published as a shielded action. No name, number, or address is attached.
04

Carry

Stealth’s network nodes relay and confirm it. No company server sits in the middle.
05

Receive

Your wallet trial-decrypts locally to find the messages meant for you. The network never learns the recipient.
02

Proofs & encryption

Two layers, no backdoor
ZK

Validity without disclosure

Each message carries a STARK proof that it’s well-formed and authorised — verifiable by anyone, revealing nothing about sender, recipient, or contents.
E2E

Only the recipient can open it

The text is encrypted to the recipient’s key — not a server (there isn’t one), not a node, not us. No backdoor, because no one sits in the middle.
PQ

Post-quantum, proof and encryption

Each message is authenticated with post-quantum zk-STARKs and sealed with a post-quantum encryption KEM — proof and privacy both post-quantum, with no harvest-now-decrypt-later window.
03

Feeless — without spam

The bond, not a fee

Sending costs no fee. So what stops a flood of spam? Two things — neither a charge you pay per message.

Bond

Locked, not spent

To send, you post a one-time bond — locked, and refunded when you unbond. It makes throwaway spam accounts expensive to run, not something you lose by using the app. Receiving is always free.
Proof

Can’t flood faster than you can prove

Every message also carries a small proof that’s quick to make on a phone but costly to mass-produce — so the cost of flooding climbs with the flood.
Block

Always in your hands

Block any address at any time — including ones that have never bonded — and unblock whenever you like.
04

Throughput — measured

Do messages pile up?

Because a message rides the same shielded rail as a private payment, its throughput is the rail’s — measured on a real wide-area fleet at about 43 messages per second, and a genuine chain ceiling (your device can originate far faster). Under normal load a message confirms in seconds; a one-time burst is absorbed by the queue and drains. A lasting backlog would need sustained demand above that rate.

05

The disappearing act

What “disappears” means

After two weeks, a network-wide expiry removes every message from the network — for both sides. No server keeps a copy; there’s nothing to restore. Precisely: messages are removed from honest nodes’ storage and become unreadable to everyone. That’s a property of the honest network, not a mathematical impossibility — which is why we never say “gone forever.” The one guarantee we hold to is confidentiality: post-quantum encryption protects a captured copy against any adversary, classical or quantum — there is no harvest-now-decrypt-later window. By default your device keeps nothing; a local encrypted copy is opt-in, and you can delete it anytime.

06

Straight talk: what’s visible

Honesty is the pitch
Hidden

Sender · recipient · content · length

The recipient stays hidden even from network nodes, decided only by trial-decryption on their own device. And every message is padded to a fixed size, so how long it is stays hidden too.
Visible

That a shielded action happened

An observer can tell shielded activity occurred, and roughly when — never who, to whom, or what. We don’t claim invisibility; we claim what we can keep.

That’s the machine.

The rest is just typing. stealthtext runs on Stealth’s shielded rail — feeless, metadata-hidden, and post-quantum-authenticated.