testnet live · block …

Lurk on-chain.
Leave no trace.

Lurk is a private proof-of-work chain. Every transaction hides who paid, who got paid and how much, and payments to quantum addresses are sealed with lattice cryptography built to outlast Shor's algorithm.

inputsring of 16receiversML-KEM-768amounts48-bit proofsworkArgon2idtrusted setupnone
01the threat

Harvest now. Decrypt later.

A blockchain never forgets, and anyone can keep a copy. An adversary can archive every transaction today and wait for a quantum computer big enough to run Shor's algorithm. When it arrives, the elliptic-curve secrets that shield receivers and amounts in today's privacy coins open up, all the way back to the first block.

● harvest2026
elliptic-curve privacy coin
archived
lurk · lkq1 address
archived

Upgrades only protect what comes after them. A ledger can't take back what it already published.

So Lurk gives every wallet a lattice-sealed address from day one. Payments to an lkq1 address are found with ML-KEM-768 today, and the Blackout upgrade moves spends off elliptic curves next.

02the design

What the chain never learns.

Seven building blocks. Each one swaps a piece of public information for a proof that the information checks out.

01sender

Ring of 16

Every input is signed together with 15 decoys pulled from the chain. The MLSAG signature proves one of the sixteen is yours and says nothing about which.

instead of a visible sender
02receiver

ML-KEM-768

Quantum addresses publish a lattice key. Each payment encapsulates a fresh secret to it, and only the receiver's secret key can open it again.

instead of curve Diffie-Hellman
03receiver

One-time addresses

Each output lands on a public key made for that payment alone. Ten payments to one wallet look like ten strangers.

instead of a reusable address
04amount

Pedersen commitments

Values hide inside commitments with 48-bit range proofs, so nothing negative slips through, and inputs must balance outputs as curve points.

instead of a visible amount
05double spend

Key images

Spending an output reveals a tag that never changes for that output. Reuse it and every node refuses, yet the tag points back to nothing.

instead of a public spent flag
06consensus

Argon2id work

Blocks are mined with a memory-hard hash that keeps ordinary CPUs in the game. There are no validator keys, so there's no signing key to break.

instead of validator signatures
07next · blackout

Hash-based spends

The Blackout upgrade moves spend proofs off elliptic curves and hides each spend among every output on the chain, not just sixteen.

instead of discrete-log rings
specification↗

Read the full protocol

03a payment

Anatomy of a private payment.

What a wallet does to send, and what the chain keeps afterwards. The card shows the latest private transaction on the live testnet. Open it in the explorer and press verify to re-check every proof in your own browser.

on chainlive
waiting for the node…
never on chain
senderreceiveramountwhich output was spent
01share an address
The receiver shares a quantum address

An lkq1 address bundles a spend key, a view key and an ML-KEM-768 public key. It runs to about 1,700 characters, so wallets always copy it whole.

02encapsulate
The sender's wallet makes a secret only two parties share

It encapsulates a shared secret to the receiver's lattice key, then derives a one-time address and a blinding factor from it that nobody else can compute.

03commit
The amount disappears into a commitment

The value is locked in a Pedersen commitment, encrypted for the receiver and paired with a 48-bit range proof, so nobody can mint coins out of a negative number.

04sign
Sixteen possible signers, one real one

The wallet draws 15 decoys from the chain, signs an MLSAG over all sixteen and publishes a key image. Your browser does all of it; the node never sees a key.

05mine and scan
Exactly one wallet recognises it

Nodes check the ring, the range proofs, the balance and the key image before Argon2id miners seal it into a block. Every wallet tests new outputs against its keys, and one finds a match.

04compared

Three privacy coins. One question.

Once a quantum computer meets the recorded ledger, does the past stay private?

lkq1 addressLurkorchardZcashringctMonero
receiver + amount after q-dayStays sealedAt riskAt risk
privacyMandatory on every transactionOpt-in shielded poolsOn by default
payment detectionML-KEM-768 latticesElliptic-curve Diffie-HellmanElliptic-curve Diffie-Hellman
spends rest onRing of 16 now, hash-based at BlackoutDiscrete log, Halo 2Discrete log, ring signatures
trusted setupNoneNone for OrchardNone
05the cost

Lasting privacy weighs more.

Lattice keys and ciphertexts are bigger than the curve points they replace. These figures come from the running testnet, not a whitepaper.

per private transaction · live~32 KB

One ring signature, two outputs with 48-bit range proofs and one ML-KEM ciphertext.

per quantum output1,088 B

The ML-KEM-768 ciphertext attached to every payment sent to an lkq1 address.

characters per quantum address~1,714

Most of it is the receiver's 1,184-byte ML-KEM-768 public key.

trusted setups0

No ceremony and no toxic waste. Every proof verifies against public parameters.

06roadmap

From testnet to Blackout.

PHASE 1live
Private testnet

Ring signatures, stealth outputs, range proofs, ML-KEM quantum addresses, a block explorer, a browser wallet and a faucet.

PHASE 2now
$LURK

The token launches on Solana and funds the work all the way to mainnet.

PHASE 3next
Open mining

A standalone Argon2id miner, so anyone can mine testnet blocks on a CPU.

PHASE 4planned
Blackout

Hash-based spend proofs with full-chain anonymity, specified, tested and reviewed in public.

PHASE 5after review
Mainnet

The main chain launches with Blackout active from its genesis block.

07questions

Asked often.

Is the testnet really private?

Yes. Every transaction uses a genuine ring of 16, one-time addresses and Pedersen commitments with range proofs, plus real ML-KEM-768 for lkq1 addresses. The explorer has no senders, receivers or amounts to show. Each transaction page has a verify in your browser button that re-runs the ring signature, range proof and balance checks on your own device.

Why are spends still on elliptic curves?

Ring signatures are fast and well understood, and no quantum computer can break them yet. The part that leaks backwards in time is who received what and how much, so Lurk protects that first with ML-KEM. Blackout replaces the rings with hash-based proofs.

Where do my keys live?

On your device. The wallet generates a 32-byte seed in your browser and derives the spend key, view key and ML-KEM key from it. The node never sees any of them, so back up the seed.

How is tLURK different from $LURK?

tLURK comes from the testnet faucet and is worth nothing. $LURK is the Solana token that funds development and carries the project to mainnet.

Can I run my own node?

Yes. The node, explorer and wallet ship as one open-source Node.js app. Clone it, run npm install and npm start, and the whole chain runs on your machine.

When is mainnet?

Once Blackout has been specified, tested and reviewed in public. Dates will be announced on our channels first.

  testnet live · block …

Don't trust us.
Verify every proof.