Skip to content
Rush Commerce
Software & Dev4 min read

Liquid Network lost $320M to an inflation bug, not a key

Blockstream's Liquid Network lost ~4,000 BTC to an inflation bug that minted LBTC out of nothing. The lesson for any system that issues credit.

Blockstream's Liquid Network lost roughly 4,000 BTC — about $320 million — over the weekend, and nobody stole a private key. The attacker minted LBTC that never existed, then redeemed it for real bitcoin held in the federation's reserves. The withdrawal itself looked legitimate on the way out. That is what makes this an inflation bug and not a theft in the usual sense, and it is why it should interest people who have never touched a sidechain.

What actually happened

Liquid is a Bitcoin sidechain run by a federation. You lock BTC on the main chain, you get LBTC on the sidechain, and the federation's reserve is supposed to back every LBTC one-for-one. On September 6 the network announced that roughly 4,000 BTC had left the federation wallet — 4,019.4 BTC, against reserves that had been a little over 4,200. Around 207 BTC remained.

Blockstream said the LBTC had been created through a bug in the Elements software, the codebase the sidechain runs on. The federation paused the network, disabled bridge nodes, and told exchanges to halt LBTC deposits and withdrawals. Independent researchers have pointed at how nodes cache the cryptographic proofs that confirm hidden transaction amounts, but the exact mechanism and the patch timeline are still being argued about in public, so treat the specifics as unsettled.

The negotiation happened on-chain. The attacker, claiming white-hat intent, used Bitcoin OP_RETURN messages and PGP-encrypted text to say: fix the bug first, patch every node, then we return the funds. Blockstream replied with a PGP-signed on-chain message — "Bridge nodes are patched, safe to return the funds" — that verified against the security key published on its site. At block 965,950 the attacker sent back 3,400 BTC and kept roughly 598.5 BTC, about $47.3 million, or 15%.

Why an inflation bug matters for your business

You probably do not run a sidechain. You almost certainly run something that issues a claim on real value: gift cards, store credit, loyalty points, account balances, prepaid hours, referral credits. Every one of those is the same shape as LBTC. A row in a table entitles someone to something you actually have to pay out.

The Liquid failure was not at the redemption step. Redemption worked exactly as designed. The failure was at the mint step, where the system created a claim it should have rejected — and the redemption path had no independent check that total issued claims still matched total reserves.

That is the part to copy. If your store credit table can be written by a webhook, a support tool, a promo engine, and a migration script, then four things can mint. Ask what reconciles them. A nightly job that sums outstanding credit and compares it to what you've actually funded is cheap, boring, and would have screamed the moment 4,000 units appeared from nowhere. Most systems we audit have the redemption logging and no supply invariant at all.

Second lesson: a fix in the repo is not a fix in production. Whatever the disputed timeline turns out to be, the general case is settled — merged is not released, released is not deployed, and consensus code needs every node upgraded, not most of them. If you pin dependencies, know how you learn that a pinned version became the vulnerable one.

Key takeaways

  • Roughly 4,019 BTC (~$320M) left Blockstream's Liquid federation wallet on September 6, leaving about 207 BTC
  • The cause was an inflation bug in the Elements software that minted LBTC, not a compromised key
  • Blockstream paused the network, disabled bridge nodes, and had exchanges suspend LBTC transfers
  • The attacker returned 3,400 BTC after Blockstream PGP-signed an on-chain confirmation that nodes were patched, keeping ~598.5 BTC
  • Any system issuing gift cards, store credit, or loyalty points has the same shape — add a supply-vs-reserves reconciliation, not just redemption logs

If a row in your database is worth money, something should be counting the rows. We build reconciliation jobs, ledger invariants, and alerting into commerce systems so a minting bug shows up in an hour instead of a quarter. See how we build or bring us your ledger.

Sources: The Block, Bitcoin Magazine.

  • #liquid-network
  • #blockstream
  • #inflation-bug
  • #gift-cards
  • #security
TR

Tommy Rush — Founder, Rush Commerce

Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More

Get The Rush Report weekly — one email, zero fluff.