Check Your Safe Wallet Modules: How One Module Moved $7.7 Million Without a Signature
On September 15, 2,882 rsETH drained out of a Safe multisig without a single owner signing. An enabled module was to blame, and this is how you check your own wallet in five minutes.

Table of Contents
Table of Contents
Which topics should we dive deeper into?
Select what genuinely interests you. Your picks feed directly into our editorial planning.
Crypto news that's actually worth your time.
Weekly. 60 seconds. Carefully curated by our editors: no hype, no promo flood, no spam.
On September 15, 2026 an Ethereum wallet lost around 2,882 rsETH without a single owner signature being required. The wallet was a Safe multisig, the very design that counts as particularly secure because several keys have to sign together. The balance drained anyway, through a module the owners had enabled themselves. If you use a smart contract wallet, the task after this case is small and concrete: look at which modules are enabled in your wallet, and remove anything you no longer need or can no longer explain.
This article explains what a module is technically allowed to do, how the September 15 attack unfolded, and how to run the check yourself in a few minutes. Going through the interface costs you no fee. Only removing a module is a transaction, and that needs the regular number of signatures.
Safe module explained: what a module may do in a smart contract wallet
A Safe module is a smart contract of its own that the wallet permanently allows to execute transactions on its behalf, without the usual number of owner signatures coming together. That is not a flaw in the design, it is the point of the design. Anyone who wants to run automatic payroll, a recurring rebalancing routine or a liquidity strategy cannot have three people sign off on every step. So the wallet delegates that part to a contract.
Technically this runs through the function execTransactionFromModule, or its variant with a return value. An enabled module calls it, and the wallet executes whatever the module instructs. The signature threshold is not circumvented in the process; it is simply not provided for on this path. The Safe documentation spells out the consequence with unusual clarity: modules can execute arbitrary transactions, only audited and trusted modules should be added, and a malicious module can take over a wallet entirely. It is set out in the official Safe documentation on smart account modules.
Two properties make modules attractive to attackers. First, they are permanent: once activated, a module stays active until somebody explicitly switches it off. Second, they are invisible day to day. You do not see them when sending, not when receiving and not in the balance. They show up only where you go looking for them.
The September 15 attack: how DELEGATECALL released 2,882 rsETH
The outflow landed in block 25980525 at 04:38:47 UTC. It hit a single Safe wallet holding a leveraged position in rsETH, the liquid restaking token from Kelp DAO. The security firms Blockaid and PeckShield reported the incident first; their damage figures differ slightly and sit between 7.73 and 7.81 million dollars. The quantity is more precise than the dollar figure: 2,882.37 rsETH.
The fault sat in a bespoke module that the wallet used for a liquidity strategy on Uniswap v4. This module offered an entry point that passed caller-supplied data through unchecked, straight to the wallet function execTransactionFromModuleReturnData with operation flag 1. Flag 1 stands for DELEGATECALL, and that is the decisive point.
DELEGATECALL in one sentence
DELEGATECALL executes foreign program code in the storage and under the identity of your own contract, as though the wallet had written that code itself. Whoever can trigger this call is not acting towards the wallet but as the wallet.
Because the module's entry point had no access control for external callers, any address at all could reach it. And because the module was already enabled in the wallet, the wallet checked nothing further. The owner list and the signature threshold no longer played any part in this sequence.
Uniswap v4 hook and keeper multicall: the attacker's route step by step
The chain ran through several stages and used functions designed as convenience features throughout. The attacker first called a publicly accessible keeper multicall function. Keepers are services that keep a strategy running, for instance by adjusting positions; their calls are often deliberately open so that anyone can trigger them and the strategy never stalls.
Through that call, the attacker steered the wallet's liquidity module towards a Uniswap v4 pool he controlled himself. Uniswap v4 allows what are known as hooks, custom code that runs automatically alongside certain events in a pool. The hook in this pool belonged to the attacker.
The last step was the unwrapping. The wallet did not hold bare rsETH but aEthrsETH, that is rsETH inside the interest-bearing wrapper of the lending market Aave. In that form it cannot simply be carried off. The hook unwrapped the holding into freely transferable rsETH, and with that the balance was mobile.

