BlindPool is a privacy-preserving fork of Uniswap CCA enabling sealed-bid token auctions onchain.
BlindPool is a privacy-preserving fork of Uniswap’s Continuous Clearing Auction (CCA) that introduces sealed-bid auctions onchain using Zama’s fhEVM (Fully Homomorphic Encryption). It runs on the Sepolia testnet and demonstrates how confidential compute can eliminate MEV and information leakage during token launch auctions.
What BlindPool Does
Uniswap’s Continuous Clearing Auction (CCA) enables fair, continuous price discovery for bootstrapping liquidity into Uniswap pools. However, in standard CCA deployments, bid prices, bid sizes, and bidder behavior are visible onchain during the auction, allowing MEV bots and strategic participants to front-run, snipe, or infer market intent.
BlindPool solves this by encrypting bids at submission time. During the auction, bid prices and amounts are stored onchain as ciphertexts, unreadable by validators, searchers, or other bidders. Only after the auction’s blind phase ends are bids revealed and forwarded into the standard Uniswap CCA flow for settlement and liquidity seeding.
Why This Matters
How BlindPool Works Phase 1: Blind Bidding (Auction Open)
-User submits a bid from the frontend -Bid price and amount are encrypted in the browser using @zama-fhe/relayer-sdk -Encrypted values are stored onchain as euint64 ciphertexts -No party can read bid prices or amounts during the auction
Phase 2: Reveal (After Blind Deadline)
-requestReveal() marks encrypted bids as publicly decryptable -Zama’s KMS authorizes decryption -Decryption proofs ensure correctness and integrity
Phase 3: Forward & Settle
-Decrypted bids are forwarded to the Uniswap CCA contract -Standard CCA logic computes the clearing price -Liquidity is seeded into Uniswap and users claim allocations normally
Why BlindPool Is Important
BlindPool demonstrates that confidential compute can meaningfully improve DeFi market structure without breaking composability. It shows how existing primitives like Uniswap CCA can be upgraded with privacy guarantees while preserving permissionless settlement and liquidity bootstrapping.
This approach opens the door to:
-Private auctions -Confidential orderflow -MEV-resistant market designs -Fairer token launches on public blockchains
BlindPool was built by forking Uniswap’s Continuous Clearing Auction (CCA) contracts and layering a sealed-bid privacy system on top using Zama’s fhEVM. On the frontend (Next.js + Wagmi + RainbowKit), bid prices and amounts are encrypted in the browser via @zama-fhe/relayer-sdk before submission. Onchain, the BlindPool contracts store these values as euint64 ciphertexts, so neither validators, MEV bots, nor other bidders can read them during the auction.
After the blind phase, we trigger Zama’s KMS to allow public decryption with verifiable proofs. The decrypted bids are then forwarded into the original Uniswap CCA contracts, preserving the standard clearing price logic and liquidity seeding. Foundry was used for scripting and testing on Sepolia. The hacky part was adapting CCA’s time-sensitive flow to work with encrypted state and delayed reveal, proving that confidential compute can plug into existing DeFi primitives without breaking settlement or composability.

