Private SOL Transfers with Unlinkable Withdrawals
Deposit into the shared privacy pool and withdraw without revealing which deposit you own.
Launching on Devnet on October 31, 2025 at 06:59 UTC
Built for True Privacy & Security
Cloak uses zero-knowledge proofs, Merkle tree commitments, and optional proof-of-work mining to provide cryptographically guaranteed privacy.
ZK for Truth
Proves correctness and conservation without trusting servers. On-chain verification ensures mathematical guarantees.
PoW for Fairness
Permissionless miners ensure liquidity and fair access. No central operator controls the system.
Solana for Speed
On-chain ZK verification happens in seconds. Proof generation uses SP1 for efficient Groth16 circuit execution.
Build Private Transfers into Your App
Complete TypeScript SDK for integrating Cloak's privacy protocol into your application. One method handles everything - deposit, proof generation, and withdrawal.
import { CloakSDK } from "@cloak/sdk";
// Initialize client
const client = new CloakSDK({
network: "devnet",
programId, poolAddress,
apiUrl
});
// Generate note
const note = client.generateNote(1_000_000_000);
// Complete flow: deposit + transfer
const result = await client.privateTransfer(
connection, wallet, note,
[
{ recipient: addr1, amount: 500_000_000 },
{ recipient: addr2, amount: 492_500_000 }
]
);
✅ // Done! Handles deposit + proof + withdrawalOne Method Does It All
privateTransfer() automatically handles deposit, proof generation, and withdrawal to up to 5 recipients.
Type-Safe & Validated
Full TypeScript support with compile-time validation. Enforces 1-5 recipients and amount conservation.
Framework Agnostic
Works in any JavaScript environment - React, Vue, Node.js, or vanilla JS. No React dependencies.
Progress Callbacks
Track deposit, proof generation, and withdrawal status with built-in progress hooks.
Cloak Development Kit
Rust tools and libraries for building with Cloak's privacy protocol. Generate zero-knowledge proofs, run miners, and parse proofs with our comprehensive tooling.
ZK Proof Generation
Generate zero-knowledge proofs for withdrawals using the SP1 guest program and host CLI. Local CPU proving (~2 min) or SP1 network TEE (~30-45 sec). Full circuit implementation with 6 constraints enforced.
PoW Mining
Run the standalone miner CLI to produce wildcard claims for the scramble registry. Earn fees by helping prioritize withdrawals during congestion. Automatic difficulty adjustment and claim lifecycle management.
Proof Utilities
Extract 260-byte Groth16 proofs from SP1 bundles, parse public inputs (104 bytes), and generate verification keys for on-chain verification. All tools support no_std for on-chain integration.
$ # Generate withdrawal proof
$ cargo run --package zk-guest-sp1-host -- --bin cloak-zk -- prove
--private private.json
--public public.json
--outputs outputs.json
--proof out/proof.bin
📖 Reading input files...
✅ Input files loaded
🔑 Generating proving key...
✅ Proof generated!
Proof size: 89,234 bytes
Total cycles: 1,234,567
$ # Run PoW miner
$ cargo run --package cloak-miner -- --network devnet mine
⛏️ Starting PoW mining...
🔍 Found solution: 0x3a7f...
✅ Claim submitted to registry
Difficulty: 16 | Block: 42,069Built on Solana for maximum performance
Complete Privacy Solution
Deposit SOL privately using commitments, then withdraw to any address with cryptographically guaranteed privacy through zero-knowledge proofs.
Shared Privacy Pool
Deposit SOL into a shared pool where individual deposits cannot be linked to withdrawals.
Zero-Knowledge Proofs
Cryptographically prove ownership without revealing which deposit you control.
Unlinkable Withdrawals
Withdraw to any address without revealing the connection to your original deposit.
On-Chain Verification
SP1 Groth16 proofs verified on Solana ensure mathematical guarantees of privacy.
PoW Mining
Optional proof-of-work claims allow prioritized withdrawals for enhanced throughput.
Fixed & Transparent Fees
0% on deposits, 0.5% + fixed fee on withdrawals with complete fee transparency.
Simple Process, Maximum Privacy
Experience true privacy in just a few steps. The entire process happens in seconds while our privacy layer ensures your transactions remain completely anonymous.
Deposit to Shield Pool
Create a commitment by depositing SOL into the shared privacy pool. Your deposit is cryptographically linked to the commitment.
Generate ZK Proof
Prove ownership of your commitment using zero-knowledge proofs. The proof doesn't reveal which commitment you control.
Withdraw Privately
Withdraw to any address without revealing the link to your deposit. On-chain verification ensures privacy.
Built for Maximum Security
Your privacy and security are our top priorities. Every aspect of Cloak is designed with security-first principles and complete transparency.
Zero-Knowledge Architecture
Our system never stores identifiable transaction data and every operation can be verified independently without revealing your identity.
Merkle Tree Proofs
Every deposit creates a verifiable commitment in the Merkle tree. Prove inclusion without revealing which commitment you control.
Blockchain Infrastructure
Built on Solana's proven blockchain infrastructure with industry-leading security standards and audited smart contracts.
Everything you need to ship private Solana exits
Deep-dive reference for architects, protocol engineers, relayer operators, and front-end teams working on Cloak.
Full Documentation
Complete technical reference
Access our comprehensive documentation covering architecture, zero-knowledge proofs, services, and implementation guides. Everything you need to build with Cloak.
Opens in new tab
Partnered with
Frequently Asked Questions
Find answers to common questions about Cloak's privacy features and functionality.