Skip to content
Launch App >

Turbine.cash enables private token transfers on Solana using zero-knowledge proofs. Deposit tokens into a privacy pool, then withdraw to any address without revealing the link between depositor and recipient.

  1. Deposit: Send tokens to a Merkle tree with a cryptographic commitment
  2. Wait: Your deposit joins an anonymity set with other deposits
  3. Withdraw: Generate a ZK proof to withdraw to any address via our relayer

The relayer submits the transaction on your behalf, so your withdrawal address never pays gas or appears as the transaction signer.

  • Privacy: No on-chain link between deposits and withdrawals
  • Non-custodial: Only you can withdraw with your secret
  • Relayer: Withdrawals don’t reveal your address through gas payment
  • Swap on Withdraw: Withdraw to a different token via Jupiter
  • OFAC Compliant: Built-in compliance checks
ComponentPurpose
zklsol ProgramOn-chain Anchor program handling deposits, withdrawals, and proof verification
Merkle TreeStores commitment hashes for all deposits
Relayer APISubmits withdrawal transactions on behalf of users
IndexerTracks Merkle tree state for proof generation
FGKoWNsvTTDCGW9JyR2DJWNzSXpejWk7yXcKsFFj9GQp