I kept coming back to one line from the case file, the kind of sentence that sounds like a joke until you remember the number attached to it. A man told someone he had pulled off a crypto heist because, in his words, it was all fake internet money anyway. Then a Manhattan jury looked at two spring attacks, a trail of mixed coins, and a stack of rare collectibles, and decided the money was real enough. On October 7, 2026, Jonathan Spalletta, a 36-year-old cybersecurity consultant from Rockville, Maryland, was convicted of computer fraud and money laundering over the Uranium Finance hack that drained nearly $55 million. Sentencing is set for February 16. The money laundering count alone can carry up to 20 years.
That is the headline. The more interesting part, at least to me, is how ordinary the mechanics sound once you strip away the drama. No cinematic vault. No forged password. Prosecutors said he used weaknesses already sitting in the code, repeated a series of transactions, and walked out with other people’s deposits. Defense lawyers argued he had used publicly available smart contract functions rather than malicious code or stolen credentials. The jury was not persuaded. After more than two hours of deliberation, following a six-day trial before U.S. District Judge Jed Rakoff, it returned guilty verdicts on every count.
What the Uranium Finance Conviction Actually Settled
Federal prosecutors in the Southern District of New York said Spalletta was found guilty after jurors heard the indictment, public filings, and trial evidence. U.S. Attorney Jamie McDonald described a unanimous finding that he repeatedly used flaws in the platform’s code to take users’ cryptocurrency. The computer fraud count carries a maximum of 10 years. The money laundering count carries a maximum of 20. Congress sets those ceilings. A judge sets the actual sentence, which is a distinction people skip when they read a maximum and treat it like a forecast.
Spalletta had surrendered on March 30 and was due before a magistrate the next day. Investigators tied him to the online aliases Cthulhon and Jspalletta. The case sat with the Complex Frauds and Cybercrime Unit. Earlier charging papers put the losses above $54 million. The conviction announcement rounded the combined theft to nearly $55 million and said the second blow forced the project to shut down.
I have found that these cases get flattened into a single number. Fifty-five million is memorable. It is also two different days, two different bugs, and two different stories about intent. One attack looked, on the surface, like a rewards glitch. The other looked like a withdrawal error that emptied trading pools. Treating them as one event hides the part that mattered to the jury: repetition.
Two April Days, Two Very Different Bugs
Uranium Finance let users deposit and swap cryptocurrencies through liquidity pools. That design is familiar across decentralized finance. You add assets, you earn a share of fees or rewards, and a smart contract is supposed to police the math. When the math is wrong, the contract does not argue. It pays.
The first attack landed on April 8, 2021. Prosecutors said Spalletta targeted a smart contract that paid cryptocurrency rewards. By repeating a series of transactions, he withdrew far more than he was entitled to receive and drained nearly all the reward tokens from the affected pool. The office valued that take at about $1.4 million.
Roughly two weeks later, according to the prosecution, he described the episode in a written message to another person.
I did a crypto heist of $1.5MM a couple of weeks ago . . . There was a bug in a smart contract, and I exploited it . . . Crypto is all fake internet money anyway.
That message is doing a lot of work. It is casual. It names the act. It shrugs at the victims. Jurors do not need a lecture on blockchain philosophy when a defendant has already supplied the caption. Perhaps the most interesting aspect is how quickly the tone shifts from technical exploit to moral dismissal. Fake internet money is a handy phrase until the same coins buy a Roman coin and a piece of airplane cloth.
After the first theft, prosecutors said he pressured the project into an arrangement that let him keep about $386,000 and return the rest. They called the retained slice a sham bug bounty, built to look like a negotiated reward and to reduce the chance of prosecution. I am not a fan of that framing when it is real. A genuine bounty is published, scoped, and paid by a team that still controls the fix. A payment extracted after the drain, with the exploiter setting the terms, is something else. The jury heard it as something else.
The second attack came on April 28. Prosecutors said he exploited an error in the contract governing withdrawals from liquidity pools. Charging papers identified 26 affected pools and put the stolen cryptocurrency at about $53.3 million. Contemporary accounts of the breach put the loss near $50 million and noted that the incident happened during a migration to version 2.1. The project said it was working with a major exchange security team and asked users to flag stolen funds through their exchange accounts. Then it closed.
Migration windows are where I get nervous, even as a reader rather than a depositor. Teams are moving logic, renaming functions, and racing a changelog. Users are told the new version is safer. An error in withdrawal math does not care about the press release. It cares about the next call.
Why the Defense Argument Did Not Carry the Room
The defense position, as reported from the trial, was straightforward. Spalletta used functions the contract already exposed. He did not forge credentials. He did not plant malicious code. In that telling, the failure belonged to the developers who shipped a flawed contract, and interacting with a public function was not the same thing as breaking in.
That argument has a surface appeal, and anyone who has watched decentralized finance for a few years has heard a version of it. Code is law, until code is a bug, until a bug is a theft, until a theft is a negotiation. The trouble is that criminal statutes are not written in Solidity. Computer fraud does not require a Hollywood intrusion. It requires unauthorized access or exceeding authorized access, in the way prosecutors charge it, tied to obtaining something of value. Money laundering requires moving the proceeds of a specified unlawful activity with the intent to conceal. A public function can still be used in a way a jury calls criminal.
I will say this carefully. Shipping a broken rewards contract is a serious product failure. It is not a permission slip. If a bank leaves a teller window unlocked, taking the drawer is still a crime. The analogy is imperfect, because a smart contract executes exactly what it was told, but the moral shape is close enough for a jury that spent six days on the evidence and a little over two hours deciding.
How the Stolen Coins Left the Pools
After the attacks, prosecutors said Spalletta moved the stolen assets through a series of cryptocurrency transactions, including the mixing service Tornado Cash, before spending part of the proceeds on collectibles. Mixing is the part that turns a clever trade into a concealment story. You can argue about whether a privacy tool is legitimate. You have a harder time arguing that routing exploit proceeds through a mixer, then buying museum-grade objects, was an accident.
Separate reporting in January 2024 documented a 2.5 million BUSD transfer from an address labeled as the Uranium exploiter. The funds moved from BNB Chain to Ethereum through a cross-chain route, and the receiving address obtained 812 ETH plus about $505,500 in stablecoins. That is not the whole trail. It is a reminder that these coins did not sit still for three years. They hopped chains, changed wrappers, and kept a label that blockchain analysts were willing to publish.
On February 24, 2025, law enforcement seized cryptocurrency linked to the Uranium thefts. Those assets were worth about $31 million at the time of seizure. That figure will move with the market, which is another quiet lesson. A recovery priced on seizure day is not a recovery priced on sentencing day. Victims who measure justice in dollars should expect the dollar to fidget.
The Collectibles Were Not a Side Plot
If the code story is technical, the spending story is almost embarrassingly concrete. Prosecutors listed purchases that read like a collector’s fever dream.
- A Black Lotus Magic: The Gathering card, about $500,000
- Eighteen sealed Alpha Booster packs, about $1,512,500
- A sealed box of first-edition Pokémon booster packs, about $257,500
- A complete first-edition Pokémon base set, about $750,000
- An Eid Mar Denarius, an ancient Roman coin tied to Julius Caesar’s assassination, about $601,545
- A piece of fabric from the Wright brothers’ original airplane, later carried to the moon by Neil Armstrong, about $137,500
Under a court-authorized search warrant, investigators seized the Black Lotus, the aircraft fabric, and ancient coins from Spalletta’s residence. Rare Pokémon and Magic: The Gathering cards taken from the Maryland home were reported to be worth more than $3 million. Physical objects are a strange choice if the plan is to stay invisible. Coins can be mixed. A Black Lotus has a provenance problem the moment it leaves a dealer.
I keep thinking about the Roman coin. An Eid Mar denarius is a specific object with a specific story, struck to mark a political murder two thousand years ago. Buying one with proceeds that prosecutors traced to a liquidity-pool drain is the sort of detail a prosecutor loves and a defense attorney cannot easily romanticize. It is also, frankly, a terrible way to look innocent. People who believe crypto is fake internet money do not usually convert it into artifacts that auction houses photograph from three angles.
| Event | When | What prosecutors described |
| Rewards-pool attack | April 8, 2021 | Repeated transactions drained reward tokens, about $1.4 million |
| Retained payment | After the first attack | About $386,000 kept under a disputed bounty arrangement |
| Liquidity-pool attack | April 28, 2021 | Withdrawal error hit 26 pools, about $53.3 million |
| Crypto seizure | February 24, 2025 | Linked assets worth about $31 million at seizure |
| Verdict | October 7, 2026 | Guilty on computer fraud and money laundering |
| Sentencing | February 16 | Judge Rakoff to set the term within statutory limits |
The table is a spine, not the whole body. Between those dates sit years of tracing, a surrender, a trial, and a house full of cardboard and metal that investigators say did not belong there.
What Maximum Sentences Do and Do Not Mean
Ten years on the fraud count. Twenty on the laundering count. Those numbers travel fast on social feeds because they are round and grim. They are also ceilings. Federal sentencing is a negotiation between the statute, the guidelines, the loss amount, the defendant’s history, and whatever the judge thinks the evidence proved about intent and obstruction. A conviction is not a sentence. February 16 is the date that turns a verdict into a number a person actually serves, subject to whatever appeals follow.
Loss amount will loom large. Nearly $55 million taken, about $31 million in crypto seized later, plus physical collectibles, is not a small case by white-collar standards. Restitution is a separate question from prison. Victims do not get paid because a jury said guilty. They get paid, if they get paid, through forfeiture, seizure, and a claims process that moves slower than any chart on a trading screen.
The office directed anyone who believes they were harmed by the Uranium incident to contact Homeland Security Investigations. If you were in those pools in April 2021, that contact is the practical next step, not a forum thread from five years ago. Documentation helps. Wallet addresses, deposit timestamps, and any notice the project sent at the time are worth keeping in one folder.
A Platform That Did Not Survive Its Own Migration
Uranium Finance was not a household name outside decentralized finance, which is exactly why the episode still stings. Smaller venues hold real savings. Users there are not always whales. They are often people chasing yield on a chain that felt busy and cheap in early 2021, a period when new pools launched faster than anyone could read the contracts.
The project announced that the larger breach happened during the move to version 2.1. Migrations are sold as upgrades. Sometimes they are. Sometimes they are the moment an old assumption and a new function disagree, and the disagreement pays the first caller. Reporting at the time said the team was working with an exchange security group and asking users to report stolen funds through exchange accounts. Cooperation after the fact is better than silence. It does not refill a pool.
Shutdown was the rational ending. A venue that has lost its reserves cannot pretend to be a market. What lingered was the question of who held the bag: liquidity providers who trusted the contract, a team that shipped the contract, and, years later, a defendant a jury decided had taken both bugs on purpose.
Bug Bounties, Pressure, and the Line Prosecutors Drew
The retained $386,000 is the detail I would put in front of any founder who thinks a private deal ends the story. Prosecutors described pressure, not a published program. They described a sham bounty meant to help him avoid charges. Whether a court later treats that payment as restitution, proceeds, or both is a sentencing question. The narrative effect is already clear. Returning most of a theft does not erase the theft, especially when the return is paired with a keep fee the exploiter helped design.
Real bounties have a shape. Scope is public. Payout caps are public. Researchers report before they drain, or they drain a test amount and stop. They do not empty a rewards pool, write a chat message calling it a heist, and then negotiate a cut. I am not claiming every white-hat case is clean. I am claiming this record, as prosecutors presented it, does not look like the clean ones.
- A published scope tells a researcher what they may touch.
- A report before full extraction leaves the team a chance to pause contracts.
- A payout that matches a posted schedule is harder to rebrand as extortion.
- A private keep-fee after a drain is what this case treated as a cover story.
Founders sometimes pay because they are scared, underfunded, and watching a Telegram channel melt down. Fear is understandable. It is not a legal strategy. If the only copy of the evidence is a chat log with the person who took the funds, you are negotiating with a future exhibit.
Mixing, Cross-Chain Hops, and the Long Memory of Labels
Tornado Cash sits in the middle of this story the way it sits in the middle of so many others from that era. Prosecutors said stolen assets moved through a series of transactions that included the mixer, then some of the proceeds were spent. Years later, analysts still published a labeled exploiter address moving 2.5 million BUSD off BNB Chain, across a bridge route, into ether and stablecoins. Labels are not verdicts. They are hypotheses with transaction graphs attached. In this case, a verdict eventually arrived by another road: a trial.
The lag is the part retail users underestimate. April 2021 to a March 2026 surrender is almost five years. October 2026 is the conviction. February 2027, if sentencing holds, is the first date a term becomes official. Blockchains are fast. Cases are not. Anyone who deposited into those pools and then tried to forget the episode has had half a decade of silence, followed by a news cycle that suddenly knows their hacker’s name.
Seizure in February 2025 matters for a different reason. It shows the tracing did not stop when the coins hit a mixer. Mixers raise the cost of following funds. They do not always make the cost infinite, especially when the output later buys objects with serial numbers, grading slips, and dealer invoices. A Black Lotus is not an output note. It is a thing in a house.
What Liquidity Providers Can Still Learn From a Closed Project
Uranium is gone. The pattern is not. If you provide liquidity, you are underwriting someone else’s code with your own assets. That sentence sounds obvious until a migration week makes it concrete.
- Read the withdrawal function, not just the reward rate. The second attack lived in withdrawal math.
- Treat a version bump during a live pool as a risk event, not a celebration.
- Assume a published audit is a snapshot. It is not a promise about the commit that ships on Thursday.
- Size the position as if the contract can pay the wrong person once and keep paying.
- Keep your own export of deposits. A dead front end will not email you a CSV in five years.
None of that would have stopped a determined caller who found the bug first. It would have changed how much of your net worth sat in the pool while he called it. I have watched people treat a new farm like a savings account because the interface looked calm. Interfaces are calm right up until the reserves are not.
The Collectible Market as an Accidental Paper Trail
There is a grim comedy in the shopping list, and I think it is fair to say so without sneering at collectors. Magic cards, Pokémon boxes, a denarius, a scrap of fabric from a machine that barely flew and later went to the moon. These are objects with communities, price guides, and dealers who remember unusual buyers. Crypto is marketed as bearer value. High-end collectibles are marketed as stories. Stories have witnesses.
The reported card seizure alone, north of $3 million, would be a news item without the Uranium link. Paired with the Roman coin and the Wright fabric, it suggests a buyer who wanted objects that felt permanent. Fake internet money, converted into things you can hold, is an argument against the defendant’s own chat line. If the coins were fake, the Black Lotus would not have cleared. It cleared. Investigators later carried it out.
Spending snapshot from the prosecution account: Black Lotus .................... ~$500,000 Alpha boosters ................. ~$1,512,500 Pokémon box .................... ~$257,500 Pokémon base set ............... ~$750,000 Eid Mar denarius ............... ~$601,545 Wright fabric .................. ~$137,500
Add those figures and you are still well short of $55 million. That is the point. Collectibles were a visible slice, not the whole haul. The larger share lived in wallets long enough for a 2025 seizure to land around $31 million. Visibility and volume are different problems. He created visibility. The volume is what the loss column records.
Aliases, a Maryland Address, and a Federal Unit
Prosecutors identified Spalletta by the aliases Cthulhon and Jspalletta. Online names feel protective until charging papers print them next to a town. Rockville is not a metaphor. It is where the warrant was executed, where cards and coins and fabric were taken, and where a cybersecurity consultant became a defendant. The job title will tempt people into a morality play about guards turning poacher. Maybe. The trial did not need that play. It needed transactions, a message, and a spending trail.
Assignment to a cybercrime unit is bureaucratic language for a simple idea. This was not charged as a civil dispute between a trader and a protocol. It was charged as fraud and laundering. That choice shapes everything downstream: the jury, the forfeitures, the victim contact, the sentencing range. Users who lost funds in a pool sometimes assume their only forum is a governance vote. This case is a reminder that a U.S. Attorney’s office can treat a smart-contract drain as a criminal taking when it can identify a person and a path.
What the Verdict Does Not Automatically Fix
A guilty verdict feels like an ending. For depositors, it is a middle. Seized crypto worth $31 million at one date does not map cleanly onto individual losses from 26 pools plus a rewards contract. Valuation dates differ. Some assets may be contested. Some victims may never file. Some coins may sit outside the seizure. A shutdown in 2021 also means the project is not around to administer a neat pro-rata refund from its own treasury.
There is also the defense theory, which did not win and may still travel on appeal. If an appellate court accepts a narrower reading of what counts as unauthorized use of a public function, the conversation changes. I would not bet a portfolio on that outcome. I would not ignore it either. Crypto cases are still young enough that definitions get relitigated. The facts here, especially the message and the second attack after a partial return, are awkward facts for a pure code-is-law appeal. Awkward is not the same as impossible.
Returning most of a drain, while keeping a private cut, reads less like a bounty and more like a receipt.
A practical reading of the prosecution account
That is my gloss, not a jury instruction. The jury instruction that mattered already did its job.
Why This Case Still Matters to Anyone in a Pool
Decentralized venues failed in public all through 2021 and 2022. Some failures were admin-key abuses. Some were oracle games. Some were straightforward bugs in reward accounting and withdrawal checks. Uranium sits in that last bucket, with a named defendant and a conviction attached. That combination is rarer than the exploits themselves. Plenty of drains remain attributed to clusters, not people. Plenty of people remain outside U.S. reach. This one did not.
The practical lesson is not “code will be prosecuted, so you are safe.” The practical lesson is narrower. A public function can still be the instrument of a fraud charge. A mixer does not end a tracing story. A collectible habit can finish it. And a project that pays a quiet keep-fee after a drain may be building the government’s exhibit binder while it thinks it is buying peace.
If you are still yield farming on young contracts, the Uranium timeline is a useful cold shower. Day one was a rewards bug worth about $1.4 million. The chat log followed. A partial return with a retained slice followed that. Twenty days after the first attack, a withdrawal bug emptied dozens of pools and ended the venue. Nothing in that sequence required a nation-state or a novel exploit class. It required a mistake in production and someone willing to call it twice.
Reading the Loss Figures Without Getting Lost
Numbers in this case move depending on which document you trust, and that is normal. Charging papers said the second attack took about $53.3 million across 26 pools. The conviction announcement spoke of nearly $55 million combined and a forced shutdown. Earlier coverage of the breach cited a figure near $50 million and a version 2.1 migration. The first attack was valued around $1.4 million by prosecutors and described by the defendant, in that message, as $1.5 million. Crypto prices flicker. Rounding differs. None of the gaps turn the event into a rumor.
The seizure figure is cleaner because it has a date. About $31 million on February 24, 2025. That is not “most of the money came back to users on that Tuesday.” It is “assets linked to the theft were taken into government control, priced that day.” Distribution is a later chapter. Anyone promising a precise personal refund from public reporting alone is guessing.
I would rather be plain about that than soothing. Victims of pool drains are used to soothing language. Total value lost. Funds are safu. Working with partners. The Uranium users got a shutdown instead. Years later they got a verdict. The money question remains a process question.
A Note on Intent, Tone, and What Juries Hear
People who write about markets love intent because price models do not include it. Juries love intent because statutes often require it. The written message prosecutors introduced does not sound like a researcher filing a bug. It sounds like a person telling a story he expects the listener to enjoy. Crypto is fake. I took $1.5 million. There was a bug. That sequence is short enough to remember in a deliberation room.
Tone is not an element of the offense. It is still evidence of state of mind. A defendant can exploit a bug and immediately contact a team, freeze activity, and return funds under a posted policy. A defendant can also drain, boast, negotiate a cut, and come back three weeks later for the pools. The second path is the one this verdict describes. If you are a developer reading this and feeling a chill about your own unfinished bounty page, good. Publish the page before someone else writes the chat log.
What Happens Between Verdict and Sentence
Between October and February, the court will take sentencing submissions. Probation will prepare a report. Both sides will argue about loss, about the seized assets, about whether the partial return counts for anything, and about who Spalletta was outside the two April days. Maximums of 10 and 20 years will be cited again. They will not be the only numbers in the room.
Forfeiture fights can run alongside that calendar. A Black Lotus with a half-million-dollar price tag is easy to describe and harder to liquidate cleanly. An ancient coin has a market, and also a set of collectors who will want the provenance spelled out. The Wright fabric is the kind of object museums and private buyers both understand, which means it will not move like a token. Illiquid recoveries are still recoveries. They are slow ones.
Users who think they were harmed should not wait for a perfect public spreadsheet. Federal investigators asked for contact from possible victims. That request is the operational detail most market write-ups skip, because it is less exciting than a rare card. It is also the detail that might connect a 2021 deposit to a later claim. Excitement does not pay restitution. Paperwork sometimes does.
The Broader Pattern This Verdict Sits Inside
Exploit laundering did not end in 2021. Researchers still track mixer fees, bridge hops, and labeled clusters years after a drain. A separate recent look at laundering tied to another exchange incident found hundreds of thousands of dollars in fees alone, which is a reminder that concealment is an industry with a price list. Uranium’s trail is older, and now it has a named conviction attached. That does not clean the newer cases. It does tell prosecutors that a DeFi drain can be walked into a Manhattan courtroom and walked out as a guilty verdict.
I do not think every bug finder belongs in that courtroom. I do think the industry’s habit of blurring researcher, exploiter, and negotiator has been convenient for the person holding the stolen tokens. This verdict draws a line in one case. It will be cited, fairly or not, in arguments about the next one. Teams that want the line drawn in their favor should make the bounty real before the bug is public, and should call investigators when a “negotiation” starts to look like a demand.
A Clearer Way to Hold the Story
Strip the collectibles out and you still have a conviction. Strip the chat log out and you still have two attacks. The full picture is stronger because the pieces agree with each other. A rewards drain. A boast. A keep-fee dressed as a bounty. A second drain during a migration. Mixer flows. A cross-chain transfer years later that analysts still labeled. A house with cards, a Roman coin, and airplane cloth. A crypto seizure in the tens of millions. A jury that did not buy the public-function defense.
Spalletta is entitled to the appeals process, and a sentencing date is not a cell assignment. What the October verdict settled is the core dispute: the government proved its counts to a unanimous jury. Users who lost funds in Uranium Finance finally have a court result to point at, even if the refund math remains unfinished. That is more than most pool victims from that spring ever received.
If there is a single habit worth stealing from this mess, it is skepticism toward calm interfaces during upgrades. The contract that pays rewards can overpay. The contract that releases a withdrawal can release too much. The person who notices does not have to be a stranger with a zero-day. He can be someone who already knows how these systems fail, and who decides the failure is his. A jury in Manhattan just called that decision what the statutes call it. The rest of us can call it a reason to keep less money in contracts we have not read, especially in the week the team says everything is about to get safer.
Fake internet money bought a denarius and a moon-flown scrap of linen. Then it bought a federal case. The phrase did not survive contact with a verdict. The pools did not survive contact with the bug. Between those two facts is the whole story, and it is still not finished until a judge says how long the sentence actually is.