I grant access, not permission.
The Rust-native privacy framework for Solana.
ZK Privacy
Groth16 proofs hide the sender-receiver link. Verified on-chain via native alt_bn128 syscalls.
Selective Disclosure
Share a viewing key with your accountant — and only them. Privacy by default, transparency by choice.
Non-upgradeable
Verifier program locked after deploy. No backdoors, no admin keys, no trust required.
How it Works
Three steps. No intermediaries. Full control.
Deposit
Send SOL into the shielded pool. On-chain, only a commitment hash is recorded — no sender, no amount visible to observers.
Transfer Note
The note file travels offchain through any channel you trust — Signal, email, QR code, a USB stick. No blockchain footprint.
Withdraw
The recipient presents a ZK proof and claims the SOL. The reference relayer pays the on-chain fee, so the recipient wallet never appears as fee-payer — full unlinkability against on-chain analysis.
What Solscan sees
Tx: 38CEsstd...joMEyG3s Action: transfer Amount: 0.1 SOL Commitment: 08e44231fddae8cc... Sender: ??? Recipient: ??? Purpose: ???
What the accountant sees
Date: 2026-04-10 From: Lena To: parents Amount: 0.1 SOL Memo: october medicine Tx: 38CEsstd...joMEyG3s Grand total: 0.100 SOL
Use Cases
Privacy is not about hiding. It is about choosing who sees what.
Family Support
Cross-border transfers without flags.
Journalist Protection
Fund investigations privately.
Freelancer Privacy
Invoice without exposing your rates.
Payroll
Pay remote teams privately.
Donor Anonymity
Support causes without exposure.
Tax Compliance
Full audit trail, zero public exposure.
For Developers
Add privacy to your Solana program in five lines.
let pool = PrivatePool::connect(Cluster::Mainnet, Denomination::OneSol)?; let (sig, note, _) = pool.deposit(&wallet).send()?; let sig = pool.withdraw(&wallet).note(note).to(recipient).send()?;
tidex6 keygen tidex6 deposit --amount 0.1 tidex6 withdraw --note parents.note --to <pubkey>
Roadmap
MVP — April 2026
- Shielded pool (deposit + withdraw)
- Groth16 ZK proofs on BN254
- CLI + Rust SDK + Web UI
- Mainnet deploy + OtterSec verified build
- Unlinkable withdraw via reference relayer (ADR-011)
- Opaque hex notes + envelope-encrypted memos (ADR-012)
- Padded fixed-length plaintext (no on-chain length leak)
- Viewing keys (Baby Jubjub ECDH) + accountant scanner
- Invite system + Telegram notifications + error topic
- Security hardening (fuzz + proptest, Dependabot clean)
v0.2 — Q3 2026
- Formal audit
- Client-side proof generation (WASM)
- Proof of Innocence / association sets (ADR-007 v0.2)
- Production-grade relayer infra (HSM, multi-sig cold wallet, federated discovery)
v0.3 — Q4 2026
- Confidential amounts (Token-2022 CT)
- Shared anonymity pool
- Multi-party trusted setup
- Cross-program composability