Alpen Labs says its AI agents reproduced the flaw behind Liquid's $320 million BTC loss in about an hour, tracing it to a proof-caching bug in the Elements sidechain software. SideSwap's peg-out service had no size or velocity checks, letting federation signers release roughly 3,996 BTC after two failed payout attempts.
AI agents retrace the failed proof check
Alpen Labs CEO Simanta Gautam says his AI agents traced the flaw and reproduced it locally in about an hour. Liquid's federation released roughly 3,996 BTC on September 6, 2026, after the network had accepted L-BTC that lacked Bitcoin backing. Liquid is a Bitcoin sidechain whose L-BTC is meant to represent bitcoin held in a federation reserve. A validly authorized withdrawal turned that invalid state into a real Bitcoin payment worth about $320 million at the time.
Elements, the software underlying Liquid, caches successful checks of the cryptographic proofs attached to confidential transactions. A September 1 code change tried to make each cached result depend on all the context that affects verification, including the asset generator and output script. However, Alpen says the change concatenated those fields as raw bytes without encoding their boundaries, so a valid "seed" proof and a different, invalid target could produce identical cache input. In Alpen's local replay, fresh verification rejected the target, while the affected cache wrapper accepted it after the seed had populated the cache.
No payout limit stopped the exit
According to SideSwap's account, the attacker sent 4,000 L-BTC to its peg-out service at 14:05 UTC on September 6, and SideSwap burned the tokens with valid authorization at 14:06. The order exceeded its own wallet funds, so two attempted payouts failed before federation signers released 3,996 BTC at 14:28. SideSwap says it forwarded 3,995.99999857 BTC to the customer's address in the same Bitcoin block.
SideSwap says its authorization key was online, payouts were automatic, and its service had no size, velocity, supply-relative, wallet-history or human-review checks. A payout limit or other independent hold applied before authorization or signing could have stopped this particular payout path even after Liquid admitted invalid state.
Peg-outs remain paused
An Elements repair on September 8 changed cache keys to encode field lengths and added collision-focused tests. Elements version 23.3.4 followed on September 9. Yet Liquid said on September 17 that ordinary transactions had resumed while peg-outs remained paused, with withdrawals to restart only after full one-to-one BTC backing is confirmed and required updates, testing and independent reviews are complete.
Source: CryptoSlate
Trading involves risk.