Lantern ZeroGitHub

For Zcash wallets

Know the moment you're paid.

Lantern Zero wakes your wallet every 30 minutes so it stays in sync. Turn on scanning and it tells you within seconds when a payment arrives.

Pre-alpha · the hosted service isn't open yet

Two modes, one URL

Choose how much the server knows

Default

Keyless wake-ups

Every device gets the same quiet ping every 30 minutes. Your wallet wakes, downloads the new blocks and finds your payments itself. The server never sees a viewing key.

Opt-in

Payment alerts in seconds

Lend the server an incoming viewing key for 24 hours to 7 days. It watches new blocks and the mempool, sends an encrypted alert, and tells your wallet which blocks to scan first.

Open source

Run your own

The server, push gateway and client library are open source under MIT or Apache-2.0. Hosted and self-hosted servers use the same connection URL.

How it works

Three steps, then nothing to think about

  1. Get a connection URL

    Sign up on the web. Your browser creates the account token, and the service only ever stores a hash of it.

  2. Paste it into your wallet

    It works like a custom server address. Wallets accept it by paste or by scanning a QR code.

  3. Your wallet stays current

    It wakes every 30 minutes and checks about 72 new blocks on the phone. With scanning on, it hears about a payment within seconds.

Example connection URL

lanternzero://lanternzero.com#lzt_…7Qa2

The part after # is your account token. Wallets keep it in the keychain and show only the last four characters.

Privacy

What the server can and can't see

These rules are part of the open protocol, and the code is tested against them.

  • Not your IP address

    Every request travels through an independent relay using Oblivious HTTP. The relay sees your address but not the request; the server sees the request but not your address.

  • Not which mode you use

    Requests from default and scanning users look the same, and everyone gets the same scheduled pings. Instant payment alerts are the one exception, explained below.

  • Not what you were paid

    Pushes are encrypted to your device and padded to the same size, so no amount, memo or transaction ID is readable on the way. Apple and Google see only when a push arrives.

  • Not your keys, for long

    A viewing key you lend is held only in memory, never on disk, in logs or in backups. It is dropped when the lease ends, and payment matches are deleted within 7 days.

Who sees what, hop by hop

Each party learns only what it needs to pass a message along. The orange arrows carry your data, encrypted so that only its destination can read it.

Requests from your wallet

  1. Your walletOn your phoneLearns: Everything about your own funds. Your spending keys never leave it.
  2. RelayRun by an independent organizationLearns: Your IP address, and the size and timing of requests. Not what they say.
  3. Lantern Zero serverHosted by us, or self-hostedLearns: That your account exists. In scanning mode, the payments you receive while your key is lent.

Pings and alerts to your phone

  1. Lantern Zero serverHosted by us, or self-hostedLearns: Sends the same encrypted ping to every device every 30 minutes.
  2. Push gatewayRun by your wallet's developerLearns: Your device's push token, and when pushes are sent.
  3. Apple or GoogleDelivers the pushLearns: When a push reaches your phone.
  4. Your phoneDecrypts the pingLearns: Wakes your wallet to check new blocks, or shows a payment alert.

Your light wallet server still sends your wallet its blocks. It sees your IP address and which blocks you download, just as it does today.

If a relay and the server worked together, they could link your IP address to your account. That's why relays are run by independent organizations, and wallets spread requests across at least two of them.

Instant payment alerts arrive outside the 30-minute schedule, so the push gateway and Apple or Google can tell when you were paid. Choose private alerts to fold them into the next scheduled ping instead, at the cost of up to about 35 minutes' delay.

For wallet developers

Add Lantern Zero to your wallet

Accept a connection URL, run a push gateway, and your users get faster sync without trusting a new party with their keys.

  • Your push gateway holds your APNs and FCM credentials. Pings reach it encrypted to the device.
  • Run the reference gateway yourself, or have us host one for you.
  • Pre-fill your own Lantern Zero URL so users never have to paste one.
  • A Rust client library with Swift and Kotlin bindings is in progress.

A bridge to Tachyon

Lantern Zero keeps wallets fast until Zcash's Tachyon upgrade changes how wallets find payments. Follow along while we build it in the open.