An MEV bot instead of the attacker: why "yoink" got the money
The attacker sent his transaction into the public mempool, the waiting area of unconfirmed transactions that anyone can inspect. An MEV bot called "yoink" was reading along there, rebuilt the same sequence and got in first within the same block. The 2,882.37 rsETH landed on an address belonging to the bot, worth around 7.80 million dollars at its valuation at the moment of execution.
For the wallet that was robbed, that changes nothing. For you it changes two things. First, the case shows that an open weakness in a module does not concern only the attacker who finds it: as soon as the sequence is publicly visible, anyone fast enough can rebuild it. Second, it explains why the prospects of recovery differ here from a classic theft. Kelp DAO paused the receiving address at 06:03 UTC for 24 hours and stated at the same time that its own contracts were untouched and that rsETH remained fully backed. The fault sat in a bespoke module of a single wallet, not in the token and not in the protocol.
Hardware Wallets ComparedNot the first case: the SquidRouterModule exploit of May 25, 2026
Anyone treating the September incident as a one-off underestimates the pattern. On May 25, 2026 an attack hit a module running under the name SquidRouterModule. According to the outlets that reported it, at least 86 Safe wallets on Ethereum and Base were affected; depending on the analysis, the damage is put at 3.2 million dollars, or in another count at just under 4 million dollars across a good 300 transactions. The sequence lasted around two hours.
The route of attack was a different one and the result was the same. Instead of a DELEGATECALL entry, the attackers used the function executeSameChainActions() and passed themselves off as authorised delegates. Because the module already held far-reaching rights in the affected wallets, the wallet contracts treated the forged instructions as genuine. The provider Squid stated publicly that the exploited contract merely shared a name with its own product architecture and had no connection to it, and that its own users and integrators had not been affected.
The same lesson can be drawn from both cases. The weakest point of a multisig today is rarely the signature threshold. It lies in the contracts that the wallet at some point allowed to work around that threshold. When choosing your custody solution, that is a criterion which appears in barely any product description; our hardware wallet comparison ranks the devices by how much control over signing really stays with you.
Checking Safe modules: how to see what is enabled in five minutes
The check itself is unspectacular, and that is exactly why it so often goes undone. There are two routes, and they answer the same question.
Through the interface: settings and the module list
Open your wallet in the Safe interface and go to the Modules entry in the settings. It lists which contract addresses are enabled for this wallet. For the vast majority of private wallets there is nothing there, and that is the good case. If something is listed, go through each address one at a time and answer three questions: do you still remember what you enabled this module for? Do you still use the associated application today? And can you find a traceable provider for the address, complete with an audit report?
If any one of those questions stays open, the module belongs on the list for removal. The burden of proof here sits on the side of keeping. A module whose purpose you can no longer name carries on working regardless.
Through the contract: getModules and isModuleEnabled
Anyone who wants to know independently of an interface asks the wallet contract directly. The read function getModules returns the addresses of all enabled modules, and isModuleEnabled answers yes or no for a single address as to whether it is enabled. Both calls are pure read calls: they cost no fee, need no signature and can be run through any block explorer or an SDK.
The contract route has a practical advantage. It shows you the state of the chain and not the rendering of an application. If an interface fails to display a module for whatever reason, it is still listed here.

