Get paid without a trail.
One public tag. Every payment lands in a fresh address only you can open.
Your tag
Sign one message and your wallet derives two keys: one to spot payments, one to spend them. Your tag is their public half. Post it anywhere.
Signing is free and sends nothing. Same wallet, same tag, every time.
Connect a wallet first. It will ask you to sign “Cipher key v1”.
Keys live in this tab's memory only. Nothing is stored; closing the tab locks it.
Send
Pay any Cipher tag. The chain sees a transfer to an address nobody has used before. The tag never touches the chain.
Minimum 0.00089088 SOL (rent for a brand-new account). Network fee about 0.000005 SOL.
Inbox
Your browser reads the public Cipher ledger and checks each payment against your scan key. Matches are yours. Nothing about your keys leaves this tab.
Sweeping moves the balance out and closes the one-time account. The account pays its own 0.000005 SOL fee.
Locked. Unlock your tag to scan for payments.
Unlock my tagTip: sweep to a fresh wallet that has never touched your main one.
What the chain sees What you see
How it works
-
1
Unlock
You sign a fixed message. Its hash becomes two private keys: scan and spend. Your tag is their public halves, 64 bytes in base58. No transaction, no cost.
-
2
Send
The sender's browser picks a random number and mixes it with your tag into an address no one has seen. One transaction: the SOL, a memo with a public hint, and a 0 SOL ping so the payment can be found. Fee about 0.000005 SOL.
-
3
Scan
Your browser takes each hint from the ledger and runs it through your scan key. Only you get the same address back. Everyone else sees a random wallet with a balance.
-
4
Sweep
Your spend key plus that hint gives the address's private key. One transaction moves the balance, minus 0.000005 SOL, to any wallet and closes the account to zero.
r random secret
R = r·G public hint
S = r·Scan shared secret
P = Spend + hash(S,R)·G
SOL → P a fresh address
memo CIPHER1:R
no tag, no link to you, no link between payments
S = scan·R same secret
P' = Spend + hash(S,R)·G
P' = P it's yours
key = spend + hash(S,R)