Wallet safety / Updated 2026-08-06

Signature Phishing: How 'Just Sign This Message' Empties a Wallet Without a Transaction

A signing prompt is not a transaction. Learn how Permit and Permit2 signatures authorise a drain with no gas and no on-chain trace, why revocation tools show nothing, and how to respond.

How this guide is checked

Official sources first, no wallet connection, no guaranteed returns.

Reviewed on 2026-08-06 by WildWildCrypto Safety Desk. Method: Human editorial review with official-source checks, affiliate-disclosure checks, and no-financial-advice checks.

Publisher: WildWildCrypto Editorial. Corrections go through the contact page. We do not ask for seed phrases or tell you what to buy.

signature phishing matters because A wallet prompt that says 'Sign' rather than 'Confirm', charges no fee, and does not appear to move anything feels like the harmless kind — which is exactly why people click it faster.

This guide explains what an off-chain signature can actually authorise, why approval-revocation tools cannot see it, how to read a signing prompt properly, and what to do in the hours after signing one.

You will learn the difference between signing and confirming, how Permit-style drains work, what the 2025 phishing data shows, the fields to read every time, and the response that actually helps.

Signing and confirming are not the same act

Your wallet shows you two broadly different prompts. One is a transaction: it will be broadcast to the network, it costs a fee, and it produces a record anyone can look up afterwards. The other is a signature: your wallet uses your private key to sign a piece of structured data, and the result is handed to whoever asked for it. No fee, no broadcast, nothing on-chain. Signatures exist for good reasons — proving you control an address when logging into an app is the everyday example, and it is genuinely harmless.

The problem is that some signed messages are not proof of anything; they are instructions. A signature can authorise another party to move your tokens, and because the authorisation is carried in the signature itself, the recipient can submit it to the blockchain later, at a time of their choosing, paying the fee themselves. MetaMask's own explainer describes the pattern plainly: no blockchain transaction and no network fee from the user's side, just a signature, after which the attacker calls the transfer. So the mental shortcut that a free prompt is a low-stakes prompt has it exactly backwards — the free prompt is the one that hands over authority invisibly.

Checklist

  • A transaction costs a fee and appears on-chain; a signature does neither.
  • Some signatures are just proof of address control — genuinely harmless.
  • Others are standing instructions that let someone else move your tokens.
  • The attacker submits your signature later and pays the fee themselves.
  • 'No fee' does not mean 'no consequence'.

What a Permit signature actually hands over

Many tokens support a standard called permit, which lets you approve a spender by signing a structured message instead of sending an approval transaction. The message includes the token, the spender, an amount, and a deadline. Signed with sensible values it is a convenience feature that saves you a transaction fee. Signed with the values a drainer requests, it is a blank cheque with no expiry: the maximum possible amount and a deadline effectively set to never.

A March 2026 incident documented by the security research group DARKNAVY shows the shape of it. A victim signed an off-chain typed-data message for a USDC permit with the value set to the maximum and the deadline set to the maximum, and lost 1,766,308.43 USDC — about $1.77 million. The write-up notes what the victim actually saw: a wallet 'Sign' dialog rather than a transaction confirmation, a prompt many users treat as less consequential. The drainer then executed the permit together with a batch of transfers in a single atomic step. Permit2, a related mechanism used to route approvals through one shared contract, has the same property from a safety standpoint — as MetaMask notes, the signature appears as a signing prompt rather than a transaction confirmation, which is precisely the surface phishing targets.

Checklist

  • A permit message contains: token, spender, amount, deadline.
  • Drainers request the maximum amount and a deadline that never expires.
  • One documented March 2026 permit signature cost a victim ~$1.77 million.
  • The victim saw a 'Sign' dialog, not a transaction confirmation.
  • Permit2 signatures carry the same risk profile and the same prompt shape.

Why your approval checker will not save you here

This is the part that catches even careful people. The standard hygiene advice — periodically review your token approvals and revoke the ones you no longer need — is sound, and our token approval revocation guide covers it in detail. But it works on on-chain approvals: permissions you granted with a transaction, which exist as a record a tool can read. An off-chain signature is not on-chain until someone uses it. Until that moment, there is nothing for an approval checker to display and nothing to revoke, because from the blockchain's point of view no permission has been granted yet.

The practical consequence is a false all-clear. Someone who signs a malicious permit, feels uneasy, checks a revocation tool, and sees a clean list may conclude they escaped. As the DARKNAVY analysis put it, the victim has no on-chain indicator that their funds are at risk until the drain transaction executes. The signature is sitting in an attacker's hands, valid until its deadline — which the drainer set to never — and it can be used tonight or in three months. That is why the response to signing a suspect message is not to revoke, but to move: get the affected tokens out of that address, because the authorisation follows the address, not the balance.

