The one-sentence version
The most common addresses on Ethereum are EOAs (Externally Owned Accounts), which are controlled directly by a single private key: whoever has the private key can do anything, and no rules can stop them. Therefore, any risk control on an EOA can only "remind" you; the user or a thief who steals the private key can bypass any interface and transfer funds directly. Smart contract wallets (such as Safe multisig) write "who can move money, how much, and when it becomes effective" into on-chain code. Rules are executed on-chain, so even if a key is lost, the funds cannot be transferred. This is the only way to move from "deterrence" to "enforcement."
This article has three layers:
- Layer 1: The Intuition: A single-key safe vs. a rule-based vault
- Layer 2: Real-World Use: Safe, ERC-4337, EIP-7702, and their limitations
- Layer 3: Principles and Engineering details
Layer 1: The Intuition
1.1 A Single-Key Safe
An EOA is like a safe that has only one key:
- The key is in your hands; you can take out as much as you want;
- If the key is stolen, the thief can also take out as much as they want;
- The bank counter (wallet interface) can remind you that "this transaction is risky," but a thief won't go to the counter; they will simply use the key to open the safe.
Therefore, any risk control implemented on an EOA is essentially deterrence.
1.2 A Rule-Based Vault
A smart contract wallet is a vault managed by code:
- "Requires 2 out of 3 people to agree to open the door" (Multisig);
- "Maximum withdrawal of 10,000 per day" (Limit);
- "Can only transfer to addresses on a whitelist" (Whitelist);
- "Large withdrawals must be registered and can only be executed after 24 hours, during which they can be revoked" (Timelock).
These rules are written on-chain, and no one can bypass them, including a thief who has stolen one key.
Layer 2: Real-World Use
| Solution | Description |
|---|---|
| Safe (formerly Gnosis Safe, since 2018) | The most mainstream multisig smart contract wallet, managing massive assets for DAOs, projects, and institutions. Supports M-of-N multisig, Guards (pre/post-transaction checks), and Modules (extensible functionality). |
| ERC-4337 (Deployed in 2023) | Account Abstraction standard: Allows smart contract wallets to initiate transactions like regular accounts without changing Ethereum consensus; supports gas sponsorship, batch transactions, passkey signatures, etc. |
| EIP-7702 (Launching with Pectra upgrade in 2025) | Allows a regular EOA to "attach" a piece of contract code to itself, gaining smart wallet capabilities without changing the address. |
| Social Recovery Wallet | If the primary key is lost, it can be recovered by a group of pre-designated "guardians," similar to the threshold concept of Shamir's Secret Sharing. |
However, smart contract wallets are not omnipotent:
- Bybit (2025) used Safe multisig. The multisig rules themselves were not bypassed, but every signer signed the same malicious transaction on a tampered page (see "The Bybit Incident and Frontend Integrity"). Multisig prevents "loss of a single key," but it cannot prevent "all signers being deceived at once";
- The contract itself may have vulnerabilities or may be induced to execute
delegatecallto replace the core logic; - The same contract address on another chain might not exist or might be deployed by someone else; transferring money to that address on that chain might mean the funds can never be retrieved.
Layer 3: Principles and Engineering
3.1 Multisig (M-of-N)
The contract stores owner addresses and a threshold of . For a transaction to be executed, signatures from at least owners must be collected.
A common personal configuration is 2-of-3:
| Key | Location | Role |
|---|---|---|
| Key 1 | Daily device (browser or phone) | Daily signing |
| Key 2 | A server that signs automatically based on policy, or a second device | Executes policies like limits and whitelists |
| Key 3 | Stored offline (hardware wallet, in a safe) | Used for recovery, untouched normally |
The loss or theft of any single key is insufficient to transfer assets alone.
3.2 Guard and Module
- Guard: A check contract called before or after every transaction execution. It can implement rules such as "the recipient address must be on the whitelist," "single transaction cannot exceed a limit," or "prohibit
delegatecall"; if requirements are not met, the transaction reverts; - Module: Has the ability to bypass the multisig to execute transactions directly, used to implement automation (e.g., periodic payments). The permissions of a module are extremely high; adding a module is itself a high-risk operation.
3.3 Timelock
Splits large or sensitive operations into two steps: first register, then execute after a certain period, during which owners can cancel. It implements a "cooling-off period" on-chain: even if an attacker obtains enough signatures, they must wait for the timelock to expire, providing enough time for the owner to discover and revoke the transaction.
3.4 The Danger of delegatecall
delegatecall allows the current contract to run another contract's code using its own identity and on its own storage. Being induced to delegatecall a malicious contract is equivalent to allowing it to freely rewrite the wallet's storage, including the owner list and the contract implementation address. This was exactly the final step in the Bybit theft. Secure multisig interfaces and Guards should specifically warn against or directly prohibit operation = delegatecall transactions.
3.5 Comparison
| EOA | Smart Contract Wallet | |
|---|---|---|
| Risk Control Effectiveness | Can only remind | Can enforce |
| Single Key Loss | Total loss | Usually no loss |
| Recovery | Only via recovery phrase | Can design social recovery or timelock recovery |
| Cost and Complexity | Low | Deployment and every transaction are more expensive; must be deployed per chain |
| New Risks | Few | Contract vulnerabilities, modules, delegatecall, cross-chain address inconsistency |
Summary
| Layer | Key points |
|---|---|
| Intuition | EOA is a single-key safe; contract wallet is a rule-based vault |
| Difference | Risk control on EOA can only deter; contract wallets can enforce on-chain |
| Tools | Multisig, Guard, Timelock, Social Recovery; ERC-4337, EIP-7702 |
| Limitations | Cannot prevent all signers from being deceived (Bybit); beware of delegatecall and cross-chain addresses |