Zilliqa pulled the plug on legacy transactions on July 20 after a bug in the Ledger hardware wallet app exposed the private keys of at least 6,772 accounts. An attacker took advantage of the flaw to steal 683,130,969.66 ZIL across 66 transactions, with the first proven theft dating back to March 4. KuCoin flagged unusual outgoing transfers on July 19, and the attacker's last move came at 09:19:09 UTC the next morning. Zilliqa disabled legacy transfers about three and a half hours later, around 12:59 UTC.
What the bug actually did
The problem was in the non-EVM signing path — code that Zilliqa originally wrote and Ledger maintained for years without either catching the flaw. The app was supposed to generate 40 random bytes for a signature, but it copied the wrong 32 bytes into the signing buffer. That left eight bytes of zero padding and tossed out eight bytes of entropy, forcing the high 64 bits of every affected nonce to zero.
That is a serious weakness. A nonce with 64 bits forced to zero means the signature math leaks information about the private key. Gather four or more biased signatures from the same account and an attacker can reconstruct the key from public blockchain data in seconds, on ordinary hardware.
How the drain happened
Zilliqa separates the 51 accounts that were actually drained from the larger group of 6,772 whose keys were shown to be exposed. The 683 million ZIL figure covers the confirmed drained accounts, and the total could rise if more compromised accounts are proven to have produced theft transactions. The number of people affected is still unquantified, since one person can hold multiple accounts.
The exact count of exposed accounts comes from a bulk scan that required at least five native signatures per account. But the mathematical exposure floor is four biased signatures, so accounts with exactly four signatures weren't in that bulk tally. A live per-address checker on Zilliqa's site reports those cases individually.
Why the fix can't undo the damage
Zilliqa has since fixed the application code so new keys are generated properly. But that's not enough. Signatures already published to the blockchain can't be withdrawn. Once a private key has been exposed through biased signatures, it stays exposed. The only real fix is to migrate every legacy holder to the Zilliqa EVM chain and retire the legacy side completely.
The good news: the bug is limited to that legacy, non-EVM signing path. Zilliqa EVM activity, recovery phrases, assets on other blockchains, and software-wallet signing paths were not affected. So users who never touched the legacy app or who already moved to EVM are safe.
What users need to do now
Zilliqa is telling legacy holders to move to the EVM chain. But there's no launch date for the migration tool yet—it depends on an external security audit and remediation work. Until that tool is ready, anyone who used the legacy app with a Ledger device should assume their key might be at risk, especially if they've signed more than a few transactions.
In the meantime, KuCoin's report is what finally got the incident into the open, and it forced Zilliqa to act. The question now is how many more accounts show up as the per-address checker gets used, and whether the 683 million ZIL total climbs once the dust settles.