Removing a module: why disableModule needs your signature threshold
Switching off runs through the wallet function disableModule. Unlike looking, this is a real transaction. It costs network fees and needs the regular number of signatures from your owners. In the Safe interface you start the process in the same module list you have just been reading; the owners then confirm as they would for any other transaction.
One quirk is worth knowing: the modules are stored in the contract as a linked list, and switching off therefore also needs the address of the preceding entry. Interfaces and SDKs insert this value themselves. Anyone building the transaction by hand has to determine it, or the call fails.
Schedule the removal for a moment when network fees are low, and work through several modules in one session. That does not apply to plain inspection: it costs nothing and can happen right away.
Staking Platforms at a GlanceToken approvals and modules: two permissions, two separate checks
This is where a confusion regularly arises that can turn expensive. A token approval, approve in contract jargon, allows an outside contract to debit a certain amount of a certain token from your address. A module, by contrast, allows an outside contract to act inside your wallet, and to do so across all your holdings.
The difference in reach is considerable, which is why neither check replaces the other. Someone who has cleanly revoked their approvals can still have a module with full access enabled. How to clear out the approvals and what a revocation costs at the current gas price is described in our guide to token approvals on Ethereum. For modules, the check from the previous section applies on top.
Both checks, incidentally, only concern wallets you manage yourself. If your balance sits with an exchange, its custody decides the matter, and the checklist there looks entirely different.
Restaking wrappers like aEthrsETH: why wrapped tokens enlarge the damage
One side aspect of the case deserves attention of its own. The affected wallet held its Ethereum in multiply wrapped form: first as the liquid restaking token rsETH, then once more as interest-bearing aEthrsETH in the lending market. Every wrapper is a further contract that brings rights, rules and, in case of doubt, weaknesses of its own.
For you that means one thing above all: the deeper the wrapping, the longer the chain of contracts you would have to check in order to really understand your position. Anyone building yield through restaking and lending should at least be able to name the layers involved. Our overview of staking platforms sets out for each provider how many contract layers sit between you and your ether.
For completeness: on September 15 Kelp DAO explicitly stated that its own contracts were not affected and that rsETH remains backed. The wrapping did not cause the damage. It made the damage mobile, once the attacker had access to the wallet.
Reporting duty since September 11: what the Cyber Resilience Act changes for wallet providers
For you as a user in Germany there is a regulatory change on top, and it alters how such gaps are handled. Since September 11, 2026 the first reporting duties of the EU Cyber Resilience Act have applied. Manufacturers of products with digital elements have to report an actively exploited vulnerability within 24 hours of becoming aware of it as an early warning to the EU agency ENISA and to the relevant national computer emergency response team; the detailed vulnerability notification follows within 72 hours at the latest. The duty also covers products already on the market.
Wallet software falls under it, and we have set out the consequences for providers in more detail in our piece on the reporting duty for wallet makers. In practice this means: with a provider based in or selling into the EU, you should in future hear about an actively exploited gap promptly.
This protection has a limit, though, and the September 15 case shows it clearly. The faulty module was not a manufacturer's product but a bespoke contract for a single wallet. For self-built or individually commissioned contracts there is nobody who notifies you. There, the check stays your own job.
Checking Safe modules: what to take away
- Look at your module list today. Open the settings of your smart contract wallet and read the enabled contract addresses. It costs no fee and no signature. If you are thinking about your custody anyway, compare in parallel which solution suits your holdings: the devices sit side by side in our hardware wallet comparison.
- Remove what you can no longer explain. Every module whose purpose you cannot name, or whose application you no longer use, belongs switched off via
disableModule. Schedule the transaction for a moment with low fees. If you would rather keep your day-to-day holdings in a lean wallet without module logic, the candidates are in our software wallet comparison. - Count the layers of your yield position. For every wrapped position, note which contracts sit between you and your ether, and decide whether the extra yield is worth that chain to you. The providers and their contract layers are in our overview of staking platforms.
The September 15 case is no argument against smart contract wallets. It is an argument for reading the one list nobody reads. The details of the sequence were reconstructed by The Crypto Times on September 15.
(As of September 16, 2026. This article is not investment advice. Prices and fee structures change; check the terms with the provider before you buy.)
Transparency note: This article was produced with the assistance of artificial intelligence and reviewed by our editorial team before publication. All figures and claims were checked against the primary sources linked in the text. The feature image was generated with AI.
Related articles
- Foreign Code on Your Ethereum Address: How to Check Your EIP-7702 Delegation
- Aave loop module: 114.09 ETH drained from two Safe multisigs, and what you can do now
- Crypto audits after $1.18 billion in losses: “The problem is always scope”
- Guilty Verdict over a $53.3 Million DeFi Exploit: What Investors in Germany Need to Know
- USDT Key Control: Who Can Move Your Tether Balance, and How to Check It Yourself
Which topics should we dive deeper into?
Select what genuinely interests you. Your picks feed directly into our editorial planning.
Crypto news that's actually worth your time.
Weekly. 60 seconds. Carefully curated by our editors: no hype, no promo flood, no spam.
August 30, 2026 1:22 AM

