Crypto Graveyard

Iron Fish: A Bug From 2019 Ends the Privacy Coin Backed by a16z and Sequoia

A 2019 coding flaw let an attacker spend the same Iron Fish coins again and again. The a16z-backed privacy project is shutting down; IRON is under a cent.

Iron Fish: A Bug From 2019 Ends the Privacy Coin Backed by a16z and SequoiaLogo: Iron Fish (GitHub)
Iron Fish, the privacy coin that is shutting down.

Key numbers

  • 2.98B

    wIRON Created on 27 Oct

  • About 2.93M

    Supply Before

  • $17 to $0.009

    IRON Price

  • Not disclosed

    Dollars Taken

At 03:18 UTC on 28 October 2026, Iron Fish, a privacy-focused cryptocurrency, posted a warning on X. It was "investigating abnormal wIRON issuance on Base" and asked people to stop buying the token and stop using the bridge, because "full 1:1 backing cannot be assured." Two days later, at 21:16 UTC on 30 October, it posted again. "Later today," it said, "we are officially ending all remaining support for the Iron Fish network."

The cause was a mistake in code written in early 2019, four years before the network went live. It let an attacker spend the same coins more than once. The team says the flawed code sat inside the scope of both its outside and its in-house security audits, and nobody caught it.

Iron Fish was not a hobby project. In November 2021 it announced a $27.7 million Series A funding round led by Andreessen Horowitz (a16z), with Sequoia, Elad Gil, Electric Capital, Figma founder Dylan Field, Alan Howard and Do Kwon of Terra among the backers. Its coin, IRON, hit an all-time high of $17.00 on 25 April 2023, five days after launch, according to CoinGecko. On 1 November 2026 it traded at about $0.009, a fall of roughly 99.95 per cent.

What Iron Fish was

Most cryptocurrencies are public by design. Every Bitcoin payment, with its amount and its sending and receiving addresses, sits on a ledger anyone can read, a little like a bank statement pinned to a noticeboard. A privacy coin hides those details. Iron Fish used zero-knowledge proofs, a kind of mathematical receipt that proves a payment is valid without showing who paid whom or how much. Zcash, the best-known coin of this type, uses the same family of techniques, and Iron Fish's spending rules followed the pattern of Zcash's "Sapling" upgrade.

Elena Nadolinski, a former engineer at Microsoft and Airbnb, led the company. Its own blockchain went live on 20 April 2023. Inversed Tech, a security firm, audited the core code before and after launch and finalised its report on 1 June 2023, with 37 findings, three of them critical, all reported as fixed. In January 2024 Iron Fish paid Trail of Bits to review FishHash, its new mining formula, a separate piece of code.

Then the people left. In March 2025 the development team joined Base, the blockchain run by Coinbase, the largest US crypto exchange. "We acquired the Iron Fish team back in Mar 2025," Nadolinski wrote on X in October 2025. A day later she described herself as Iron Fish's former founder and chief executive, "now at Base". On 20 April 2026 the Iron Fish Foundation, the non-profit that looked after the network, said it was moving to "maintenance mode", stopping grants and closing its Discord chat server. "Continuing active development at the pace we once had isn't something we can sustain going forward," it wrote. In February its X account had told followers: "Iron Fish isn't going anywhere."

How one coin was spent many times

Each Iron Fish coin works like a banknote with a serial number nobody else can see. To stop people spending the same note twice, the network keeps a list of "spent" stamps. When a note is spent, its stamp, called a nullifier, goes on the list, and any later payment showing the same stamp is refused. This is the "double spend" problem every digital currency has to solve: a computer file can be copied, so something must stop a person paying with the same money twice.

Iron Fish worked out each stamp partly from the note's position in a giant filing tree that records every note ever created, known as a Merkle tree. The bug was in how that tree filled its empty drawers. Where a branch had no notes in it yet, the 2019 code copied the neighbouring full branch into the gap instead of marking it empty. That meant a note could truthfully claim to sit in two places at once: its real spot and the copied one. Each spot produced a different stamp. The list of spent stamps saw two different stamps and let both payments through.

Iron Fish's own postmortem, published on GitHub, sets out the limits. The attacker could not touch anyone else's coins. They could only spend notes they already owned, but they could spend each one more than once, and so create coins out of nothing. The team's X post says the attacker "compounded the exploit, aggregated their notes, and exited through the ChainPort bridge." The postmortem also says the hidden positions mean no single past transaction can be proved to be the attack from the chain data alone.

The exit door: ChainPort and wIRON

