Lethe Network — v0.1.0 — Testnet

Private
money.
No exceptions.

A lightweight, auditable privacy coin. Every transaction shielded. No trusted setup. Compliance-ready for exchange listings.

Download Wallet Read the Docs
ROOT NOTES YOUR NOTE
0s trusted setup
No ceremony required
100%
Transactions shielded
<3s
Proof generation target
MIT / Apache
Open source license

Three fixes.
One cleaner coin.

Zcash proved private transactions work. Lethe fixes the three things that kept it from being widely used.

01
Privacy mandatory

Zcash has transparent addresses. Most transactions use them. The shielded pool stays small, so shielded users stand out. Lethe has no transparent mode — the entire network is the anonymity set.

02
No trusted setup

Zcash's Sprout and Sapling required a trusted ceremony. If anyone kept their randomness, they can print unlimited coins silently. Lethe uses Plonky3 STARKs — mathematically transparent, no ceremony needed.

03
Compliance-ready

Exchanges won't list coins they can't do KYC for. Lethe lets users generate a zero-knowledge proof that their address is not on a sanctions list — without revealing the address itself.

Every transaction
fully shielded.

01
Notes, not accounts

Value exists as encrypted notes. Each note has a value, owner, and randomness. No balances are stored on-chain — only cryptographic commitments.

02
Commit to the tree

Every note commitment is appended to a global Merkle tree. The root is public. The contents are not.

03
Spend with a proof

To spend, you reveal a nullifier and a zero-knowledge proof: "I own a note in this tree, and its value covers the transaction." No one learns which note.

04
Scan to receive

Recipients scan the chain with their viewing key. Encrypted notes appear as plaintext. No server sees your balance — only your local wallet does.

// note structure
struct Note {
  value: u64,         // amount
  owner: PublicKey,  // recipient
  rho: [u8; 32],    // nullifier seed
  rcm: [u8; 32],    // commitment rand
}

// commitment = Poseidon(value, owner, rcm)
// nullifier = Poseidon(spending_key, rho)

// ✓ note is in the Merkle tree
// ✓ nullifier matches the note
// ✓ value ≥ fee
// ✗ nothing else revealed

Prove you're clean.
Reveal nothing.

The reason privacy coins can't get listed on major exchanges isn't technical — it's regulatory. Exchanges need to know their users aren't sanctioned. Lethe solves this without breaking privacy.

How it works

"I can prove my address is not in this Merkle tree of 10,000 sanctioned addresses — without telling you which address is mine."

The proof is a zero-knowledge non-membership proof. The exchange verifies it on-chain. Your identity stays private. This is the Semaphore pattern applied to sanctions compliance.

1
Exchange publishes sanctions root
Merkle root of current OFAC / sanctioned address list
2
User generates compliance proof
One click in wallet — takes under 3 seconds
3
Proof submitted to exchange
Verifiable on-chain via ComplianceRegistry contract
Listing approved
Exchange knows you're compliant. Nothing else.

Built on
proven primitives.

No novel cryptography. Each component is battle-tested and independently auditable.

Proof System
Plonky3

FRI-based STARKs. No trusted setup, no ceremony, mathematically transparent. Rust-native and fast.

Circuits
Noir

Rust-like domain-specific language for ZK circuits. Clean, readable, easy to audit independently.

Hash Function
Poseidon2

BN254 scalar field. Efficient inside circuits — far cheaper than SHA-256 in zero-knowledge proofs.

Cryptography
arkworks-rs

Battle-tested Rust library for elliptic curve arithmetic. Used by major ZK projects worldwide.

Networking
rust-libp2p

The same P2P stack as Ethereum and Filecoin. Gossipsub for transaction and block propagation.

Wallet
Tauri + React

Lightweight native desktop app. Keys stored encrypted locally. No server dependency. Fully verifiable.

Download &
get started.

Available for macOS, Windows, and Linux. Verify your download.

Verify SHA256 checksums and signatures →