guest@rhmask:~$ whoami
Wall Street sees everything.RhMask sees nothing.
# Tokenized stocks put the market on a public ledger. Your entries, your exits, your whole bag, readable by anyone. RhMask is the privacy layer: receive unseen, pay unseen, and earn real stock tokens for holding the line.
// No sign-up, no email, no KYC. Keys are generated on your device and never leave it.
$ rhmask status
- chain
- robinhood · 4663
- keys
- local only
- server
- none sees a key
$ rhmask pay --token NVDA --amount 1.5
→ one-time address derived. scan to pay:
- ✓ derived in the payer's browser
- ✓ unlinkable to your wallet
- ✓ receipt QR proves it is yours
awaiting payer scan…
- ●NVDANVIDIA
- ●SPYSPDR S&P 500 ETF
- ●TSLATesla
- ●AAPLApple
- ●MSFTMicrosoft
proof, not promises
Numbers you can reproduce.
$ npm run check:onchain
read-only against mainnet · signs nothing
- 5
- ✓ stock tokens verified receivable on a fresh stealth address
- 189
- ✓ assets across 35 chains routable through private fills
- 0
- ✓ servers that ever see a private key
- 310k
- ✓ PBKDF2 rounds protecting keys at rest
what you get
Five surfaces, one promise.
Each one answers a question you should never have to ask in public: was I seen, and was I paid?
$ ls surfaces/ --long
Ghost Receive
$ rhmask receive
Publish one meta-address. Every payment lands on a fresh address nobody can link back to you.
- ERC-5564 stealth addresses
- Keys generated in your browser
- Encrypted at rest with a passphrase
[beta]Private Pay
$ rhmask pay
Show a QR, get paid on a one-time address, hand back a receipt QR. Three scans, no server in the middle.
- Request, pay, claim, sweep
- Works from any wallet
- Scan with a plain phone camera
[beta]Mask Swap
$ rhmask swap
Route swaps through private fills instead of public order books. Venue and flat fee printed before you send.
- 189 assets across 35 chains
- Receive on a fresh stealth address
- Non-custodial, deposit goes to the venue
[beta]Blue Chip Vault
$ rhmask vault
Stake $MASK. Protocol revenue buys stock tokens and streams them to stakers, paid in NVDA and SPY.
- Paid in stocks, not in more $MASK
- Funded from day one by the creator fee
- Holders vote the basket
[planned]Proof Ledger
$ rhmask ledger
Every payout listed with its transaction hash. If it is not on the ledger, it did not happen.
- Nothing estimated, nothing back-filled
- Public feed anyone can mirror
- Ships with the vault
[planned]
second surface
Browser extension
A chip beside any address field on any site. One click pastes a fresh stealth address and keeps the receipt, so privacy happens at the exact moment you would otherwise leak.
$ npm run build:extension
how it works
Four steps, no accounts.
The whole flow runs in your browser. The network is touched only to read a balance or move funds.
01
keygen()
Generate your keys
Two keys, made locally and never sent anywhere. Share the meta-address once, keep the spending key.
02
request()
Show a QR, get paid
The payer scans it, derives a one-time address, and sends from any wallet. Your balance never piles up.
03
claim()
Claim with a scan
Their receipt QR proves the payment is yours. Your viewing key finds it, your spending key unlocks it.
04
sweep()
Sweep, or get paid in stocks
Move funds anywhere, or stake $MASK and receive a basket of stock tokens, hash by hash.
## what is hidden
- The link between your identity and a receiving address.
- Your order, from public order books and mempools, as a visible swap.
- Your balance history, because it never piles up on one wallet.
- Your IP from the chain's node operator: requests go through this app's own origin, not to them.
## what stays visible
- On-chain settlement itself. The chain is public by nature.
- The venue filling an order sees the deposit and the receiving address.
- Your IP from us. Our host logs it like any web server. Point the app at your own node and nobody sees it.
// We never write “anonymous” or “untraceable”. Privacy claims always ship with their limits.
under the hood
Standards, not slogans.
Everything marked live has a test and a URL. Everything else is on the roadmap with a phase, and the site says so on the screen where it matters.
read the docs$ cat standards.txt
- ERC-5564Stealth addresses with view tags[live]
- WebCryptoPBKDF2 + AES-256-GCM at rest[live]
- ERC-6538Meta-address registry[planned]
- WebAuthn PRFUnlock with a passkey[planned]
- EIP-7702Sponsored stealth sweeps[planned]
- ERC-7683Intent-based private fills[planned]
$ cat token/MASK.md
A token that pays you in someone else’s stock.
$MASK buys access and fee discounts. It never buys route quality. Stake it and the vault pays you in a basket of stock tokens funded by protocol revenue. Every trade of $MASK and every routed swap feeds the same vault.
- Fixed supply. No mint. No admin keys.
- Fair launch on a public bonding curve. No presale, no team allocation.
- Rewards paid in stock tokens, on-chain, with a hash.
- Holders vote which stocks enter the basket.
const launchBasket = // planned
"NVDA"
NVIDIA
"SPY"
SPDR S&P 500 ETF
"TSLA"
Tesla
"AAPL"
Apple
"MSFT"
Microsoft
// Basket composition is governed by stakers after launch. Stock tokens are issued by a third party, and every address is re-verified before a release.
$ rhmask init
Own the market. Stay unseen.
Generate your keys in about ten seconds. No wallet connection needed to start, and nothing to sign up for.