Checklist

  • Revocation tools read on-chain approvals only.
  • An unused signature is invisible to them — nothing to see, nothing to revoke.
  • A clean approvals list after signing something suspicious is not reassurance.
  • The signature stays valid until its deadline, which drainers set to never.
  • The correct response is to move the tokens, not to revoke.

What the 2025 phishing data shows

There is a genuinely encouraging headline here, and a caution underneath it. Scam Sniffer's annual report found crypto phishing losses fell 83% in 2025, to $83.85 million from about $494 million the year before, with victim numbers down 68% to 106,106. Large incidents thinned out too: only eleven cases exceeded $1 million, down from thirty. Better wallet warnings, more readable signing prompts, and wider awareness all appear to be working.

The composition of what remains is the useful part. Permit and Permit2 signatures accounted for roughly $8.72 million across three cases, approval-style attacks about $5.62 million across three, and transfer-based attacks around $4.87 million across two — and the single largest theft of the year, roughly $6.5 million in September, came from a malicious permit signature. Malicious signatures under EIP-7702, a mechanism introduced in Ethereum's Pectra upgrade, also appeared for the first time, with about $2.54 million in the largest August cases. Two things follow. Signature-based attacks are now the highest-value slice of what is left, so the average case is smaller while the worst case is still a life-changing sum. And the attack surface keeps moving as new standards arrive, which means the durable defence has to be a reading habit rather than a list of dangerous prompt names to memorise.

Checklist

  • Phishing losses fell 83% in 2025 to $83.85 million; victims down 68%.
  • Permit and Permit2 signatures: ~$8.72 million across three cases.
  • The largest single 2025 theft, ~$6.5 million, came from a permit signature.
  • New malicious signature types (EIP-7702) emerged after the Pectra upgrade.
  • Fewer victims, but signature attacks remain the highest-value category.

How to read a signing prompt before you approve it

Slow down specifically at prompts that say 'Sign' rather than 'Confirm', because that is where the instinct to hurry is strongest. Modern wallets present structured messages in readable form, and there are four fields worth finding every time: which token is involved, who the spender is, what amount is authorised, and when the permission expires. Two answers should stop you outright — an amount presented as unlimited or an enormous number, and a deadline far in the future or effectively never. A legitimate app asks for what the action needs and no more. If the interface lets you edit the amount down to what you are actually doing, do it.

Then check the other half of the question, which is who is asking. Reach applications through a bookmark or by typing the domain rather than through a search advertisement, a chat link, or a QR code, and confirm the connected site's address in the wallet before signing anything. If a prompt is vague, unreadable, or does not match the action you thought you were taking, reject it — rejecting costs nothing and you can always retry from the app's real domain. A hardware wallet adds a further layer here: it shows the details on its own screen, so malware on your computer cannot substitute a different message behind the interface, and it forces a deliberate physical confirmation. As MetaMask's guidance stresses, the core habit is simply to read the signing prompt and verify the site before connecting — but note the limit of even good clear-signing: a wallet can display the spender, value, and deadline perfectly and you can still approve them, because reading a request and judging who is asking are two different skills.

Checklist

  • Treat 'Sign' prompts with more care than 'Confirm' prompts, not less.
  • Find four things: token, spender, amount, deadline.
  • Unlimited amounts or never-expiring deadlines: reject and investigate.
  • Reduce the amount to what the action genuinely needs, where possible.
  • Reach apps by bookmark or typed domain; verify the connected site.
  • Use a hardware wallet so the message is shown on a screen malware cannot alter.

If you have already signed something suspicious

Move first, investigate second. A signature you cannot un-sign is best defused by making it worthless, and the way to do that is to remove the balance it points at. Transfer the affected tokens — and realistically anything else valuable in that address — to a wallet whose keys were generated separately and have never been exposed to the session in question, ideally a hardware wallet. Do the highest-value assets first. Speed matters here in a way it rarely does elsewhere, because the drainer chooses when to submit, and the window is not something you control.

Once funds are safe, clean up the rest. Review and revoke on-chain approvals for the compromised address, since a phishing site that requested a signature commonly requested approvals as well, and treat that address as burned rather than reusing it. Do not attempt clever countermeasures under time pressure: some tokens can have a pending permit neutralised by consuming the nonce, but this is fiddly, token-specific, and a poor bet compared with simply moving the assets. Finally, be sceptical of help that arrives unprompted. Public loss attracts recovery scams, and no legitimate service asks for your recovery phrase or an advance fee to return your funds. If your recovery phrase itself may have been exposed at any point, the address cannot be made safe at all — generate a new wallet and migrate everything.

