Free
- Notes up to 1 minute
- Unplayed notes expire after 24 hours
- One listen, then deleted from the server
- Private status link: see if it was heard, or unsend it
One-listen voice notes
Record a voice note and send the link. It plays one time, then it’s gone — deleted from our server the moment it’s delivered. We never hear it: it’s encrypted in your browser with a key that only lives in the link.
A voice note for you
It plays once. When it ends, it no longer exists anywhere on our server.
Your note
Owner
Notes are encrypted. A takedown deletes the ciphertext if it is still waiting.
Tap to record · up to 1 minute · your browser will ask for the microphone
Recording — tap the button to stop.
Encrypted here before upload. By sending you agree not to use Zecho for anything illegal or to harass anyone (terms).
Sealed. It plays once, then it’s gone.
Listen link — send this
Your private status link
See whether it was heard, or unsend it. Keep this one to yourself.
Pressing play downloads the note and deletes it from our server in the same moment. If your connection drops, it can’t be fetched again.
Already deleted from the server. This copy lives only in this tab until it finishes.
That was it. The note no longer exists on our server.
What it is
Zecho records in your browser, encrypts the recording before it leaves your device, and gives you a link. The first person to press play hears it; at that moment the encrypted file is deleted from our server. Nobody plays it twice — not the listener, not a forwarded link, not us.
Unplayed notes don’t linger either: they expire after 24 hours and are wiped.
What you’re looking at
Everything on the stage is drawn from your microphone or the note itself, analysed locally with WebAudio. Nothing about it is sent anywhere.
Idle decoration around the record button — not data.
Your live sound across 64 frequency bands, low notes at the top and bottom, from an AnalyserNode in this tab.
Recording time used, against your limit (1 minute free, 10 with the vault).
The recording itself: one bar per slice of the note, height = how loud that moment was.
While a note plays, bars the playhead passes break off and drift away. That part has been heard and won’t come back.
Sealed: encrypted in this browser and uploaded as ciphertext.
How it works
MediaRecorder captures Opus audio (AAC on Safari). It stays in this tab’s memory.
A random 256-bit key K. The recording is sealed with AES-256-GCM using a key derived from K by HKDF. A passcode, if set, is stretched with PBKDF2 (310,000 rounds) and mixed in.
Only ciphertext plus SHA-256 hashes of tokens derived from K go to the server. K goes after the # in the link — browsers never send that part.
The listener’s browser proves it holds the link. The server atomically renames the file, streams it, and deletes it — one step, so a second request finds nothing.
Decrypted in memory and played without a seek bar. When it ends, the page lets go of it.
Link previews are safe. Chat apps that unfurl links only load the page. Playing needs a tap and the key from the fragment, so a preview bot can’t use up your note.
One shot, really. If the listener’s connection drops mid-download, the note is gone. That’s the trade-off for a server that keeps nothing.
Expiry. Unplayed notes are swept every minute after they expire (24 hours free; 1 hour to 7 days with the vault).
Trust model, plainly
Built with
Opus in WebM on Chrome, Firefox and Android; AAC in MP4 on Safari. Recorded at about 48 kbps.
AES-256-GCM, HKDF-SHA-256, PBKDF2 and SHA-256 — your browser’s native crypto, no libraries.
An AnalyserNode drives the stage; the playback waveform is decoded locally with decodeAudioData.
A rename-then-unlink on the server: exactly one claim can win, even under a race.
Node with no npm packages; atomic file writes; abandoned deliveries are cleaned at start-up.
Scripts and fonts from this origin only. Microphone permission scoped to this site. No analytics, no third parties.
Features
Burn 25,000 the coin · 30 days · stacks
The coin
In Zecho, the coin does one thing: you burn some from your own wallet to turn on the vault for 30 days. It’s an SPL burnChecked in a transaction you sign — the tokens are destroyed on-chain, not sent to us — and our server reads the burn back from Solana before unlocking anything.
Burning destroys tokens permanently. It gives no return, revenue share or financial right. The free version stays free.
The coin isn’t live yet — burn-to-unlock is coming soon.
Sign in with your wallet to see your pass.
Burn 25,000 the coin → vault for 30 days
These tokens are destroyed forever. This is not a payment to us.
“Burned on-chain” counts every burn of the coin by anyone, including any burns the team makes — read straight from the token’s supply.
Privacy & safety
Terms. Don’t use Zecho for anything illegal, to threaten or harass anyone, or to share content you have no right to share. Use “Report this note” on any listen page; the operator can delete a waiting note without being able to hear it.
FAQ
No. There’s no seek bar, and the server deleted the file when it was delivered. Reloading the page finds nothing.
No. The key is in the part of the link after #, which browsers don’t send to servers. We store ciphertext and token hashes only.
No. Previews only load the page. Playing requires pressing “Listen once”, which needs the key from the link.
Then it’s gone — the server has already deleted it. Notes are small, so this is rare, but it’s the honest trade-off.
Yes. Recording uses MediaRecorder (iOS Safari 14.5+ and all current Android browsers). Very old iPhones may not play notes recorded as WebM/Opus on desktop.
No. Longer notes, custom expiry and passcodes unlock by burning the coin — not a payment to anyone.
Any wallet supporting the Solana Wallet Standard — Phantom, Solflare, Backpack and others. Listeners never need a wallet.
No Solana wallet found in this browser. Install one that supports the Wallet Standard, or open this page in your wallet’s built-in browser.
We can’t hear notes, so tell us what was wrong.