On 26 August 2026, Judge Katherine Polk Failla adjourned Roman Storm’s retrial to April 2027, in light of his pending motion for a judgment of acquittal and a related request for a continuance. Storm, one of the developers of Tornado Cash, was indicted in August 2023. A jury convicted him in August 2025 on a single count of conspiracy to operate an unlicensed money transmitting business and deadlocked on the two heavier counts, money laundering and sanctions conspiracy. Those two are what April 2027 is for, assuming the acquittal motion does not remove them first.
Three years in, at least eight months to go, on the question of who is answerable for software that runs whether or not its author is in the room. Prosecuting a developer for the behaviour of code he cannot stop is a bad idea and a worse precedent, but that argument has been made better elsewhere. What interests me is the shape of the thing, because on-chain gaming sells the answer to one half of it every day and quietly lets you hear an answer to the other.
TL;DR
- Roman Storm’s retrial on the two deadlocked Tornado Cash counts was pushed to April 2027, roughly three and a half years after his indictment.
- Fairness has two halves: what the mechanism does, and who remains answerable for it. Only the first lives in the code.
- They come apart in both directions. Immutable code does not mean nobody can touch your outcome, and unchangeable code does not mean nobody is liable for it.
- “Immutable smart contract” is a statement about software, not a legal shield. Any platform implying otherwise is selling a defence it does not have.
- A VRF draw is checkable in seconds by a stranger with no permission. The accountability half runs on Storm’s timeline: years, lawyers, and a jurisdiction that has to reach you.
The half nobody asks about
Ask a crypto gaming platform whether its game is fair and you get an answer about mechanism. Here is the contract address, the randomness comes from Chainlink VRF, the coordinator verifies the proof on-chain before the callback fires, nobody can steer it. Every word of that can be true, and on a good platform it is. It is also complete: there is no part of “was this draw manipulated” left over once you have verified the proof.
Now ask the second question. If something goes wrong, who is answerable, to whom, and under what law?
That answer is not in the contract, not in the audit report, and not derivable from the chain at all, because it is not a fact about the software. It is a fact about a set of people, legal categories written for other things, and a court that will decide by analogy years from now. Storm is what that process looks like running at full speed with the Southern District of New York behind it.
The thirty-fifth unasked half of fairness is the author nobody could separate.
It breaks in both directions
Immutable code, fully present operator. A frozen core contract tells you what that contract will do. It tells you nothing about the front end you loaded, the RPC endpoint that told you the state, the domain that could resolve elsewhere tomorrow, the treasury multisig, the periphery contract routing your deposit before it reaches the immutable bit, or the registry setting limits and fees. Most of the surface a player touches is mutable by design, and has to be. “The game contract cannot be changed” is true and narrow, and is routinely deployed as if it meant “no human can affect your outcome”, which is a different sentence entirely.
Unchangeable code, wide open liability. This is the direction crypto keeps forgetting. You can be genuinely unable to alter a deployed contract and still spend four years in court over what it does. Immutability is not a legal argument and does not convert a person into infrastructure. A platform that answers regulatory questions with “it is decentralised, there is nothing to shut down” is describing its own inability to help you, not its immunity.
What a player should actually be asking
The question a player needs answered is not whether the developers could eventually be held liable. Liability is a remedy that arrives late, to someone else, in a currency that is not your balance. Storm’s docket is the honest benchmark: indicted August 2023, first verdict August 2025, retrial no earlier than April 2027, and that is the accountability half with a criminal apparatus pushing it. A player’s civil claim against an offshore operator will not move faster, and will probably not move at all.
The question that matters is narrower and answerable tonight: what can a human still do to my outcome, and which parts of this can I check without anyone’s permission?
On a VRF-settled game, the draw is the part where the answer is genuinely nothing and genuinely checkable. Pull the request, pull the fulfilment, verify the proof, done. It works if you are hostile to everyone involved, if the team has vanished, and in four years when nobody remembers the game existed. That is the whole appeal, and it is worth exactly what it is worth: one boolean about one event.
What it is not: proof that the operator is solvent, that the front end you loaded matches the contract you verified, that anyone will still be shipping next year, or that anybody is answerable if something outside the draw goes sideways. We build Satoshie’s raffles and coinflip on Chainlink VRF because the draw is the one place a platform can replace a promise with an artefact. Pretending the artefact covers the rest would be the same move I am criticising, one letter at a time.
The categories were written for something else
None of the statutes Storm is charged under has a slot marked “wrote software that anyone can run and nobody can stop”, so the court is reasoning by analogy, slowly. On-chain gaming sits in the same position with respect to gambling law: a jurisdiction can decide, three years after you deploy, that your contract was a licensable activity all along, and the immutability that was your marketing line becomes the reason you cannot comply even if you want to. Shipping code does not settle a legal question, and believing it does is the same error in a friendlier jumper.
Three questions
- Which parts of this platform can change without a new deployment? Proxy admin, parameter registry, routing periphery, front end, domain. That is the real perimeter, not the contract address in the footer.
- If the team disappeared tomorrow, could I resolve a game and withdraw using only the chain? If that path needs their server up, the immutability claim is decorative.
- If something outside the draw goes wrong, who do I have a claim against, and where? If the honest answer is “nobody I could name in a jurisdiction that would hear me”, price it in before depositing rather than after.
“Immutable” describes what the code will do. It says nothing about who is standing behind it, and April 2027 is a long way to wait to find out. Verify the half that verifies. Ask out loud about the half that does not.
📷 Photo by Sebastian Pichler on Unsplash


