{"investigation":{"slug":"parity-multisig","entity_name":"Parity Multisig","trust_score":5,"severity_base":null,"score_modifier":0,"confidence":0.95,"status":"published","content_type":"investigation","summary":"Parity Multisig was a multi-signature wallet implementation developed by Parity Technologies, founded by Ethereum co-founder Gavin Wood. The software suffered two catastrophic security failures in 2017: a July hack in which 153,037 ETH (approximately $30–32 million at the time) was stolen from three Ethereum project wallets via an unguarded initialization function, and a November incident in which GitHub user devops199 accidentally triggered a self-destruct on the shared library contract, permanently freezing 513,774 ETH (approximately $150–280 million at the time) across 587 wallets. The frozen funds have never been recovered, and the July 2017 attacker resumed laundering stolen ETH through the exchange eXch in May 2024 after seven years of inactivity.","sections":[{"content":"Parity Technologies, co-founded by Ethereum co-creator Gavin Wood and CEO Jutta Steiner, developed the Parity Ethereum client and an associated multi-signature wallet product. The Parity Multisig wallet was widely adopted by Ethereum projects, particularly those conducting initial coin offerings (ICOs), to hold crowdsale proceeds with multi-party authorization requirements. The wallet's architecture separated a lightweight 'stub' contract deployed per wallet from a shared 'WalletLibrary' contract containing the core logic. This delegation pattern, while intended to reduce deployment costs, introduced a critical dependency: all wallet instances shared a single library contract whose destruction would render all dependent wallets non-functional.","heading":"Background and Overview","sources":[{"url":"https://www.parity.io/blog/the-multi-sig-hack-a-postmortem/","name":"parity.io","type":"other","credibility":3},{"url":"https://www.openzeppelin.com/news/on-the-parity-wallet-multisig-hack-405a8c12e8f7","name":"openzeppelin.com","type":"other","credibility":3},{"url":"https://cointelegraph.com/news/parity-multisig-wallet-hacked-or-how-come","name":"cointelegraph.com","type":"other","credibility":3}],"severity":"medium"},{"content":"On July 19, 2017, between approximately 19:00 and 20:00 UTC, an attacker exploited a critical access control vulnerability in the Parity Multisig Wallet version 1.5+. The vulnerability resided in the WalletLibrary contract's initWallet() function, which was callable by any external actor due to missing access controls. The wallet contract forwarded all unmatched calls to the library via a delegatecall fallback function, effectively exposing all public library functions — including the unprotected initWallet() — to any caller.\n\nThe attacker executed a two-step exploit: first calling initWallet() with their own address as the sole owner, thereby overwriting legitimate ownership state; then calling execute() to drain the full balance to their address. Three Ethereum projects suffered direct losses: Aeternity (82,000 ETH), Swarm City (44,055 ETH), and Edgeless (26,000 ETH), for a combined total of approximately 153,037 ETH worth roughly $30–32 million at prevailing prices.\n\nFollowing discovery of the active exploit, a group calling themselves the White Hat Group (WHG) used the same vulnerability to preemptively drain over 377,000 ETH from other vulnerable Parity wallets and move those funds to a secure address, preventing further theft. The total value rescued by the WHG was reported at approximately $166 million in combined ETH and tokens. White Hat funds were subsequently returned to affected wallet owners via newly deployed, patched wallets.\n\nParity Technologies published a postmortem on their blog acknowledging the vulnerability. The original multi-sig wallet code was derived from Ethereum Foundation DEV team code; however, Parity's restructuring into the stub/library pattern was not subjected to a formal external security audit prior to deployment. The attacker's wallet address (beginning 0xb3764761) retained approximately 83,000 ETH at last known accounting.","heading":"July 2017 Hack: 153,037 ETH Stolen","sources":[{"url":"https://www.openzeppelin.com/news/on-the-parity-wallet-multisig-hack-405a8c12e8f7","name":"openzeppelin.com","type":"other","credibility":3},{"url":"https://medium.com/parity-hack-trace/parity-hack-and-153-037-stolen-eth-2a7704f59f3b","name":"medium.com","type":"other","credibility":3},{"url":"https://www.securityweek.com/hacker-steals-30-million-ethereum-parity-wallets/","name":"securityweek.com","type":"other","credibility":3},{"url":"https://bitcoinmagazine.com/business/white-hats-step-save-funds-vulnerable-ether-wallets","name":"bitcoinmagazine.com","type":"other","credibility":3},{"url":"https://github.com/bokkypoobah/ParityMultisigRecoveryReconciliation","name":"github.com","type":"other","credibility":3}],"severity":"medium"},{"content":"On November 6, 2017, a GitHub user operating under the handle 'devops199' discovered that the shared WalletLibrary contract deployed on July 20, 2017 — the replacement library deployed after the July hack — had never been initialized. Because no wallet had called initWallet() on the library contract itself during deployment, ownership of the library remained unclaimed.\n\nDevops199 called the initWallet() function on the library contract, establishing themselves as its owner. The user then called the kill() function (a self-destruct mechanism inherited from the original Foundation wallet code), which permanently deleted the library contract from the Ethereum blockchain. Because all Parity multisig wallets deployed after July 20, 2017 used this library via delegatecall, the deletion of the library rendered all 587 dependent wallet contracts permanently non-functional. A total of 513,774.16 ETH was frozen across these wallets.\n\nDevops199 subsequently posted a GitHub issue titled 'I accidentally killed it,' suggesting the action was unintentional. Parity's own postmortem acknowledged that a GitHub issue filed in August 2017 had recommended that the library be auto-initialized during deployment to prevent exactly this scenario, but the recommendation was classified as a 'convenience enhancement' and was not implemented before the incident.\n\nAffected parties included Polkadot — the parachain project co-founded by Gavin Wood himself — along with hundreds of other wallets. At the time of the incident, the frozen ETH was valued at approximately $150 million; by April 2018, when a recovery vote was held, the same ETH was worth approximately $280–330 million due to ETH price appreciation.\n\nSome security researchers and a competing company (Cappasity) alleged the incident was a deliberate hack rather than an accident, though this characterization was disputed and no formal charges were filed.","heading":"November 2017 Accidental Freeze: 513,774 ETH Permanently Locked","sources":[{"url":"https://medium.com/paritytech/a-postmortem-on-the-parity-multi-sig-library-self-destruct-63daca3a4cf7","name":"medium.com","type":"other","credibility":3},{"url":"https://www.vice.com/en/article/parity-multi-signature-wallet-vulnerability-300-million-hard-fork/","name":"vice.com","type":"other","credibility":3},{"url":"https://news.sophos.com/en-us/2017/11/17/bug-that-deleted-300m-could-have-been-fixed-months-ago/","name":"news.sophos.com","type":"other","credibility":3},{"url":"https://securityaffairs.com/65413/hacking/ethereum-parity-wallet-hack.html","name":"securityaffairs.com","type":"other","credibility":3},{"url":"https://www.vice.com/en/article/ethereum-wallet-parity-knew-about-critical-flaw-that-let-user-devops199-lock-up-millions/","name":"vice.com","type":"other","credibility":3}],"severity":"medium"},{"content":"Following the November 2017 freeze, Parity Technologies submitted Ethereum Improvement Proposal 999 (EIP-999) in April 2018, which proposed restoring the WalletLibrary contract to its pre-destruction state in order to unfreeze the 513,774 ETH. The proposal required a consensus-level change to the Ethereum protocol — specifically, modifying the chain state to restore a destroyed contract — and was controversial within the Ethereum community.\n\nOpponents argued the proposal would undermine the immutability guarantees of the Ethereum blockchain and set a precedent for reversing smart contract outcomes based on political pressure rather than protocol rules. The debate drew parallels to the contentious 2016 DAO hack hard fork, which split the Ethereum community and gave rise to Ethereum Classic. Vitalik Buterin reportedly expressed skepticism about the proposal.\n\nAn informal coin-vote on the proposal concluded with approximately 55 percent of participating votes against EIP-999, and the proposal was not implemented. The 513,774 ETH remain permanently inaccessible as of 2026, with no viable technical path to recovery identified within the existing Ethereum protocol.\n\nParity Technologies stated they had 'no intention of splitting Ethereum' over the issue, and the company subsequently shifted focus to the Polkadot ecosystem.","heading":"EIP-999 Recovery Proposal and Community Rejection","sources":[{"url":"https://cointelegraph.com/news/eip-999-why-a-vote-to-release-parity-locked-funds-evoked-so-much-controversy","name":"cointelegraph.com","type":"other","credibility":3},{"url":"https://bitcoinmagazine.com/business/evolving-debate-over-eip-999-can-or-should-trapped-ether-be-freed","name":"bitcoinmagazine.com","type":"other","credibility":3},{"url":"https://bitcoinist.com/ethereum-community-votes-330-million-parity-refund-request/","name":"bitcoinist.com","type":"other","credibility":3},{"url":"https://bravenewcoin.com/insights/parity-tech-has-no-intention-of-splitting-ethereum-over-513000-stranded-eth","name":"bravenewcoin.com","type":"other","credibility":3},{"url":"https://www.ccn.com/330-million-eip-999-stokes-debate-over-eth-frozen-by-paritys-contract-bug/","name":"ccn.com","type":"other","credibility":3}],"severity":"medium"},{"content":"Both incidents share a common root cause: the failure to apply access controls to sensitive initialization and administrative functions in a library contract accessible via delegatecall.\n\nThe July 2017 vulnerability arose from a design decision to expose wallet initialization logic through a public library function without guarding it against re-entry or unauthorized callers. The delegatecall pattern used in the stub contract caused all public functions in WalletLibrary — including initWallet() — to be callable by any external address, as if they were functions on the stub itself. This is a well-documented pitfall of the delegatecall pattern in Solidity.\n\nThe November 2017 vulnerability was a direct consequence of the July fix: when a replacement library was deployed, it was not initialized, leaving its own initWallet() callable by anyone. The kill() function — a selfdestruct wrapper — was inherited from the original audited Foundation code but was not removed or protected in the library context, where its invocation would affect hundreds of dependent wallets rather than a single contract.\n\nParity acknowledged in its postmortem that the August 2017 GitHub issue recommending auto-initialization was known internally but not prioritized. Security researchers at OpenZeppelin, HackerNoon, and Solidified subsequently published detailed analyses identifying the vulnerability class and tooling to detect similar bugs in other contracts.","heading":"Technical Analysis: Vulnerability Root Causes","sources":[{"url":"https://www.openzeppelin.com/news/on-the-parity-wallet-multisig-hack-405a8c12e8f7","name":"openzeppelin.com","type":"other","credibility":3},{"url":"https://medium.com/hackernoon/what-caused-the-latest-100-million-ethereum-bug-and-a-detection-tool-for-similar-bugs-7b80f8ab7279","name":"medium.com","type":"other","credibility":3},{"url":"https://medium.com/solidified/parity-hack-how-it-happened-and-its-aftermath-9bffb2105c0","name":"medium.com","type":"other","credibility":3},{"url":"https://medium.com/paritytech/a-postmortem-on-the-parity-multi-sig-library-self-destruct-63daca3a4cf7","name":"medium.com","type":"other","credibility":3}],"severity":"medium"},{"content":"In May 2024, on-chain analysts detected that the wallet address associated with the July 2017 Parity hack began moving funds for the first time in approximately seven years. The attacker transferred approximately 3,050 ETH (valued at roughly $9 million at the time) to the exchange eXch, using multiple intermediate addresses to consolidate and obscure the origin of funds. eXch is a centralized exchange that does not require KYC verification and has been used by multiple threat actors for fund obfuscation.\n\nAt the time the laundering activity was detected, the primary hacker address (beginning 0xb3764761) still held approximately 83,017 ETH, valued at approximately $246 million at prevailing ETH prices — a significant appreciation from the roughly $30 million value at the time of theft. The resumed activity suggests the attacker has not abandoned efforts to monetize the stolen assets and may continue moving funds.","heading":"2024 Laundering Activity: Stolen Funds Moved After Seven Years","sources":[{"url":"https://crypto.news/parity-wallet-hacker-begins-laundering-150k-in-ethereum-after-7-years-of-inactivity/","name":"crypto.news","type":"other","credibility":3},{"url":"https://u.today/parity-wallet-hacker-moves-9-million-in-ethereum-leaving-246-million-in-limbo","name":"u.today","type":"other","credibility":3},{"url":"https://cryptoslate.com/heres-how-the-parity-ethereum-hacker-is-cashing-out-his-funds/","name":"cryptoslate.com","type":"other","credibility":3},{"url":"https://dailycoin.com/parity-wallet-hacker-launders-9m-after-seven-years-hiatus/","name":"dailycoin.com","type":"other","credibility":3}],"severity":"medium"},{"content":"No public regulatory enforcement actions (SEC, CFTC, or DOJ) against Parity Technologies specifically related to the multisig vulnerabilities have been identified. The legal question of software liability for smart contract bugs remains largely unresolved; legal analysis from Proskauer Rose LLP noted that traditional software liability frameworks do not map cleanly to autonomous smart contracts and that victims faced significant barriers to recovery in tort or contract law.\n\nParity Technologies relocated its legal domicile to Switzerland and was restructured into the Web3 Foundation, which oversees Polkadot development, and a separate Parity Technologies entity focused on engineering. No class action litigation against Parity Technologies regarding the multisig incidents appears to have reached judgment as of publicly available records.","heading":"Regulatory and Legal Context","sources":[{"url":"https://www.proskauer.com/blog/when-smart-contracts-are-outsmarted-the-parity-wallet-freeze-and-software-liability-in-the-internet-of-value","name":"proskauer.com","type":"other","credibility":3},{"url":"https://natlawreview.com/article/when-smart-contracts-are-outsmarted-parity-wallet-freeze-and-software-liability","name":"natlawreview.com","type":"other","credibility":3}],"severity":"medium"}],"timeline":[{"date":"2017-07-19","event":"Attacker exploits unguarded initWallet() function in Parity Multisig WalletLibrary, stealing 153,037 ETH (~$30-32M) from Aeternity, Swarm City, and Edgeless","source":""},{"date":"2017-07-19","event":"White Hat Group uses the same exploit to drain and rescue approximately 377,000 ETH from other vulnerable Parity wallets before additional theft occurs","source":""},{"date":"2017-07-20","event":"Parity Technologies deploys replacement WalletLibrary contract without initializing it, inadvertently leaving a new critical vulnerability","source":""},{"date":"2017-08","event":"GitHub issue filed recommending auto-initialization of the library contract; Parity classifies it as a convenience enhancement and does not implement the fix","source":"","date_original":"2017-08-01"},{"date":"2017-11-06","event":"GitHub user devops199 calls initWallet() on the uninitialized library contract, becomes its owner, then calls kill(), permanently destroying it and freezing 513,774 ETH across 587 wallets","source":""},{"date":"2017-11-08","event":"Parity Technologies publicly announces the library self-destruct incident and begins postmortem analysis","source":""},{"date":"2017-11-15","event":"Parity publishes postmortem on the library self-destruct incident, acknowledging the prior known-but-unaddressed vulnerability","source":""},{"date":"2018-04","event":"Parity submits EIP-999 to the Ethereum community, proposing a protocol-level state change to restore the destroyed library contract and unfreeze 513,774 ETH (now worth ~$280-330M)","source":"","date_original":"2018-04-01"},{"date":"2018-04-30","event":"Community coin-vote on EIP-999 concludes with approximately 55% voting against; proposal is rejected and frozen funds remain inaccessible","source":""},{"date":"2024-05-13","event":"July 2017 Parity hacker resumes on-chain activity after seven years of inactivity, transferring ~3,050 ETH (~$9M) to exchange eXch using multiple intermediate addresses","source":""}],"sources_used":[{"url":"https://www.parity.io/blog/the-multi-sig-hack-a-postmortem/","name":"parity.io","type":"other","archive_url":"http://web.archive.org/web/20231217095011/https://www.parity.io/blog/the-multi-sig-hack-a-postmortem/","credibility":3,"archive_timestamp":"2023-12-17T09:50:11+00:00"},{"url":"https://www.openzeppelin.com/news/on-the-parity-wallet-multisig-hack-405a8c12e8f7","name":"openzeppelin.com","type":"other","archive_url":"http://web.archive.org/web/20260312190326/https://www.openzeppelin.com/news/on-the-parity-wallet-multisig-hack-405a8c12e8f7","credibility":3,"archive_timestamp":"2026-03-12T19:03:26+00:00"},{"url":"https://cointelegraph.com/news/parity-multisig-wallet-hacked-or-how-come","name":"cointelegraph.com","type":"other","archive_url":"http://web.archive.org/web/20251105100156/https://cointelegraph.com/news/parity-multisig-wallet-hacked-or-how-come","credibility":3,"archive_timestamp":"2025-11-05T10:01:56+00:00"},{"url":"https://medium.com/parity-hack-trace/parity-hack-and-153-037-stolen-eth-2a7704f59f3b","name":"medium.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://www.securityweek.com/hacker-steals-30-million-ethereum-parity-wallets/","name":"securityweek.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://bitcoinmagazine.com/business/white-hats-step-save-funds-vulnerable-ether-wallets","name":"bitcoinmagazine.com","type":"other","archive_url":"http://web.archive.org/web/20260418045447/https://bitcoinmagazine.com/business/white-hats-step-save-funds-vulnerable-ether-wallets","credibility":3,"archive_timestamp":"2026-04-18T04:54:47+00:00"},{"url":"https://github.com/bokkypoobah/ParityMultisigRecoveryReconciliation","name":"github.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://medium.com/paritytech/a-postmortem-on-the-parity-multi-sig-library-self-destruct-63daca3a4cf7","name":"medium.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://www.vice.com/en/article/parity-multi-signature-wallet-vulnerability-300-million-hard-fork/","name":"vice.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://news.sophos.com/en-us/2017/11/17/bug-that-deleted-300m-could-have-been-fixed-months-ago/","name":"news.sophos.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://securityaffairs.com/65413/hacking/ethereum-parity-wallet-hack.html","name":"securityaffairs.com","type":"other","archive_url":"http://web.archive.org/web/20260217054643/https://securityaffairs.com/65413/hacking/ethereum-parity-wallet-hack.html","credibility":3,"archive_timestamp":"2026-02-17T05:46:43+00:00"},{"url":"https://www.vice.com/en/article/ethereum-wallet-parity-knew-about-critical-flaw-that-let-user-devops199-lock-up-millions/","name":"vice.com","type":"other","archive_url":"http://web.archive.org/web/20251010225206/https://www.vice.com/en/article/ethereum-wallet-parity-knew-about-critical-flaw-that-let-user-devops199-lock-up-millions/","credibility":3,"archive_timestamp":"2025-10-10T22:52:06+00:00"},{"url":"https://cointelegraph.com/news/eip-999-why-a-vote-to-release-parity-locked-funds-evoked-so-much-controversy","name":"cointelegraph.com","type":"other","archive_url":"http://web.archive.org/web/20251210144827/https://cointelegraph.com/news/eip-999-why-a-vote-to-release-parity-locked-funds-evoked-so-much-controversy","credibility":3,"archive_timestamp":"2025-12-10T14:48:27+00:00"},{"url":"https://bitcoinmagazine.com/business/evolving-debate-over-eip-999-can-or-should-trapped-ether-be-freed","name":"bitcoinmagazine.com","type":"other","archive_url":"http://web.archive.org/web/20260313083257/https://bitcoinmagazine.com/business/evolving-debate-over-eip-999-can-or-should-trapped-ether-be-freed","credibility":3,"archive_timestamp":"2026-03-13T08:32:57+00:00"},{"url":"https://bitcoinist.com/ethereum-community-votes-330-million-parity-refund-request/","name":"bitcoinist.com","type":"other","archive_url":"https://web.archive.org/web/20260829191038/https://bitcoinist.com/ethereum-community-votes-330-million-parity-refund-request/","credibility":3,"archive_timestamp":"2026-08-29T19:10:38+00:00"},{"url":"https://bravenewcoin.com/insights/parity-tech-has-no-intention-of-splitting-ethereum-over-513000-stranded-eth","name":"bravenewcoin.com","type":"other","archive_url":"http://web.archive.org/web/20251110142936/https://bravenewcoin.com/insights/parity-tech-has-no-intention-of-splitting-ethereum-over-513000-stranded-eth","credibility":3,"archive_timestamp":"2025-11-10T14:29:36+00:00"},{"url":"https://www.ccn.com/330-million-eip-999-stokes-debate-over-eth-frozen-by-paritys-contract-bug/","name":"ccn.com","type":"other","archive_url":null,"credibility":3,"archive_error":"error:no-request","archive_status":"unarchivable","archive_timestamp":null},{"url":"https://medium.com/hackernoon/what-caused-the-latest-100-million-ethereum-bug-and-a-detection-tool-for-similar-bugs-7b80f8ab7279","name":"medium.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://medium.com/solidified/parity-hack-how-it-happened-and-its-aftermath-9bffb2105c0","name":"medium.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://crypto.news/parity-wallet-hacker-begins-laundering-150k-in-ethereum-after-7-years-of-inactivity/","name":"crypto.news","type":"other","archive_url":"http://web.archive.org/web/20250906231848/https://crypto.news/parity-wallet-hacker-begins-laundering-150k-in-ethereum-after-7-years-of-inactivity/","credibility":3,"archive_timestamp":"2025-09-06T23:18:48+00:00"},{"url":"https://u.today/parity-wallet-hacker-moves-9-million-in-ethereum-leaving-246-million-in-limbo","name":"u.today","type":"other","archive_url":"http://web.archive.org/web/20250913164941/https://u.today/parity-wallet-hacker-moves-9-million-in-ethereum-leaving-246-million-in-limbo","credibility":3,"archive_timestamp":"2025-09-13T16:49:41+00:00"},{"url":"https://cryptoslate.com/heres-how-the-parity-ethereum-hacker-is-cashing-out-his-funds/","name":"cryptoslate.com","type":"other","archive_url":"http://web.archive.org/web/20251212034431/https://cryptoslate.com/heres-how-the-parity-ethereum-hacker-is-cashing-out-his-funds/","credibility":3,"archive_timestamp":"2025-12-12T03:44:31+00:00"},{"url":"https://dailycoin.com/parity-wallet-hacker-launders-9m-after-seven-years-hiatus/","name":"dailycoin.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://www.proskauer.com/blog/when-smart-contracts-are-outsmarted-the-parity-wallet-freeze-and-software-liability-in-the-internet-of-value","name":"proskauer.com","type":"other","archive_url":null,"credibility":3,"archive_timestamp":null},{"url":"https://natlawreview.com/article/when-smart-contracts-are-outsmarted-parity-wallet-freeze-and-software-liability","name":"natlawreview.com","type":"other","archive_url":"https://web.archive.org/web/20260829194715/https://natlawreview.com/article/when-smart-contracts-are-outsmarted-parity-wallet-freeze-and-software-liability","credibility":3,"archive_timestamp":"2026-08-29T19:47:15+00:00"}],"source_tags":["defillama"],"addresses":[],"reviewed":false,"reviewed_by":null,"model_used":"claude-sonnet-4-6","created_at":"2026-05-04T02:55:01.606919+00:00","updated_at":"2026-08-29T20:45:07.326286+00:00"}}