Checklist

  • Move the affected tokens to a fresh, uncompromised wallet immediately.
  • Highest-value assets first; the attacker picks the timing, not you.
  • Then revoke on-chain approvals and retire the compromised address.
  • Skip nonce-invalidation tricks under pressure — moving funds is more reliable.
  • If the recovery phrase may be exposed, migrate to an entirely new wallet.
  • Ignore anyone offering paid recovery afterwards.

Authority sources used

Outbound links are included for verification and entity authority, not decoration.

FAQ

Can signing a message really drain my wallet?

Yes, and this is the mechanism people most consistently underestimate. Some signed messages are simply proof that you control an address, which is harmless. Others are instructions: a permit-style message names a token, a spender, an amount, and a deadline, and signing it authorises that spender to move that amount of that token from your address until the deadline passes. Because the authorisation travels inside the signature, the recipient can submit it to the blockchain whenever they choose and pay the fee themselves, which is why the prompt costs you nothing at the time. A March 2026 case documented by the research group DARKNAVY illustrates the cost: a victim signed a USDC permit with the amount set to the maximum and the deadline effectively set to never, and lost about $1.77 million. The victim saw a wallet 'Sign' dialog rather than a transaction confirmation — a prompt most people treat as less serious. Treat free, no-transaction prompts as requiring more attention, not less.

What is the difference between a token approval and a permit signature?

An approval is an on-chain transaction: you pay a fee, it is broadcast, and it leaves a permanent record that anyone — including you and any approval-checking tool — can look up. A permit signature achieves a similar authorisation off-chain: you sign a structured message, pay nothing, and nothing is broadcast at the time. The person holding your signature submits it to the blockchain later, alongside the transfer it enables. The practical difference that matters for safety is visibility. An approval you granted is discoverable and revocable from the moment it exists. A signature you gave is invisible on-chain until it is used, so there is no record for you to find and nothing for a revocation tool to cancel. That makes signatures the harder of the two to audit after the fact, and it is why the standard advice to periodically review and revoke approvals — good advice in general, and covered in our token approval revocation guide — does not close this particular gap.

Can I revoke a malicious signature I already gave?

Not in the way you revoke an approval, which is the trap. Revocation tools read permissions that exist on-chain, and an unused signature is not on-chain — so after signing something suspicious you may check a revocation tool, see a clean list, and wrongly conclude nothing happened. The signature is instead sitting with whoever requested it, valid until its deadline, which drainers typically set so far ahead that it never expires. It can be submitted tonight or months from now. Because you cannot cancel it, the reliable response is to make it worthless by removing what it points at: move the affected tokens, and realistically everything else of value, out of that address into a wallet whose keys were generated separately and never touched the compromised session. Do the largest holdings first, since the attacker chooses the timing. Afterwards, revoke any on-chain approvals for the old address as well and stop using it — phishing sites that harvest signatures usually harvest approvals too.

What should I look for in a signing prompt?

Four fields, every time: which token the message concerns, who the spender is, what amount is being authorised, and when the permission expires. Two answers should stop you immediately — an amount shown as unlimited or an implausibly large number, and a deadline set far in the future or effectively never. Legitimate applications request what the action requires and nothing more, and where the interface allows you to reduce the amount to match what you are actually doing, reducing it is worth the extra moment. Equally important is who is asking: reach applications through a bookmark or by typing the domain rather than through a search advertisement, a chat link, or a QR code, and check the connected site shown in your wallet before signing. If a prompt is vague, unreadable, or does not match what you believed you were doing, reject it — rejecting costs nothing and you can retry from the real site. Be aware of the honest limit of even good clear-signing: a wallet can display every field perfectly and you can still approve a harmful request, because reading a message and judging the counterparty asking for it are separate skills.

Are signature phishing attacks getting better or worse?

Both, in different directions, and the split is worth understanding. Scam Sniffer's annual report found crypto phishing losses fell 83% in 2025, to $83.85 million from roughly $494 million the previous year, with victims down 68% to 106,106 and only eleven incidents above $1 million compared with thirty a year earlier. Better wallet warnings, clearer signing prompts, and wider awareness are visibly working. But of what remained, signature-based attacks were the highest-value slice: permit and Permit2 signatures accounted for roughly $8.72 million across three cases, and the single largest theft of the year, about $6.5 million in September, came from a malicious permit signature. New categories also appeared, including malicious EIP-7702 signatures following Ethereum's Pectra upgrade. So the typical victim is now rarer and the typical loss smaller, while the worst case remains severe and the specific mechanisms keep changing. That is an argument for building a durable reading habit at the prompt rather than memorising a list of dangerous message names, since the list will be out of date.