Ajna Exploit: $775,400 Drained and No Pause Button in the DeFi Lending Protocol
Between August 28 and 29, 2026 roughly $775,400 drained out of seven Ethereum pools of the lending protocol Ajna v2. Because the contract is immutable and has no governance, there is no pause button: users have to withdraw themselves.
September 7, 2026 7:26 PM

Stolen Keys Beat Code Flaws: Why the Private Key Is the Way In for 2026 Crypto Hacks
Compromised private keys overtook smart contract code flaws as the most common attack route for the first time in 2026. What sits behind the shift, and how to check your own setup for its single point of failure.
October 14, 2026 1:36 AM

MediaMarkt and Saturn halt Ledger sales after a customer reports an implant
Since October 13 MediaMarkt and Saturn have sold no Ledger devices, neither in store nor online. The trigger is a customer's report of an implant. What Ledger confirms, why the authenticity check does not help, and which steps make sense for devices bought in a store.
October 5, 2026 10:24 AM

$6 million out of a Base vault: what you can do now with your DeFi deposits
A vault on Base was drained of around 1,783 wstETH on October 4, 2026, about $6 million. The route ran through an entry on the permission list, not through a hole in Aave's protocol.
September 13, 2026 10:12 PM

Chainflip Hack on Tron: How to Check Whether Your USDT Swap Is Still Stuck
An attacker drained 736,442 USDT through Chainflip's Tron rail on September 12, 2026, and trading has been at a standstill ever since. On September 13 we measured for ourselves which functions of the protocol are switched off and which are still running.
September 10, 2026 9:13 AM

Trezor Hack Scare: That STM32 Entropy Email Is a Phishing Attack
Trezor users received a fake STM32 entropy warning sent from a real Trezor address. Here is what happened and what to do if you clicked.
August 30, 2026 10:38 PM

Crypto Cards: Where Your Card Balance Really Sits and What the August 28 Solana Exploit Reveals About It
An attack on a card balance contract on Solana took the loaded balance from 1,685 users while their wallets stayed untouched. The case shows why it matters whether your crypto card holds funds as e-money at a licensed institution or in a smart contract.
August 23, 2026 10:27 AM

SEC Regulation Crypto Assets: When a Token Is No Longer a Security
The SEC had Regulation Crypto Assets printed in the Federal Register on August 21, 2026, so the comment period runs until October 20, 2026. This article explains the proposed safe harbor, the two issuance exemptions and what the draft means for you.
April 21, 2026 11:15 AM

Breaking: Arbitrum Security Council Freezes $71M in ETH Linked to KelpDAO Exploit
The Arbitrum Security Council has frozen 30,766 ETH tied to the KelpDAO hack, sparking a fierce debate over decentralization and emergency powers in DeFi.
July 7, 2023 9:14 AM

Breaking News: Multichain Potentially Compromised in a Major Exploit Exceeding $126 Million
Multichain Potentially Compromised in a Major Exploit Exceeding $126 Million. Let's take a look at this breaking news in more detail.
December 26, 2025 1:50 PM

Breaking: Trust Wallet Chrome Extension Hack Drains $7M, Full Reimbursements Promised
A supply-chain attack hit Trust Wallet’s Chrome extension, draining $7M from users. Binance’s CZ says all victims will be reimbursed.
September 26, 2026 7:34 AM

Setting Up a Multisig Wallet: When Two of Three Keys Are Worth It for You
A multisig wallet demands several keys for a transfer and so makes a single theft worthless. We show which threshold fits you, what you have to back up besides the keys, and why most setups fail at the configuration.
September 13, 2026 10:19 PM

Reporting Duty for Wallet Makers: What Has Applied Since September 11, 2026
Since September 11, 2026, anyone offering a wallet commercially in the EU must report an actively exploited vulnerability within 24 hours and inform the affected users. What Article 14 of the EU Cyber Resilience Act requires, where the limit of interpretation lies, and what you should take from it for your own custody.
August 31, 2026 10:12 AM

