All projects

SilentBid

Sealed-bid token launches on Uniswap CCA in which bids stay private via Chainlink CRE.

Privacy

What it is

SilentBid is a privacy layer for Uniswap's Continuous Clearing Auction (CCA)  that makes token launches fair by keeping bids sealed until the auction  closes. Today, every bid on a CCA or LBP is public — MEV bots front-run,  snipers copy bids at the last block, and retail participants consistently get  worse outcomes. SilentBid fixes this by replacing public bids with keccak256  commitments onchain while handling all sensitive bid data (prices, amounts,  identities) offchain through Chainlink CRE workflows.  The flow: a bidder signs an EIP-712 typed bid in their wallet. The frontend  sends it to a CRE-backed API route that verifies the signature, computes the  commitment, and stores the bid privately via Confidential HTTP. Only the  commitment hash and the ETH escrow go onchain via submitBlindBid(commitment).  After the deadline, a second CRE workflow loads all sealed bids, runs  uniform-price discovery to find the clearing price, and returns calldata for a  single forwardBidsToCCA transaction that pushes all bids into the underlying  CCA. A third workflow handles settlement — winner payouts and loser refunds —  with individual transfers staying confidential.  The result: the same CCA clearing and Uniswap pool seeding that projects  expect, but with zero bid leakage during the auction. No new chain, no black  box — just sealed-bid fairness on top of an already battle-tested mechanism.

How it Works

Full-stack Next.js 16 app with Tailwind CSS, RainbowKit, and Wagmi for wallet  connection. The smart contracts (BlindPoolCCA, BlindPoolFactory) are written  in Solidity and deployed on Sepolia via Foundry. The privacy layer is three  Chainlink CRE workflows — bid-ingestion, finalize, and settle — each backed by  a Next.js API route that implements identical logic. Bids use EIP-712 typed  signing for wallet-native UX. Commitments are  keccak256(abi.encodePacked(auctionId, sender, maxPrice, amount, timestamp)).  CRE Confidential HTTP ensures bid data and API keys never appear onchain or in  public logs. The finalize workflow runs uniform-price discovery offchain and  produces a single batched forwardBidsToCCA call. We have 60 vitest tests — all  real onchain, zero mocks — covering ABIs, commitment math, chain config, and  all three API routes. The CRE workflows can be simulated locally with the CRE  CLI before deployment.

Links

Created by

  • Shubham T
  • Ayush