Zelcore

Crypto Wallet Approval Exploit: How Helper Contracts Drain Tokens

6 min read
Crypto wallet approval exploit illustrated as an authorized smart contract draining tokens from a self-custody wallet

A crypto wallet approval exploit can drain tokens without stealing your seed phrase when a smart contract already has permission to spend them. The reported $7.8 million incident shows why self-custody means protecting both your signing key and the token approvals attached to your address.

What changed this week is the public reporting of a wallet drain linked to a coding mistake in an authorized helper contract. The incident matters because a wallet can remain under its owner’s control while an approved contract uses transferFrom to move eligible tokens.

What happened in the reported $7.8 million drain?

On September 15, 2026, CoinDesk reported that a coding mistake allowed an attacker to drain approximately $7.8 million from a crypto wallet. The report describes a helper contract that had been authorized to interact with the wallet’s tokens; the key lesson is that the attacker did not necessarily need the wallet’s seed phrase to move assets covered by that authorization. CoinDesk reported on the incident.

The exact technical details of an incident can change as investigators publish more information. However, the underlying mechanism is a familiar feature of token contracts: an owner can approve another address to spend a specified token balance on the owner’s behalf.

This is not the same as saying every helper contract is malicious. Swaps, lending markets, bridges, NFT marketplaces, staking applications, and portfolio tools commonly need limited spending permissions. The risk appears when a contract is buggy, compromised, misconfigured, deceptive, or approved for far more than the user intended.

How token approvals work

Many Ethereum Virtual Machine tokens follow the ERC-20 interface. Its approve function lets a token holder set an allowance for a spender, while transferFrom lets that spender transfer tokens within the allowance. The original ERC-20 proposal documents this allowance model, including the approve, allowance, and transferFrom functions.

A simplified example looks like this:

Your wallet ── approves ──> Helper contract
Your wallet <── retains ownership of the key
Helper contract ── transferFrom ──> Your tokens

The approval is recorded by the token contract on the blockchain. It is not stored only in your wallet application, and uninstalling an app does not remove it. A wallet interface may show that you own the tokens while a previously approved spender still has authority to move some or all of them.

An approval does not usually give a contract control of your seed phrase or private key. Instead, it creates a narrower but potentially serious permission: the approved spender can call the token’s spending function for the approved asset and amount.

Allowance versus wallet balance

These are different concepts:

If a wallet approves 100 USDC to a router, the router may be able to move up to 100 USDC from that wallet under the token’s rules. If the wallet approves an extremely large number, the practical exposure may extend to tokens received later, depending on the token and the spender’s behavior.

Why a coding mistake can become a wallet drain

Smart contracts execute rules exactly as written. A helper contract may be designed to perform a useful action, such as routing a swap or batching transactions, but a bug can cause it to select the wrong token, recipient, amount, or authorization path.

The danger increases when a contract has broad approvals. A vulnerable function does not need to defeat cryptography if it can legitimately call transferFrom against allowances that users already granted. In that situation, the blockchain can process the drain as a valid transaction even though the result is unauthorized from the owner’s perspective.

Several paths can lead to this outcome:

A hardware wallet can protect the private key from malware, but it cannot automatically make a dangerous approval safe. If the owner signs an approval after reviewing an unclear prompt, the blockchain may treat that permission as valid.

Approval risk compared with seed-phrase risk

These threats are related but different. Understanding the distinction helps you respond correctly.

ThreatWhat the attacker needsWhat may be exposedMain response
Seed-phrase theftRecovery phrase or private keyBroad control of the wallet and its assetsMove assets to a new wallet and treat the old wallet as compromised
Malicious signatureA user-signed deceptive approval or transactionThe assets covered by the signed permission or transactionRevoke the permission and inspect related activity
Vulnerable approved contractA usable allowance plus a flaw or compromise in the spenderTokens within the allowance, potentially including future holdingsRevoke or reduce the allowance, then assess whether the wallet should be migrated
Phishing or fake appUser interaction and a signatureDepends on the transaction or approval signedDisconnect, revoke, and avoid the site or app