Coins on one blockchain cannot move to another by themselves. A bridge is the workaround. ChainPort, a bridge company, held IRON on the Iron Fish network and issued wIRON, a "wrapped" stand-in, on Base, much as a cloakroom keeps a coat and hands over a ticket. A wIRON ticket could be sold for US dollar stablecoins, digital dollars, on Base trading apps such as Aerodrome and Uniswap.

The bridge could not tell real IRON from IRON made by the bug, so it handed out real tickets for fake coats. Bitquery, a blockchain data firm, counted 2,977,027,045 wIRON created on Base on 27 October, against about 2.93 million in existence before that day, roughly a thousand times the supply. Base's public records show the first unusually large batch, 997,000 wIRON, early that morning (UTC) and the biggest, about 2.38 billion, that evening. On 1 November the wIRON contract showed about 2.79 billion tokens in existence.

None of that is a dollar figure. The tickets were only worth what buyers in the trading pools would pay, and the pools were small. Iron Fish has not said how much real money left, and neither has ChainPort. Screenshots shared by traders and reported by crypto.news showed wIRON's displayed market value collapsing from about $200 million, a number inflated by the fake supply, to under $2,000, with about $302 of liquidity left in the main Aerodrome pool. IRON itself fell from about $0.074 on 26 October to about $0.022 on the morning of 27 October, according to CoinGecko.

Why an old bug kills a whole network

A bank that finds a fault in its ledger can close the branch, fix the books and reopen on Monday. A blockchain has no Monday. The fix Iron Fish wrote changes the "root", the single fingerprint that sums up the whole filing tree, for every block back to the very first. The postmortem says plainly that the fix suits only "a new chain with a newly generated genesis", a fresh start from block one, and that the existing mainnet and testnet histories "are not compatible with this patch." The postmortem sketches a second route that keeps the old history: rewriting the proof rules, which would need a new trusted-setup ceremony to create fresh cryptographic keys and a coordinated upgrade by every node. There was no team left to run either. And even then, coins already made by the bug look exactly like real ones and could not be picked out.

The team went further and blamed a change in the threat. "The ability to find and exploit vulnerabilities in technically complex code is becoming commoditized," it wrote. "Safety guardrails on US frontier models make it difficult for companies to use them to patch security vulnerabilities, while abliterated open-source models are approaching frontier capabilities." Abliterated models are free AI models with their safety refusals stripped out. Iron Fish gave no evidence that AI was used in this attack. Its point was wider: software that cannot be upgraded quickly, which describes most of crypto, is now "in an extremely precarious position."

The comparison with Zcash is close. In 2026 Zcash fixed a different flaw in its Orchard system that could also let one note be spent twice, after the AI model Claude Opus found it. Zcash had money and engineers to ship an upgrade. Iron Fish, in maintenance mode, had neither.

The aftermath

Iron Fish said on 30 October 2026 that it was ending all remaining support for the network. It committed the fix, with a technical postmortem, to its GitHub code library and said it would archive the code; on 1 November the library had not yet been marked as archived. The fix only works for a brand-new chain started from scratch, and nobody has announced one. The network was designed to keep running without the team, and independent miners and node operators could in theory keep producing blocks, but with a known way to create coins from nothing and no developers, there is little reason to trust it.

Iron Fish has announced no refund, no snapshot of balances and no deadline for holders. It has not said how much money the attacker took out, or whether anyone has asked the police to investigate. ChainPort has not given its own detailed public account, according to Startup Fortune, and crypto.news carried no response from it. In August 2024 Iron Fish had said ChainPort could screen addresses and freeze or burn malicious tokens. Base's records show about 192 million wIRON destroyed in some 2,300 transactions on 27 and 28 October, which is why the supply stood near 2.79 billion rather than 2.98 billion, but neither company has said who did it or why.

Elena Nadolinski, who founded the project and moved to Base with the team in 2025, reposted the 28 October warning on X, and the fix was submitted from her GitHub account. No outlet has quoted a statement from her on the shutdown. IRON still traded on Gate and MEXC on 1 November at about $0.009; KuCoin had already delisted it in October 2024. No attacker has been named, and no regulator or court has made any finding.

What this teaches

  • An audit is a sample, not a guarantee. Iron Fish says this code was inside the scope of both its outside and in-house reviews.
  • A blockchain cannot quietly patch its past. A fix that changes how old records are fingerprinted means starting a new chain.
  • A bridge trusts the chain it is plugged into. ChainPort issued real wIRON against IRON that should never have existed.
  • A token's market value is not money. wIRON showed a $200 million value built on fake supply and a pool with a few hundred dollars in it.
  • A project in maintenance mode has no one to respond. Iron Fish's team had already left for Base when the bug was used.