Free
- Pair any two browsers by QR code
- Text, Solana addresses and files up to 2 MB
- 10-minute sessions, 8 MB relayed per session
- Five-emoji verify code
- No account, no wallet
Desktop · end-to-end encrypted · nothing stored
Making a one-time key…
Step 1
The key is in the part of the link after “#”, which browsers never send to servers. Single use: the first device that scans it takes the slot.
Step 2 · compare
Waiting for the other screen to confirm too.
The relay forgot it. Nothing was stored.
Remembered devices
01
ZPair moves a piece of text, a wallet address or a small file between a phone and a computer — no account, no cloud drive, no messenger, and a server that can't read what passes through it. Scan, compare five emoji, send. The session disappears after 10 minutes.
02
A green dot means that device is connected to the relay right now. The screen turns blue when a phone has joined, lime once you confirmed the verify code.
Each row is the first bytes of a real frame's ciphertext — literally what the relay receives. It never gets anything readable.
One per frame that crosses, in the direction it travels. The label is the start of its ciphertext; bigger frames draw wider.
The phone's one-time public key on its way to the desktop. Public keys aren't secret; the pairing secret never crosses the wire.
The link's remaining lifetime (10 minutes free). It turns red near the end; at zero the relay deletes the link and everything queued in it.
The link's whole lifetime from left to right, with a cursor at “now”. Each tick is a real frame — up for desktop → phone, down for phone → desktop, taller for bigger frames.
03
Your desktop makes an X25519 key pair and a 32-byte secret, and puts both after the “#” in the QR's link. Browsers never send that part to servers, so the relay only learns a random link id.
Your phone opens the link, removes the key from the address bar, makes its own key pair and sends its public half plus a confirmation value.
Both sides run X25519 then HKDF-SHA-256, salted with the secret from the QR. The desktop checks the phone's confirmation; a device without the secret is turned away.
Both screens show the same five emoji, derived from the shared keys. If they match, the phone you hold is the one on the line.
Text, addresses and file chunks travel as AES-256-GCM frames with numbered IVs. The relay keeps them in memory until the other side acknowledges, and deletes the link after 10 minutes or when either side ends it.
Limits, plainly: files up to 2 MB and 8 MB per session on the free plan; a link serves exactly one phone; if either browser closes, frames wait in the relay's memory until it reconnects or the link expires. ZPair uses no Solana RPC at all for pairing — the only on-chain step is the optional burn.
04
05
25,000 tokens burned · 30 days · stacks
Sign in on the desktop with the wallet that burned; sessions it opens get the premium limits. The phone never needs a wallet.
Checking…
Burning destroys tokens permanently. It does not give you any return, revenue share or financial right. The free version of this app stays free.
06
In ZPair, the coin does one thing. You burn it from your own wallet in a transaction you sign, and the server reads that burn back from Solana before switching premium on for 30 days. The SPL Token program destroys the tokens — nobody receives them. The coin is coming soon; until then the burn shows “Coming soon”.
Burning destroys tokens permanently. It gives no return, revenue share or financial right. The free version stays free.
07
You trust the page this server sends — as with any web app, the code that does the encryption comes from here. Given that code, the relay can delay or drop frames (numbered frames make that visible) but cannot read or change them.
The emoji protect against a photographed QR. If someone else scans your code first, your own phone is refused (“already scanned”) and the desktop shows a device you don't hold — end the session.
Nothing is stored. Frames live in memory until delivered and are deleted with the link. Only burn records, sign-in sessions and premium pair records touch disk. ZPair is not anonymity software.
Abuse: the person receiving can press “Report & end” — the link is closed at once and its id plus the reason are recorded for the operator (there is no content to keep). Size caps, rate limits and expiry apply to everyone. Sending illegal material is forbidden by the terms below.
08
No. Frames are ciphertext held in memory until the other device acknowledges them, then dropped. When the link ends — after 10 minutes, or when either side presses End — anything still queued is deleted.
The QR protects against the relay. The emoji protect against a person who photographs your screen and connects before your phone does. If the two screens show the same five, the phone you're holding is the one on the line.
No. Pairing and sending need no account and no wallet (the relay still sees IP addresses while you're connected, as any website does). A wallet is only used to sign in for the optional premium unlock.
Current Chrome, Edge, Firefox and Safari on desktop and mobile — they need X25519 in WebCrypto. Any phone camera that opens links from QR codes can do the scan.
2 MB per file and 8 MB per session on the free plan; 25 MB per file and 120 MB per session with premium. Files are encrypted in 192 KB chunks and reassembled on the other screen.
Yes. “Desktop” just means the screen that shows the code; any browser can scan it.
The server builds an unsigned transaction containing one SPL burnChecked for the amount shown plus a memo. You review and sign it in your wallet; the server reads it back from the chain and extends your unlock by 30 days.