Turbine.cash Private Transfers
Developer documentation for private token transfers on Solana using zero-knowledge proofs
Private Transfers on Solana
Section titled “Private Transfers on Solana”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.
How It Works
Section titled “How It Works”- Deposit: Send tokens to a Merkle tree with a cryptographic commitment
- Wait: Your deposit joins an anonymity set with other deposits
- 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.
Key Features
Section titled “Key Features”- 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
Quick Start
Section titled “Quick Start”Architecture Overview
Section titled “Architecture Overview”| Component | Purpose |
|---|---|
| zklsol Program | On-chain Anchor program handling deposits, withdrawals, and proof verification |
| Merkle Tree | Stores commitment hashes for all deposits |
| Relayer API | Submits withdrawal transactions on behalf of users |
| Indexer | Tracks Merkle tree state for proof generation |
Program ID
Section titled “Program ID”FGKoWNsvTTDCGW9JyR2DJWNzSXpejWk7yXcKsFFj9GQp