ZLatch
drand round
—
waiting for the first beacon

connecting to drand quicknet…

Time-locked messages & files

Seal it until the day it’s meant for.

Write a message or attach a file, choose a moment, share the link. Until that moment nobody can open it — not the person you send it to, and not us. The lock is math, not a promise.

Attach files — drop here or browse · up to 2 MB
    Opens

    —

    Free: files up to 2 MB · opens within 30 days · kept 30 days after it opens · 1 link

    Encrypted in this browser. Our server stores ciphertext it cannot open — before or after the date. By sealing you agree not to store anything illegal (terms).

    How it works

    What it is

    A time capsule that keeps its own promise.

    ZLatch seals a message or files until a moment you choose. Your browser encrypts the contents so that the key can only be rebuilt once the drand randomness network publishes the round for that moment. Until then the capsule is closed for everyone — the people holding the link, and the server holding the ciphertext.

    After the moment passes, opening still needs the secret inside your link, which never reaches our server. So we can’t read your capsule at any point.

    • Letters to later. A note to your future self, a birthday message written months ahead, a reveal for a set date.
    • Sealed commitments. Share a prediction or a decision now; it opens on schedule and nobody can peek early.
    • Delayed hand-overs. Instructions or files that should only become readable from a certain day.
    • Checkable by anyone. Every link shows the countdown and the drand round it is bound to. Nobody can shorten it.

    What you’re looking at

    Every part of the dial is live.

    The vault at the top is driven by drand quicknet — a public randomness beacon run by independent organisations that publishes a new signed value every three seconds.

    Steel bezel

    Turns one notch for every drand round. A full turn is 60 rounds — three minutes. The marker at the top is now.

    Ring of characters

    The 64 hex characters of the latest beacon’s randomness, after our server checks its BLS signature against drand’s public key.

    32 bolts

    Bolt i is thrown when byte i of that randomness is 128 or more — a pattern nobody can predict, renewed each beacon.

    Brass arc

    How much of the wait has passed, from sealing to unlock, for the capsule on screen. While creating, it previews the time you chose.

    Pulse

    A new verified beacon has just arrived.

    Brass → sea-green

    The capsule’s round has been published. The bolts retract and the contents can be decrypted.

    How it works

    Two keys: one from time, one from your link.

    1. 1

      Pack

      Your browser bundles the message and files into one blob.

    2. 2

      Encrypt

      AES-256-GCM with a random content key. That key is wrapped with HKDF(time secret ‖ link secret) — one wrap per link.

    3. 3

      Time-lock

      The time secret is encrypted with drand tlock to round N. Its decryption key is drand’s signature on N, which the network only produces at that moment.

    4. 4

      Store

      Our server keeps the ciphertext and the round number. The link secret stays after the # in the URL — browsers never send that part.

    5. 5

      Open

      After round N, your browser fetches that round’s signature through our relay, checks it against drand’s public key, rebuilds both secrets and decrypts locally.

    your browserencrypts · decrypts ZLatch serverciphertext + round only drand quicknetsigns a round every 3 s

    Precision. drand quicknet publishes a round every 3 seconds, so a capsule opens within about 3 seconds of the time you chose.

    Solana-slot mode converts a slot into an estimated time using the network’s recent slot rate (read from Solana RPC, at most twice a minute). The lock itself is time-based, so for far-off slots the real slot and the opening time can drift apart by minutes.

    Before the moment our server also refuses to hand out the ciphertext. That is policy on top; the cryptography is the actual guarantee.

    Trust model, plainly

    What we can see — and what we can’t.

    We can see

    • That a capsule exists, its size, when it was created and the round it opens at.
    • How many times each link’s ciphertext was downloaded after it opened.
    • Your IP address — in memory only, for rate limiting. It is not written to disk or logs.
    • Your wallet address, if you sign in for the vault features.

    We can’t see

    • The message, the files or their names — ever, before or after the date.
    • The secret in your link (it stays after the #) or your manage key.
    • Link labels — they’re encrypted with your manage key.
    • Anything early: before round N the time secret can’t be recovered by anyone, us included.

    What you are trusting

    • drand’s threshold. The time-lock holds as long as fewer than drand’s threshold of independent node operators collude to sign a future round early.
    • The code this page runs. As with any web app, the server delivers the JavaScript. Our own scripts are unminified and readable; the time-lock library is a pinned build of tlock-js 0.9.0.
    • Your links. After the date, anyone holding a link can open the capsule. Share links like keys.
    • Our storage. If this server loses data, capsules stored only here are gone — keep the backup file for anything important.

    Built with

    Standard parts, carefully joined.

    tlock + drand

    tlock-js 0.9.0 and drand-client 1.2.5, vendored and pinned. The time-lock layer is the standard age + tlock format, the same one drand’s tle tool reads.

    quicknet

    BLS12-381, unchained beacons, RFC 9380 hash-to-curve, 3-second rounds. The chain hash and public key are pinned in both page and server.

    WebCrypto

    AES-256-GCM, HKDF-SHA-256 and SHA-256 from your browser’s native crypto. Random keys from crypto.getRandomValues.

    Canvas instrument

    Pre-rendered brushed-metal layers, conic gradients, adaptive resolution. Pauses off-screen and respects reduced motion.

    Verifying relay

    A zero-dependency Node server. Every drand beacon is BLS-verified before it’s cached; future rounds are refused without asking drand.

    Strict CSP

    Every script and font is served from this origin. No analytics, no third-party requests, no cookies unless you sign in.

    Features

    Free stays free. The vault adds room.

    Free

    • Messages plus files up to 2 MB
    • Open up to 30 days ahead; kept 30 days after it opens
    • One link per capsule
    • Private manage link: delete the capsule or revoke the link
    • Backup file (.zlatch) and the Solana-slot option

    Vault — unlock with the coin

    • Files up to 25 MB
    • Open up to 1 year ahead; kept 1 year after it opens
    • Up to 10 links per capsule, each with its own key, a private label and its own revoke switch
    • Download counts per link on the manage page

    Burn 50,000 the coin · 30 days · stacks

    The coin

    Burn to unlock. Nothing else.

    In ZLatch, the coin has one job: you burn some from your own wallet to open the vault features for 30 days. The burn is an SPL burnChecked in a transaction you sign — the tokens are destroyed on-chain, not sent to us. 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.

    Vault pass

    Sign in with your wallet to see your pass.

    These tokens are destroyed forever. This is not a payment to us.

    Burn ledger

    Burned through ZLatch—
    Burns—
    Current supply—

    “Burned on-chain” counts every burn of the coin by anyone, including any burns the team makes — read straight from the token’s supply.

    • No burns yet.

    Privacy & safety

    What ZLatch never does.

    • Never holds your funds and never asks for a seed phrase or private key.
    • Signing in is a free message signature — it can’t move anything.
    • A burn is shown with its exact amount before your wallet asks you to sign.
    • The Solana RPC key stays on the server; your browser only talks to this site.
    • No analytics, no trackers, no third-party fonts or scripts.

    What is stored, and for how long

    • Capsules (ciphertext + round): deleted 30 days after they open (1 year with the vault), or when you delete them.
    • Sign-in sessions: 24 hours.
    • Burn ledger: wallet, amount and transaction — public on-chain anyway, kept to show the ledger.
    • Reports: capsule id and reason, until the owner reviews them.

    Terms. Don’t use ZLatch to store or share anything illegal, to harass anyone, or to distribute malware. Use “Report this capsule” on any capsule page; the operator can delete reported capsules without being able to read them.

    FAQ

    Questions, answered straight.

    Can anyone open it early — even you?

    No. The key needs drand’s signature for the chosen round, and that signature doesn’t exist until the network produces it at that time. Our server holds only ciphertext; even after the date it lacks the secret in your link.

    What if I lose the link?

    The link’s secret exists only in the link (and in your backup file). We can’t recover it — that is the point. Keep the link somewhere safe.

    What happens if ZLatch goes offline?

    Download the backup file when you seal. It holds the ciphertext, the standard tlock blob and the first link’s key. The format is documented in /js/capsule.js; drand’s beacons stay public, so it can be opened with any compatible tooling after the date.

    Is it “trustless”?

    Not completely, and we don’t claim it is. You trust drand’s threshold of independent operators not to sign rounds early, and you trust the JavaScript this site serves. See the trust model above.

    Why does the Solana-slot option say “estimated”?

    Slots don’t arrive at a perfectly fixed rate. We convert your slot to a time using the recent slot rate and lock to that time. For targets far in the future the actual slot at opening time can differ.

    Does it cost anything?

    No. The free tier stays free. Larger files, longer horizons and multiple links unlock by burning the coin — no payment to anyone.

    Does it work on my phone? Which wallets?

    Yes, sealing and opening work in any modern mobile browser. For the vault, any wallet that supports the Solana Wallet Standard (Phantom, Solflare, Backpack and others) can sign in.