Introduction
ephemeral is the private receive layer for Ethereum. Every payment lands on a new address that only you can find and spend from.
On Ethereum, an address is a public record. Anyone who knows yours can read every payment it ever received, its balance, and who paid it. Most people share one address for everything: salary, invoices, gifts, refunds. That single address quietly becomes a public bank statement.
ephemeral gives every payment its own one-time address. The sender computes it from a public meta-address that you share once. Only you can find the payment and only you can spend from it. Nothing is pooled, nobody else's funds touch yours, and no server of ours sits in the middle.
ephemeral is built on ERC-5564, the Ethereum standard for stealth addresses, and ERC-6538, its public registry. Payments to and from any other wallet that implements ERC-5564 work both ways.
What makes it different
Measured, not assumed
We scanned every announced stealth payment on Ethereum mainnet. 38.97% of withdrawn stealth addresses were traced to their owner.
Safe by default
Privacy usually breaks after the payment, when funds move. The client is designed to block or warn on the five habits that give stealth payments away.
Open standards
Same Announcer and registry as every ERC-5564 wallet, at the same address on Ethereum, Arbitrum, Base, Optimism and Polygon.
No keys but yours
Keys are derived in your browser and never leave it. No custody, no admin keys, nothing we run can move funds.
How it fits together
You publish a meta-address once. The app derives two key pairs from one signature of your wallet: a spending key and a viewing key. Their public halves form your meta-address, st:eth:0x…. You can also publish it in the ERC-6538 registry so that anyone can find it from your normal address.
A sender computes a fresh address for each payment. From your meta-address and a random key of their own, the sender's wallet derives a new address that has never appeared on-chain. It pays that address and publishes an announcement in the same transaction.
Your client finds the payment locally. It reads the public announcements and checks each one with your viewing key. A one-byte view tag discards almost every announcement that is not yours after one elliptic-curve multiplication, skipping the rest of the derivation.
You spend it without leaking. Only your spending key can produce the private key of the new address. When you move the funds, the client steers you away from the moves that would link the address back to you.
The math behind each step is in Stealth address math.
What it does not do
- It does not hide the sender. A stealth payment hides who received it. The chain still shows who paid, how much and when. To hide the sender as well, pay from funds that are private already, for example from a stealth address you received to, or from a shielded pool.
- It does not make you invisible. Timing, amounts and your own habits can still link payments. Privacy on a public chain is statistical, and the stated limits say where it ends.
- It is not a mixer. There is no pool and no shared contract holding funds. Each payment goes straight from the sender to an address that belongs only to you.
Status
| Part | Status |
|---|---|
| Leak scanner and research | live |
| Client: receive, send, scan, safe withdrawals | building |
Private names, name.ephmrl.eth | next |
| SDK for other wallets | next |
| Gasless private withdrawals | next |
The long-term plan is on the roadmap.