Veil Cash Hack

Reported loss $5K
Base
misconfigured Groth16 verifier

What happened

On February 20, 2026, Veil Cash's 0.1 ETH privacy pool on Base was drained of 2.9 ETH, reported at about $5,690, through forged Groth16 proofs. The attacker made 29 withdrawals without making deposits.

How it happened

  1. Veil Cash's Groth16 verification key used identical gamma and delta parameters, breaking proof soundness.
  2. The attacker fabricated proofs and nullifier hashes for arbitrary public inputs.
  3. An attacker contract called withdraw() 29 times against the 0.1 ETH privacy pool without first depositing, draining 2.9 ETH.

Protocol details

Classification Protocol Logic / Bridge & Cross-Chain
Protocol Type Privacy
Implementation language Solidity
Protocol links Website @Veildotcash

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.