Fake AML Checks for Crypto Wallets: How to Spot the Scam Sites
Fraudulent websites pose as money-laundering screening services for crypto addresses and ask you to connect your wallet. A genuine check needs only the public address, and three of the domains named by Malwarebytes still respond twelve days later.
October 26, 2026 12:00 PM

Bitcoin Wallet Bug: Why Speeding Up a Payment Could Drain Your Wallet
A Bitcoin wallet bug let rogue servers swap a real payment for a fake one and trick users into signing it. How the fee bump trap works and how to stay safe.
October 21, 2026 4:31 PM

Polkadot reports a key leak at Fearless Wallet, 17,286 DOT are gone: how to check your extension
Context: on October 21 the Polkadot Community Foundation reported four versions of the Fearless Wallet extension as compromised. Anyone who has used it since February 2025 needs new keys, not a new password.
October 19, 2026 1:14 AM

Qubic halts its mainnet after 1,404 wallets are drained: the seed was the weak point
An attacker drained 1,404 Qubic wallets on the night of October 18, roughly $1.3 million. The protocol was not to blame: seed generation in the browser supplied too little randomness.
September 17, 2026 4:14 PM

D'CENT App Wallet: How to Tell If Your Recovery Phrase Has to Move Now
Manufacturer IoTrust reports suspicious asset transfers in the D'CENT app wallet and asks users to move their holdings. One question decides the matter: has your recovery phrase ever been entered into the app?
March 31, 2026 5:13 PM

Quantum Threat to Bitcoin? Google Research Sparks Urgent Crypto Security Debate
Google’s quantum breakthrough raises fears for Bitcoin security. Can crypto survive quantum attacks—or is an upgrade urgent?
May 15, 2024 12:04 PM

Crypto Scams: How to Protect Your Cryptos?
With the rise of crypto scams, and while international efforts are still working to combat these threats and protect investors, some recent tactics have been identified, and here is your full guide.
March 12, 2020 1:12 PM

What Is A Cold Wallet? And Why Is It Important?
A cold wallet is a wallet which is completely offline and used for storing cryptocurrencies. It is also known as cold storage.
October 25, 2026 3:31 PM

Electrum wallet vulnerable before version 4.8.3: what you can do now
Electrum released version 4.8.3 on October 23, 2026 and closed a flaw that malicious servers had already exploited. It does not harvest your keys; it targets the moment you speed up a stuck transaction.
October 22, 2026 4:17 PM

Railway hack hits crypto bots and wallets: what to check and replace now
US host Railway reports possible access to its customers' secrets. For crypto bots and wallets that is particularly dangerous: analysts already count outflows of around $371,000.
October 11, 2026 4:50 AM

90 Crypto Kidnappings and Robberies in 7 Months: Why France Is the Most Dangerous Country for Bitcoin Holders
France logged 90 crypto kidnappings, extortions and violent thefts this year, one every 2.5 days. Leaked tax data is to blame. Here is how to protect yourself.
October 9, 2026 5:36 PM

Ledger Hack? $86 Million Drained: What Is Behind the Tampered Wallets From Southeast Asia
Since Friday, Ledger users in Southeast Asia have been reporting empty wallets, and analysts count more than $86 million. Ledger has halted the reseller CryptoBilis. An implant inside the device reportedly reads the seed phrase. What is known, what CZ advises and what you should do now.
September 25, 2026 4:11 AM

Bitget Pauses Withdrawals: Where Existing Customers in Europe Stand
Bitget reports unauthorised outflows of around $351.6 million (later revised to $387.5 million) and has suspended withdrawals. For existing customers in Europe, that closes the one route MiCA had left them.
September 15, 2026 10:25 AM

Updated Core Lightning via Docker? How to Check the Security Fix Is Really There
Your node reports v26.06.7 at startup and the security fixes can still be missing: four Docker tags served images with the right number and the wrong content in late August. Here is how to check your Lightning node's digest and catch up cleanly.
More from CryptoTicker