The table is a risk framework, not a guarantee. Some tokens have unusual approval behavior, and smart-account systems can introduce additional permissions. For a wider look at why self-custody involves more than a seed phrase, see self-custody beyond the seed phrase.

What self-custody users should do now

If you used a DeFi application, bridge, marketplace, or swap router connected to the affected chain, review your token allowances. Do this especially if an approval was unlimited, the application is no longer maintained, the contract address has changed, or you do not recognize the spender.

A practical review looks like this:

  1. Identify the network and wallet address involved. Approvals are generally chain-specific, so an approval on one network does not automatically represent the same approval on another.
  2. Check token allowances using a reputable block explorer or an established approval-management tool. Verify the contract address rather than relying only on a project name or logo.
  3. Sort permissions by token, spender, and allowance. Start with unlimited approvals and contracts you no longer use.
  4. Revoke or reduce suspicious permissions. Revoking is itself an on-chain transaction and requires network fees.
  5. Review recent transactions and token transfers for unexpected activity.
  6. If assets have already moved without your intent, stop signing from that address and document the transaction hashes. Do not send additional funds to a supposed recovery service without independent verification.

For an overview of approvals, gas, and DeFi interaction risk, read wallets, gas, and approvals. Zelcore users should also treat any unfamiliar approval prompt as a security decision, not a routine click.

Revoke versus move to a new wallet

Revoking an allowance prevents the spender from using that particular permission in the future. It does not undo transfers that already settled, repair a vulnerable contract, or guarantee that another malicious permission does not exist.

If a private key or seed phrase may have been exposed, revocation is not enough: an attacker with the key can sign new transactions. Move remaining assets to a newly created, securely backed-up wallet after checking that doing so will not interact with the suspected contract. If only one approval is suspicious and the key remains secure, revoking it may address that specific exposure, but continue monitoring the address.

How to approve more safely

Approvals are often necessary for on-chain applications, so the goal is not to avoid every contract. The goal is to grant the smallest useful permission and understand which address receives it.

Use these habits:

A readable wallet prompt is useful, but it is not a security guarantee. Contract data can be complex, and a trusted-looking name can point to the wrong address. When the requested permission is unclear, cancel the transaction and investigate through the project’s official documentation and verified contract addresses.

The broader lesson for self-custody

The $7.8 million incident changes the conversation from key protection alone to permission management. A user can follow good seed-phrase practices and still carry significant risk if old approvals remain attached to a valuable address.

That does not make self-custody inherently unsafe. It means self-custody includes an ongoing review of the capabilities granted to software. Token approvals are one part of a wider attack surface that also includes signatures, browser extensions, smart-account permissions, bridges, and contract upgrades.

This week’s practical takeaway is simple: check what your wallet has authorized, not only what your wallet owns. Review approvals after using unfamiliar applications, reduce permissions where possible, and respond quickly when a contract or protocol is reported as compromised.


Further Reading

DeFi Security in Zelcore: Approvals, Hardware Wallets, and SSP

DeFi Security in Zelcore: Approvals, Hardware Wallets, and SSP

A capstone on Zelcore DeFi security: ERC-20 approvals, Permit2, clear-signing with Ledger and Trezor, SSP 2-of-2 multisig, and custom RPCs.

11 min read
Wallets, Gas, and Approvals: The Three Things Every DeFi User Must Understand

Wallets, Gas, and Approvals: The Three Things Every DeFi User Must Understand

Before you swap, lend, or farm anything, you need to understand the three primitives every DeFi interaction depends on: your wallet, gas, and token approvals.

7 min read
Beyond the Seed Phrase: A Map of Modern Self-Custody

Beyond the Seed Phrase: MPC, Passkeys, Smart Accounts and Social Recovery

The seed phrase concentrates everything into one failure point. A map of the designs that replace or wrap it, MPC and threshold signing, passkeys, smart accounts and social recovery, with the trade-offs of each and how to pick.

9 min read

Join Our Newsletter

Get a friendly update from us once a month. No spam, just the latest from Zelcore.

Join Our Newsletter