QuantChainAnalysis/Intelligence/Tornado Cash · Roman Storm · 2022–2026
Enforcement & Law Criminal Trial · Landmark Case 2022–2026 · 10 min read

The State vs. Code:
Can You Prosecute a Developer
for What Others Did With His Software?

Roman Storm wrote open-source code. He didn't steal anything. He didn't launder anything directly. The US Department of Justice charged him anyway, and the case has exposed every unresolved tension in blockchain compliance law.

Laundered via TC
$7B+
Lazarus usage
$455M+
Developer status
On trial, 2025
← Back to Intelligence

Tornado Cash is a smart contract, Ethereum bytecode deployed to the blockchain that, once published, required no developer to operate. Between 2019 and 2023, more than $7 billion in cryptocurrency passed through it. Some belonged to ordinary users with legitimate privacy motivations. Some belonged to North Korea's Lazarus Group, which used Tornado Cash to launder at least $455 million from the Ronin Network hack alone. In August 2022, the US Treasury sanctioned the smart contract addresses themselves, the code, not the people. Three months later, Roman Storm was arrested. What followed became the most consequential legal proceeding in blockchain compliance history.

// The Core Legal Question

Can a developer be held criminally liable for money laundering that occurred through software they wrote, deployed, and then had no control over? SDNY's answer: yes, if they knew about the criminal use and continued operating it. The question of what "operating" means for autonomous smart contract infrastructure remains unresolved.

What Tornado Cash Was

Tornado Cash used zk-SNARKs, zero-knowledge proofs, to allow users to deposit a fixed ETH denomination and later withdraw the same amount from a fresh address, with no on-chain link between deposit and withdrawal. The protocol was immutable after deployment; Storm and co-developers had no technical ability to block any transaction. Of the $7B+ that passed through, academic analysis suggests roughly 25% was clearly illicit. Lazarus Group's usage was disproportionate: $455M from Ronin alone, plus Harmony Horizon Bridge, KuCoin, and Bybit proceeds.

The August 2022 OFAC Designation

OFAC's decision to sanction smart contract addresses, rather than specific individuals, was legally unprecedented. For the first time, immutable code deployed on a public blockchain was treated as a Specially Designated National. The Fifth Circuit later ruled in November 2024 that OFAC had exceeded its statutory authority under IEEPA in sanctioning immutable smart contracts. The criminal case against Storm proceeded on a different legal theory.

The Three Criminal Charges

Roman Storm faced: (1) money laundering conspiracy, (2) operating an unlicensed money transmitting business, (3) sanctions violations. The prosecution's theory: Storm knew Tornado Cash was being used to launder criminal proceeds, continued operating the front-end interface and governance infrastructure, and this knowing facilitation made him a co-conspirator. The defence argued Storm had no technical control over the immutable protocol.

Case Timeline: Roman Storm v. United States
  • May 2019
    Tornado Cash launches. Roman Storm, Roman Semenov, and Alexey Pertsev deploy the protocol. Smart contracts are immutable from deployment.
  • Mar 2022
    Ronin Network hack. Lazarus Group steals $625M. $455M laundered through Tornado Cash over the following months.
  • Aug 2022
    OFAC sanctions. Smart contract addresses designated as SDNs, a legal first. GitHub removes the project. Alexey Pertsev arrested in the Netherlands.
  • Aug 2023
    Storm arrested. Charged with money laundering conspiracy, unlicensed money transmitting business, and sanctions violations. Trial set for SDNY.
  • Nov 2024
    Fifth Circuit ruling. Immutable smart contracts cannot be sanctioned under IEEPA. OFAC designation of code is partially overturned. Criminal case against Storm proceeds independently.
  • 2025 (ongoing)
    Criminal trial: SDNY. The foundational question for blockchain compliance law: does operating open-source privacy infrastructure with knowledge of criminal use constitute criminal facilitation?

"The answer to Tornado Cash is not sanctions on code. It is enforcement at the only point where enforcement is technically possible: before the transaction reaches the mixer. In the mempool."

Praveen Giri, Founder · QuantChainAnalysis
QuestionCurrent Legal Status
Can the US sanction immutable smart contract code?Fifth Circuit (Nov 2024): No. SDNY criminal case proceeds on separate theory.
Can a developer be criminally liable for others' use of their protocol?Prosecution argues yes, with knowledge. Defence argues no, without control. Unresolved.
Does maintaining a front-end constitute "operating" the protocol?Central to the Storm prosecution. Outcome pending trial verdict.
Compliance infrastructure lesson?Post-settlement mixing tools cannot satisfy pre-settlement enforcement mandates. The intervention window is the mempool.
// QCA Enforcement Analysis

Tornado Cash became necessary because the compliance layer was positioned after settlement.

Illicit funds reach mixing protocols because they are not intercepted at the only technically viable point: the original theft transaction, in the mempool, before broadcast. Post-settlement privacy tools proliferate to serve a demand that pre-mempool enforcement eliminates at the source. The Storm prosecution addresses the symptom, the mixer, not the cause. QCA's pre-mempool gate intercepts flagged transactions before they reach any mixing infrastructure. Patent pending DE 10 2026 001 732.7.

QCA POSITION: The Tornado Cash case is an enforcement failure attributed to a compliance infrastructure failure. Pre-mempool gating prevents the chain of events that makes mixers relevant.