Tornado Nova
Tornado Nova is an experimental privacy pool protocol that enables arbitrary deposit amounts and internal shielded transfers on Ethereum Layer 2. Built on zero-knowledge proofs and a UTXO model, Nova provides enhanced privacy while reducing transaction costs on Gnosis Chain (formerly xDai).Introduction
Learn about Tornado Nova’s features and capabilities
How it works
Understand the privacy mechanisms and UTXO model
Installation
Get started with Tornado Nova development
API reference
Explore the complete API documentation
Key features
Arbitrary amounts
Deposit and withdraw any amount within configured limits, not just fixed denominations
Shielded transfers
Transfer funds privately between users inside the pool without L1 withdrawals
Zero-knowledge proofs
Verify transaction correctness with zkSNARKs while keeping amounts and identities private
Cross-chain bridge
Seamless L1↔L2 integration with Ethereum mainnet via OmniBridge
Architecture
Architecture overview
Core components and system design
UTXO model
Bitcoin-style privacy with commitments and nullifiers
ZK proofs
zkSNARK circuits and verification
Smart contracts
TornadoPool and verifier contracts
Bridge system
L1↔L2 cross-chain operations
Merkle tree
Commitment tracking and proof generation
Developer resources
Installation guide
Set up your development environment
Making deposits
Deposit funds into the privacy pool
Shielded transfers
Send private transfers between users
Withdrawals
Withdraw funds to L1 or L2 addresses
JavaScript SDK
SDK overview
Overview of the JavaScript SDK
Utxo class
Create and manage UTXOs
Keypair class
Generate and manage keypairs
Transactions
Build and submit transactions
Deployment
L1 deployment
Deploy L1Unwrapper to Ethereum mainnet
L2 deployment
Deploy TornadoPool to Gnosis Chain
Governance
Cross-chain governance operations
Upgrades
Upgrade contracts via governance