<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Onchain Diary</title>
        <link>https://paragraph.com/@onchaindiary</link>
        <description>Real-time risk scoring for any wallet address or token. Detect scams, honeypots, and malicious contracts across 10+ chains — powered by GoPlus, Etherscan, and OKX.</description>
        <lastBuildDate>Mon, 31 Aug 2026 23:10:38 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Onchain Diary is now readable by AI agents: our MCP endpoints are live]]></title>
            <link>https://paragraph.com/@onchaindiary/onchain-diary-is-now-readable-by-ai-agents-our-mcp-endpoints-are-live</link>
            <guid>prSFFVnhgJfcGJ0mQOj2</guid>
            <pubDate>Sun, 30 Aug 2026 17:35:14 GMT</pubDate>
            <description><![CDATA[Every article and glossary entry on Onchain Diary is now searchable through the Model Context Protocol. Two endpoints serve our content: ours: https://theonchaindiary.com/api/mcp — 316 items (articles + glossary, EN/ZH), read-only, no auth the hub: https://mcp.jask.dev/mcp — one endpoint aggregating all our product lines (Web3 security, SEO workflow docs, Astro templates, build logs) If you use Claude Desktop, Cursor, or any MCP client, add the URL and ask it to search 'wallet drainer' or 'pe...]]></description>
            <content:encoded><![CDATA[<p>Every article and glossary entry on Onchain Diary is now searchable through the Model Context Protocol.</p><p>Two endpoints serve our content:</p><ul><li><p>ours: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/api/mcp">https://theonchaindiary.com/api/mcp</a> — 316 items (articles + glossary, EN/ZH), read-only, no auth</p></li><li><p>the hub: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mcp.jask.dev/mcp">https://mcp.jask.dev/mcp</a> — one endpoint aggregating all our product lines (Web3 security, SEO workflow docs, Astro templates, build logs)</p></li></ul><p>If you use Claude Desktop, Cursor, or any MCP client, add the URL and ask it to search &apos;wallet drainer&apos; or &apos;permit2 exploit&apos; — it will pull the exact article with the full text and cite the source URL.</p><p>Why this matters: security education is only useful when it reaches you at the moment of need. Putting our content where AI assistants live is the shortest path.</p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>announcements</category>
        </item>
        <item>
            <title><![CDATA[Crypto Scams on X, Telegram, and Email: The Full Attack Chain Explained]]></title>
            <link>https://paragraph.com/@onchaindiary/social-media-crypto-scam-playbook</link>
            <guid>QVI4Ka0q4EsI9P9a7MND</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:56 GMT</pubDate>
            <description><![CDATA[Most crypto losses do not start with a smart contract. They start with a message. A reply on X, a friendly stranger on Telegram, an email that looks like it came from a project you trust. The social engineering layer comes first; the theft comes last. This guide breaks down the playbook channel by channel — X, Telegram, and email — because each channel has its own script, and the scripts are more standardized than most people think. Once you can name the step you are on, the con stops working...]]></description>
            <content:encoded><![CDATA[<p>Most crypto losses do not start with a smart contract. They start with a message. A reply on X, a friendly stranger on Telegram, an email that looks like it came from a project you trust. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">social engineering</a> layer comes first; the theft comes last.</p><p>This guide breaks down the playbook channel by channel — X, Telegram, and email — because each channel has its own script, and the scripts are more standardized than most people think. Once you can name the step you are on, the con stops working.</p><h2 level="2" textAlign="left" id="h-the-x-playbook-fake-jobs-fake-airdrops-real-malware">The X Playbook: Fake Jobs, Fake Airdrops, Real Malware</h2><p>The most dangerous message on crypto X is not &quot;send me your seed phrase.&quot; Nobody falls for that anymore. The dangerous one offers you something that feels earned.</p><h3 level="3" textAlign="left" id="h-the-fake-moderator-recruit">The fake moderator recruit</h3><p>It starts with a DM or a reply: <em>&quot;Loved your thread on rollups. We&apos;re recruiting community moderators for [project], paid monthly in USDT. Interested?&quot;</em></p><p>You say yes. There&apos;s a short interview in a Telegram group with other &quot;staff members&quot; who all vouch for each other. Then comes the operational step: <em>&quot;Moderators use our internal dashboard — download it here.&quot;</em> The link points to an installer. Almost always Windows.</p><p>That installer is the entire point of the exercise. It is typically a remote access tool or an infostealer — malware that copies browser passwords, session cookies, and wallet extension vaults, or lets the operator watch your screen until you type something worth taking. The moderator job never existed. The interview theater existed to get one executable onto your machine.</p><p>The same structure powers the fake airdrop variant: a reply claiming you&apos;re on an eligibility list, a &quot;claim tool&quot; to download, a verification app to run. The bait changes; the deliverable is always software you install yourself.</p><h3 level="3" textAlign="left" id="h-rules-that-hold">Rules that hold</h3><ul><li><p>Real projects recruit moderators through public posts and application forms, not cold DMs from accounts created last month.</p></li><li><p>No legitimate airdrop requires you to install a desktop program. Claims happen in a browser, against a wallet you connect deliberately.</p></li><li><p>If a &quot;staff member&quot; moves the conversation to Telegram within two messages, you are being processed. Speed is a feature of the scam, not of the job.</p></li><li><p>On Windows specifically: a random <code>.exe</code> or <code>.scr</code> from a stranger is game over. Malware on that machine owns every wallet extension and saved password in the browser.</p></li></ul><p>If you already ran something suspicious, assume the machine is compromised. Move funds from a clean device, change passwords from a clean device, and revoke approvals — not from the machine that ran the installer.</p><h2 level="2" textAlign="left" id="h-the-telegram-playbook-the-slow-burn">The Telegram Playbook: The Slow Burn</h2><p>The X scam takes minutes. The Telegram scam takes weeks. That is its strength.</p><h3 level="3" textAlign="left" id="h-how-the-conversation-actually-goes">How the conversation actually goes</h3><p>It follows a rhythm you can learn to hear:</p><ol><li><p><strong>Contact.</strong> A stranger joins a group, likes your messages, or DMs you with something innocuous. No pitch. Just chat.</p></li><li><p><strong>Rapport.</strong> They ask how you got into crypto. What you&apos;re holding. Where you&apos;re from — <em>&quot;No way, I&apos;m from there too.&quot;</em> The hometown match is almost never a coincidence; it is a line from the script.</p></li><li><p><strong>The shared interest.</strong> <em>&quot;You&apos;re in on XX too?&quot;</em> They mirror whatever you already trade. Agreement is the product being sold here.</p></li><li><p><strong>The leak.</strong> After days or weeks of friendship: <em>&quot;There&apos;s this ground-floor project — local team, launching soon, not public yet. I&apos;m already in.&quot;</em> Sometimes framed as an offline-promotion project, a regional push, a friend&apos;s launch. Urgency is gentle: the launch is &quot;in a few days.&quot;</p></li><li><p><strong>The double kill.</strong> You buy. The token is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypot</a> — you can buy, but a hidden rule in the contract blocks your sell. While you wait for the &quot;launch,&quot; the same friendly stranger may help you &quot;check&quot; a contract or claim a bonus, harvesting a signature that empties the rest of your wallet through a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">wallet drainer</a>.</p></li></ol><p>Then the account goes quiet. The friendship was the exploit.</p><p>The scam has a name in Chinese-speaking circles — 杀猪盘, &quot;pig butchering&quot; — because the mark is fattened before the slaughter. The operators work from prepared dialogue trees. The hometown coincidence, the shared coin, the quiet local project: these are fields in a script, not luck. For a deeper look at the script itself, see the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/pig-butchering-scams-explained/">pig butchering breakdown</a>.</p><h3 level="3" textAlign="left" id="h-what-gives-it-away-on-chain">What gives it away on-chain</h3><p>The token itself can be checked before you buy. A honeypot&apos;s sell block lives in the contract — a modified transfer function, a blacklisted address list, an owner-controlled switch. Free honeypot checkers simulate a sell from your address and report whether the transaction would revert. Contract source that is unverified is its own answer: walk away.</p><p>The deeper tell is social, not technical. Real opportunities do not arrive through a stranger who spent three weeks agreeing with you. Nobody fattens a friendship to sell you a good trade.</p><h2 level="2" textAlign="left" id="h-the-email-playbook-the-lookalike-domain">The Email Playbook: The Lookalike Domain</h2><p>Email survives in crypto because it inherits trust from domain names. The scam is simple: register a domain that looks almost right.</p><h3 level="3" textAlign="left" id="h-how-the-domain-game-works">How the domain game works</h3><ul><li><p><strong>Typosquatting:</strong> a dropped or doubled letter — <code>arbirrum</code> instead of <code>arbitrum</code>, <code>uniswap-clalm</code> instead of <code>claim</code>.</p></li><li><p><strong>Hyphenation and suffixes:</strong> <code>uniswap-airdrop.com</code>, <code>layer2-claims.io</code> — official-sounding words the real project never uses.</p></li><li><p><strong>Homoglyphs:</strong> characters that render identically — <code>rn</code> looks like <code>m</code>, a Cyrillic <code>о</code> looks like <code>o</code>. The domain in your address bar can be visually perfect and still wrong.</p></li><li><p><strong>Wrong TLD:</strong> the project lives at <code>.xyz</code> or <code>.org</code> — so the scammer registers the <code>.com</code>.</p></li></ul><p>The email itself announces an airdrop, a token claim, a security update requiring wallet re-verification. The link leads to a pixel-perfect clone of the real site. The clone asks you to connect a wallet and sign, or worse, to enter your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/seed-phrase/">seed phrase</a> to &quot;verify ownership.&quot; No real project will ever ask for a seed phrase, by email or anywhere else — that request alone identifies the scam regardless of how good the domain looks.</p><h3 level="3" textAlign="left" id="h-rules-that-hold">Rules that hold</h3><ul><li><p>Read the sender&apos;s full email address, not the display name. Display names are free; domains are the tell.</p></li><li><p>Reach projects through your own bookmarks, never through links in the email. If the airdrop is real, it will still be real after you type the official URL yourself.</p></li><li><p>Claims never require re-entering a seed phrase. Any page that asks is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> page, full stop.</p></li><li><p>Watch the signature request if you do connect a wallet. A claim should not ask for unlimited token approvals or strange message types. If you don&apos;t understand what you&apos;re signing, don&apos;t sign — see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">how crypto phishing actually works</a>.</p></li></ul><h2 level="2" textAlign="left" id="h-one-chain-many-doors">One Chain, Many Doors</h2><p>The three channels look different but converge on the same goal: either software on your machine, a signature from your wallet, or a token you cannot sell. Understanding the destination makes every route obvious.</p><ul><li><p><strong>X delivers malware.</strong> The tell is the downloadable installer.</p></li><li><p><strong>Telegram delivers a fake friendship and a honeypot.</strong> The tell is the stranger who agrees with you for weeks.</p></li><li><p><strong>Email delivers a cloned domain.</strong> The tell is the link you didn&apos;t type yourself.</p></li></ul><p>The defenses stack: keep claiming activity in a browser you can afford to reset; treat every unsolicited installer as hostile; verify tokens on-chain before buying, the same way you&apos;d <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/spotting-rug-pulls-and-honeypots/">check any token for rug and honeypot risk</a>; and treat unexpected airdrop claims — on any channel — as a reason to visit the project&apos;s official page directly, not the link you were handed. The general airdrop rules in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-airdrop-scams-explained/">crypto airdrop scams guide</a> apply to all three channels here.</p><p>Scammers industrialized the scripts. Your defense doesn&apos;t need to be clever — it needs to be boring and consistent: nothing installed from strangers, nothing signed unread, no links trusted from inbound messages.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/social-media-crypto-scam-playbook/"><em>https://theonchaindiary.com/articles/social-media-crypto-scam-playbook/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[SIM Swap Attacks Explained: How Phone Number Theft Drains Crypto Accounts]]></title>
            <link>https://paragraph.com/@onchaindiary/sim-swap-attacks-explained</link>
            <guid>K2JwfH2wZGo82pbAJd5r</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:51 GMT</pubDate>
            <description><![CDATA[Most crypto security content is about what happens on-chain: malicious approvals, drainer signatures, phishing domains. But a large share of real-world losses start somewhere much more boring — at a mobile carrier's customer service desk, where an attacker convinces an agent to move your phone number onto their SIM card. From that moment, your phone number is theirs. And if your email, exchange, or banking accounts still treat SMS as a trusted channel, the takeover cascade starts. This articl...]]></description>
            <content:encoded><![CDATA[<p>Most crypto security content is about what happens on-chain: malicious approvals, drainer signatures, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> domains. But a large share of real-world losses start somewhere much more boring — at a mobile carrier&apos;s customer service desk, where an attacker convinces an agent to move your phone number onto their SIM card.</p><p>From that moment, your phone number is theirs. And if your email, exchange, or banking accounts still treat SMS as a trusted channel, the takeover cascade starts. This article walks the full chain: how attackers pick targets, how the port actually happens, what they do in the first hour after the swap, real cases with real numbers, and the short list of defenses that actually break the attack.</p><blockquote><p><strong>BLUF:</strong> SIM swap is an account-takeover primitive, not an SMS problem. It defeats any account that can be reset or verified through your phone number. The fix is to remove SMS from your trust chain entirely (authenticator app or hardware key for 2FA, carrier port-out PIN), and to structure holdings so that even a total account takeover hits a small number: trading float on exchange, everything else in a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a>.</p></blockquote><h2 level="2" textAlign="left" id="h-what-a-sim-swap-actually-is">What a SIM Swap Actually Is</h2><p>Your phone number is not physically attached to your SIM card. It&apos;s a record at your carrier that says &quot;route calls and texts for +1-555-… to SIM serial X.&quot; A SIM swap (also called a port-out scam when the number moves to a different carrier) is an attack on that record: the attacker convinces your carrier — or pays someone inside it — to repoint your number to a SIM they control.</p><p>Three flavors exist, and they all end the same way for you:</p><ol><li><p><strong>Retail social engineering.</strong> The attacker calls the carrier, poses as you with leaked personal data (name, address, birth date, last four of SSN, account PIN if they&apos;ve phished it), and &quot;reports a lost phone.&quot; A helpful agent activates a new SIM &quot;for&quot; you.</p></li><li><p><strong>Insider fraud.</strong> Carrier store employees or support contractors are recruited and paid per successful swap. Several US prosecutions have included telco insiders as accomplices.</p></li><li><p><strong>Port-out.</strong> The attacker initiates a transfer of your number to a different prepaid carrier, exploiting lax verification on port requests.</p></li></ol><p>Your phone silently loses service. Theirs starts receiving your texts — including every password reset code and 2FA prompt sent to your number.</p><h2 level="2" textAlign="left" id="h-why-crypto-holders-are-the-target">Why Crypto Holders Are the Target</h2><p>An exchange account is a bank account with a market attached. Once an attacker is inside, they don&apos;t need to beat on-chain security at all — they use the exchange&apos;s own withdrawal function to send your balances to their <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet/">wallet</a>, and the withdrawal looks like any other customer transfer.</p><p>That&apos;s the uncomfortable part: no smart contract audit, hardware wallet, or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/seed-phrase/">seed phrase</a> hygiene helps if the assets sit in a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/custodial-wallet/">custodial wallet</a> and the account can be recovered via SMS. The attack specifically selects for people who:</p><ul><li><p>Still use SMS 2FA on their exchange or email accounts</p></li><li><p>Publicly associate their identity with crypto (founders, traders with public personas, anyone who has tweeted their holdings or been interviewed about them)</p></li><li><p>Have personal data floating in breach dumps (which is nearly everyone)</p></li></ul><p>Recon is cheap. The data brokers and breach corpora that supply carrier social engineering are the same ones that supply crypto phishing campaigns — often the same crews run both.</p><h2 level="2" textAlign="left" id="h-the-attack-chain-step-by-step">The Attack Chain, Step by Step</h2><p><strong>Step 1: Target selection and data gathering.</strong> The attacker assembles enough of your identity to pass carrier verification. Sources: breach databases, social media, your own posts, earlier phishing pages you may have entered data into, and sometimes insiders at the carrier who skip this step entirely.</p><p><strong>Step 2: Pre-staging.</strong> Before touching your number, the attacker learns which exchanges you use and tries your email. Some password-reset the email first (if it can be recovered via SMS to the same number, one swap covers both); others swap first and reset everything after.</p><p><strong>Step 3: The swap.</strong> A call to the carrier, a story about a broken phone, maybe a walk-in to a retail store. Your number moves. Your handset shows &quot;No Service.&quot;</p><p><strong>Step 4: Account takeover.</strong> Password reset flows are the point of the whole exercise. &quot;Forgot password&quot; → SMS code → new password → change the recovery email and phone → disable TOTP if they can. Within minutes they own the account, and you are locked out.</p><p><strong>Step 5: The drain.</strong> Exchange balances are withdrawn to attacker-controlled addresses. If a withdrawal allowlist with a time lock was enabled, this step gets harder — that&apos;s why allowlists matter (see below). Otherwise, funds leave in batches, then split through hops and sometimes a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/mixer/">mixer</a>, following the same laundering pattern as drainer proceeds. From there, victim-side tracing looks identical to any other theft case: evidence, freeze requests, law enforcement — the pipeline described in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/">how stolen crypto is actually recovered</a>.</p><p>The on-chain part is almost an afterthought. That&apos;s what makes SIM swap distinct from every other attack in this library: it&apos;s the only major crypto theft vector that starts completely off-chain.</p><h2 level="2" textAlign="left" id="h-real-cases-real-numbers">Real Cases, Real Numbers</h2><ul><li><p><strong>Joel Ortiz (2018–2019).</strong> The first widely reported SIM-swap criminal conviction: Ortiz and associates took over roughly 40 phone numbers and stole more than $5 million, much of it in crypto, including about $1.5M in one day from a startup founder who was flying and unreachable during the takeover. He pleaded guilty and received 10 years in a California court in 2019.</p></li><li><p><strong>Michael Terpin v. AT&amp;T (2019).</strong> Investor Michael Terpin lost roughly $24 million in crypto after two SIM swaps on his AT&amp;T number in 2017 and 2018; in 2019 a federal jury awarded him $135 million in damages against the carrier. The case put carriers&apos; port-out verification practices on the public record.</p></li><li><p><strong>&quot;The Community&quot; (DOJ indictment, 2019).</strong> The US Department of Justice indicted eight members of a crew that stole millions by SIM-swapping targets and draining exchange accounts, working with accomplices who handled the number ports. Prosecutors described it as a conspiratorial structure: hackers, money movers, and telco-side enablers.</p></li></ul><p>The pattern across cases: young crews, high-value crypto targets, carriers as the weak link, and sentences that finally caught up with the crime. The techniques have not gone away — they&apos;ve industrialized alongside the rest of the scam economy.</p><h2 level="2" textAlign="left" id="h-the-part-everyone-misses-your-phone-number-is-a-master-key">The Part Everyone Misses: Your Phone Number Is a Master Key</h2><p>SMS is not just &quot;one factor among many.&quot; In most account systems, the phone number is also the <strong>recovery path</strong> — the channel that lets you back in when everything else fails. That means a number takeover can defeat even a strong password plus authenticator app, if the &quot;account recovery&quot; flow is willing to text a reset link.</p><p>So the honest framing is:</p><ul><li><p>SMS 2FA is worse than nothing for high-value accounts — not because SMS is easy to phish (it is), but because <strong>it gives attackers a reset path that bypasses everything else you set up.</strong></p></li><li><p>Email is the other master key. If your email can be recovered via SMS, then SMS compromise → email compromise → every account that sends &quot;we&apos;ve reset your password&quot; emails.</p></li></ul><p>This is why the defense stack below is ordered the way it is. It&apos;s not a checklist of equal items; it&apos;s a dependency chain.</p><h2 level="2" textAlign="left" id="h-the-defense-stack">The Defense Stack</h2><p><strong>1. Remove SMS 2FA from every account that matters.</strong> Replace it with an authenticator app (TOTP) or, better, a hardware security key (FIDO2/WebAuthn) for email and exchange logins. Hardware keys are phishing-resistant in a way codes are not — see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing and hardware wallet security</a> for how the device-side piece fits.</p><p><strong>2. Decouple recovery from your number.</strong> In every account&apos;s security settings, check the recovery options: remove the phone number where an email or second key can serve instead. If a service <em>requires</em> a phone number for recovery, treat that service as unsafe for meaningful balances.</p><p><strong>3. Lock the port.</strong> US carriers offer account-level protections — AT&amp;T&apos;s Extra Security / Number Lock, Verizon&apos;s Number Lock, T-Mobile&apos;s port validation with a separate passcode. Set it today; it costs nothing. It won&apos;t stop an insider fraud, but it defeats the casual call-center attack that makes up the bulk of volume.</p><p><strong>4. Enable withdrawal allowlists + delay locks on exchanges.</strong> A 24-hour withdrawal-address lock means a fresh takeover can&apos;t move funds immediately, and the delay gives you a window to catch the &quot;new address added&quot; notification (routed to email they don&apos;t control, if you did step 1 right).</p><p><strong>5. Structure holdings so a takeover hits a small number.</strong> Exchange accounts hold trading float. Everything else lives in self-custody — a hardware wallet, ideally with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/multi-sig-wallet/">multi-sig</a> for large amounts. A SIM swap cannot touch self-custodied funds: there is no phone number, no password reset, no customer service desk to social-engineer. This is the structural answer, and it matters more than any carrier setting.</p><h2 level="2" textAlign="left" id="h-if-it-happens-the-first-30-minutes">If It Happens: The First 30 Minutes</h2><p>Your phone dropping to &quot;No Service&quot; with no explanation is the tell. Act on the assumption of an active takeover:</p><ol><li><p><strong>Call your carrier from another phone</strong> (their fraud line, not general support) and ask them to suspend the port and freeze the account. Speed here constrains everything downstream.</p></li><li><p><strong>Secure email first, from a clean device</strong> — change the password, revoke active sessions, re-enable 2FA. Email is the recovery path to everything else.</p></li><li><p><strong>Freeze exchange accounts</strong>: change passwords, revoke sessions, disable withdrawals if the platform allows a temporary lock. Use the app over a borrowed device if needed; attackers move within minutes.</p></li><li><p><strong>Document as you go</strong>: timestamps, who you spoke to at the carrier, confirmation numbers. If funds moved, capture transaction hashes and addresses — that becomes the evidence package for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">tracking stolen crypto</a> and any freeze request to the receiving exchange.</p></li><li><p><strong>File a police report and IC3 complaint</strong> (US) or your local cybercrime unit. SIM swap is a well-understood crime category now; the report also helps with the carrier&apos;s liability process.</p></li></ol><p>One more thing: after any SIM swap, expect follow-on targeting. The same data that enabled the swap enables <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">phishing</a> and &quot;recovery agent&quot; fraud — read the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">recovery scam anatomy</a> before strangers offer help.</p><h2 level="2" textAlign="left" id="h-limitations">Limitations</h2><ul><li><p><strong>Carrier protections vary by country.</strong> Port-out PINs and number locks are common in the US and uneven elsewhere; the local reality may be weaker than this checklist assumes.</p></li><li><p><strong>Nothing stops a corrupt insider completely.</strong> A paid store employee with system access can bypass most customer-side controls. That&apos;s why the structural defense (self-custody) outranks every carrier setting.</p></li><li><p><strong>Operational friction is real.</strong> Hardware keys and allowlist delays make trading marginally slower. That trade is correct for long-term holdings and a personal decision for active traders.</p></li><li><p><strong>This is general education, not advice for your specific carrier or platform.</strong> Check your carrier&apos;s current protection options directly — the products and their names change.</p></li></ul><h2 level="2" textAlign="left" id="h-related-reading">Related Reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">How to Avoid Crypto Phishing Scams</a> — the other major off-chain attack surface, and often the source of the personal data used for carrier social engineering</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/">How Stolen Crypto Is Actually Recovered</a> — what happens after the drain, and what a usable evidence package looks like</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">Crypto Recovery Scams Explained</a> — the second scam that targets every victim within days</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">How to Prevent Wallet Drainers</a> — the on-chain counterpart: where SIM swap can&apos;t reach but signatures can</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/sim-swap-attacks-explained/"><em>https://theonchaindiary.com/articles/sim-swap-attacks-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[Pig Butchering Scams Explained: The On-Chain Anatomy of Romance Investment Fraud]]></title>
            <link>https://paragraph.com/@onchaindiary/pig-butchering-scams-explained</link>
            <guid>m9v3ueJ5RjOs8VuRHF0G</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:46 GMT</pubDate>
            <description><![CDATA[Pig butchering sits at an uncomfortable intersection: it is simultaneously the most devastating scam category in the FBI's annual crime statistics and the one most people believe they would never fall for. That belief is the product's core ingredient. The scam works precisely because it does not look like a scam for weeks — it looks like a friendship, and later, like an investment that is obviously working. This article breaks the scam into its operating parts: the funnel, the fake platform, ...]]></description>
            <content:encoded><![CDATA[<p>Pig butchering sits at an uncomfortable intersection: it is simultaneously the most devastating scam category in the FBI&apos;s annual crime statistics and the one most people believe they would never fall for. That belief is the product&apos;s core ingredient. The scam works precisely because it does not look like a scam for weeks — it looks like a friendship, and later, like an investment that is obviously working.</p><p>This article breaks the scam into its operating parts: the funnel, the fake platform, the on-chain money trail, and the reporting path. It is written from an on-chain analysis perspective — for people who want to understand what the money does after the deposit, whether they are victims, researchers, or investigators.</p><h2 level="2" textAlign="left" id="h-the-funnel-how-the-conversation-actually-starts">The funnel: how the conversation actually starts</h2><p>Every pig butchering case follows the same sequence, refined over millions of repetitions in scam compounds:</p><table class="paragraph-table"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Stage</p></th><th colspan="1" rowspan="1"><p>What happens</p></th><th colspan="1" rowspan="1"><p>How long</p></th></tr><tr><td colspan="1" rowspan="1"><p>Contact</p></td><td colspan="1" rowspan="1"><p>Wrong-number text, dating app match, or a reply to a job post</p></td><td colspan="1" rowspan="1"><p>Day 0</p></td></tr><tr><td colspan="1" rowspan="1"><p>Grooming</p></td><td colspan="1" rowspan="1"><p>Daily friendly chat, no investment talk at first</p></td><td colspan="1" rowspan="1"><p>1–4 weeks</p></td></tr><tr><td colspan="1" rowspan="1"><p>Seed</p></td><td colspan="1" rowspan="1"><p>Scammer mentions their own trading profits, offers to teach</p></td><td colspan="1" rowspan="1"><p>2–5 weeks</p></td></tr><tr><td colspan="1" rowspan="1"><p>Small win</p></td><td colspan="1" rowspan="1"><p>Victim deposits a small amount, sees fake profit, withdraws it</p></td><td colspan="1" rowspan="1"><p>Week 3–6</p></td></tr><tr><td colspan="1" rowspan="1"><p>Fattening</p></td><td colspan="1" rowspan="1"><p>Victim deposits larger amounts, platform shows growing balance</p></td><td colspan="1" rowspan="1"><p>1–3 months</p></td></tr><tr><td colspan="1" rowspan="1"><p>Butchering</p></td><td colspan="1" rowspan="1"><p>Withdrawal blocked; &quot;tax&quot; or &quot;fee&quot; demanded; then silence</p></td><td colspan="1" rowspan="1"><p>Final week</p></td></tr></tbody></table><p>The contact vector matters. The wrong-number text — an apparently misdirected friendly message — is the industry standard opener precisely because it gives the victim a plausible, low-stakes reason to reply. From the scammer&apos;s side, a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">social engineering</a> script like this is run at industrial scale: workers in compounds manage dozens of conversations simultaneously from templated playbooks, sometimes using AI translation and generation tools to operate across languages. The FBI has documented this industrialization in its awareness campaign, Operation Level Up, which describes pig butchering as a confidence-based scam run at population scale.</p><p>The one near-universal tell during grooming: the counterpart avoids live video calls. Voice is common (AI voice or a different worker), video is almost never available. The excuses are always mundane — a broken camera, a shy personality, a corporate policy.</p><h2 level="2" textAlign="left" id="h-the-fake-platform-a-theater-with-a-working-cashier">The fake platform: a theater with a working cashier</h2><p>The &quot;trading platform&quot; the victim is sent to is a fully fabricated website. It renders professional-looking charts, shows a live balance that grows exactly as promised, and even processes the first small withdrawal. The key insight for on-chain analysts: the balances are database entries in the scammer&apos;s control panel, not real positions on any exchange.</p><p>The fake platform exists to solve a single problem for the scammer — making the deposit feel like an investment rather than a transfer. To that end:</p><ul><li><p>Deposits go to addresses the scammer controls, described as &quot;your dedicated account.&quot;</p></li><li><p>The platform shows fake trading profits calibrated to keep the victim depositing. Modest, believable returns — 1–3% a week — are more effective than obviously impossible numbers.</p></li><li><p>The first withdrawal request for a small amount is honored. This is the single most important trust-building step in the entire funnel, and it is deliberately budgeted as a cost of the scam.</p></li><li><p>Fees, &quot;taxes,&quot; or &quot;verification deposits&quot; appear only when the victim tries to withdraw a large amount or shows signs of stopping deposits. This is the extraction endgame: many victims pay the fake fee believing it unlocks their balance, sometimes repeatedly.</p></li></ul><p>If a platform you cannot independently verify offers custody of your funds, treat it as a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/custodial-wallet/">custodial wallet</a> with zero accountability — because functionally, that is what it is.</p><h2 level="2" textAlign="left" id="h-what-the-money-trail-looks-like-on-chain">What the money trail looks like on-chain</h2><p>This is where on-chain analysis earns its keep, and where the story differs from the psychology-heavy mainstream coverage.</p><p><strong>The deposit address.</strong> The victim&apos;s first transaction goes to a fresh address (or a deposit address inside a cluster) controlled by the operation. These addresses are usually clean — no prior history — because operations rotate them per victim or per small group of victims.</p><p><strong>The collection layer.</strong> Deposits sit until they reach a threshold, then sweep into a collection wallet. This is the address worth flagging first: it aggregates inputs from many victim deposit addresses and is the operation&apos;s most identifiable on-chain entity. Tools that cluster addresses by behavioral fingerprint — the approach we cover in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-risk-scoring-explained/">wallet risk scoring</a> — often catch collection wallets before labels exist.</p><p><strong>The laundering layer.</strong> From collection, funds typically split into peel chains, pass through cross-chain bridges to other networks, and land in nested custody services at major exchanges (small merchant accounts inside a big exchange, which are faster to open and slower to freeze than direct exchange wallets). You can trace the logic of this layer in detail in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how stolen crypto is tracked</a>.</p><p><strong>The exit.</strong> Final conversion to fiat usually happens through over-the-counter desks in jurisdictions with weak enforcement, or through stablecoins held as a store of value by the operation itself. Stablecoin issuers can freeze funds at the contract level — one reason some operations now prefer other assets — but freezes require the issuer to receive a sufficiently specific report, fast.</p><p>A practical observation from published tracing work: speed dominates everything. Exchange compliance teams act on reports within hours when funds are still sitting at a deposit address. After the first bridge hop, the realistic recovery probability collapses.</p><h2 level="2" textAlign="left" id="h-the-compounds-who-is-on-the-other-side">The compounds: who is on the other side</h2><p>The UN Office of the High Commissioner for Human Rights published a report in August 2023 estimating that <strong>at least 120,000 people in Myanmar and around 100,000 in Cambodia</strong> were being held in scam compounds and forced to conduct online fraud — a population largely trafficked through fake job advertisements. The workers running the grooming conversations are frequently victims themselves, working under threat, which is why the FBI and NGOs consistently frame the industry as both a fraud problem and a human trafficking problem.</p><p>For analysts, this explains a pattern visible in the scripts: conversation quality is uneven. The opening messages are polished templates; improvised responses to unusual questions are where the operation shows seams. Victims consistently report that asking for a video call or an off-script question produces delays, deflection, or a change of topic — because the worker has to escalate to a supervisor.</p><h2 level="2" textAlign="left" id="h-the-recovery-trap-that-follows-the-scam">The recovery trap that follows the scam</h2><p>A victim who loses money and posts about it publicly — in a forum, a complaint site, or social media — is often contacted within days by someone claiming to be a &quot;blockchain investigator&quot; or &quot;fund recovery service&quot; who can retrieve the stolen crypto for an upfront fee. These are almost universally follow-on scams targeting the same victim list, a category we break down separately in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">crypto recovery scams explained</a>. The rule: anyone who promises recovery and asks for payment upfront is running the second half of the same playbook. Legitimate paths — IC3, exchange compliance, licensed counsel — do not charge victims a recovery fee before any result.</p><h2 level="2" textAlign="left" id="h-how-to-protect-yourself-and-people-around-you">How to protect yourself and people around you</h2><p>The protective measures are unglamorous but effective:</p><ol><li><p><strong>Treat any investment introduction from a stranger-met-online as presumptively fraudulent.</strong> The introduction channel, not the asset class, is the red flag.</p></li><li><p><strong>Verify custody independently.</strong> If you cannot withdraw to your own <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/non-custodial-wallet/">non-custodial wallet</a> address at will, you do not control the funds — regardless of what the dashboard shows.</p></li><li><p><strong>Test withdrawals early and at size.</strong> A real platform lets a meaningful amount leave. A scam platform honors only trivial amounts.</p></li><li><p><strong>Watch for the fee wall.</strong> Any &quot;tax,&quot; &quot;margin call,&quot; or &quot;unlocking fee&quot; demanded before withdrawal is the standard extraction script. No legitimate exchange charges a fee to release your own balance.</p></li><li><p><strong>Keep custody hygiene separate from social apps.</strong> A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a> used only for savings — never connected to anything a chat contact suggested — is immune to this entire category by construction.</p></li></ol><p>If the loss has already happened: preserve everything (chat logs, platform URLs, deposit addresses, transaction hashes), report to IC3 at ic3.gov and your local police the same day, and send the deposit addresses and hashes to the compliance teams of any exchanges visible in the trail. It is not glamorous work, but it is the only sequence that has ever produced frozen funds.</p><h2 level="2" textAlign="left" id="h-limitations-of-this-analysis">Limitations of this analysis</h2><p>On-chain analysis can trace the money, but it cannot recover sentiment or reverse a bridge hop, and it cannot identify compound workers behind nested accounts. Loss figures from IC3 reflect reported crime only — the true scale is understood to be larger. And the scam&apos;s structure keeps evolving: recent reporting documents AI-generated persona tools shortening the grooming phase. The fingerprint described above holds as of this writing; expect the details to keep shifting.</p><h2 level="2" textAlign="left" id="h-related-reading">Related reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">Crypto recovery scams explained</a> — the second scam that targets pig butchering victims</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">How to track stolen crypto</a> — the tracing toolkit behind the money-trail section</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/ai-powered-crypto-scams-2026/">AI-powered crypto scams in 2026</a> — how generation tools industrialize the grooming phase</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-risk-scoring-explained/">Address risk scoring explained</a> — how collection wallets get flagged</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">How to avoid crypto phishing scams</a> — the short-con counterpart to this long con</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/pig-butchering-scams-explained/"><em>https://theonchaindiary.com/articles/pig-butchering-scams-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[How to Read a Smart Contract Audit Report: A Practical Guide]]></title>
            <link>https://paragraph.com/@onchaindiary/how-to-read-a-smart-contract-audit-report</link>
            <guid>1PIJLMUqf6KHYeR4P6dQ</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:39 GMT</pubDate>
            <description><![CDATA[TL;DR: An audit badge on a project's website is marketing. The report behind it is data. Most users never open the PDF, which means they miss the only part that matters: what was actually reviewed, what was found, and what was fixed. This guide walks through a standard audit report section by section, explains how to read severity levels and scope limits, and gives you a red-flag checklist you can run in ten minutes before trusting any "audited" protocol. You do not need to be a Solidity deve...]]></description>
            <content:encoded><![CDATA[<p><strong>TL;DR</strong>: An audit badge on a project&apos;s website is marketing. The report behind it is data. Most users never open the PDF, which means they miss the only part that matters: what was actually reviewed, what was found, and what was fixed. This guide walks through a standard audit report section by section, explains how to read severity levels and scope limits, and gives you a red-flag checklist you can run in ten minutes before trusting any &quot;audited&quot; protocol.</p><p>You do not need to be a Solidity developer to read an audit report usefully. You need to know what questions each section answers — and which questions no audit can answer.</p><h2 level="2" textAlign="left" id="h-why-audit-badges-mislead">Why Audit Badges Mislead</h2><p>A &quot;Passed Audit&quot; badge compresses a 40-page technical document into one pixel of information. That compression hides the three facts that determine whether the audit means anything:</p><ol><li><p><strong>Scope</strong> — which contracts were actually reviewed</p></li><li><p><strong>Timing</strong> — whether the deployed code matches the audited code</p></li><li><p><strong>Resolution</strong> — whether the findings were fixed, or just acknowledged</p></li></ol><p>Projects know most users do not check these. Some exploit that. A protocol can commission an audit of one small utility contract, then display an audit badge site-wide. That is not lying, technically — but it is not security either. For a broader framework of warning signs that go beyond audits, see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/defi-protocol-red-flags/">DeFi Protocol Red Flags</a>.</p><p>The core concept is simple: an audit is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/contract-audit/">contract audit</a> — a point-in-time review of a specific code snapshot by a specific team, paid for by the project. Understanding what that relationship implies is the first step to reading reports with the right skepticism.</p><h2 level="2" textAlign="left" id="h-the-standard-anatomy-of-an-audit-report">The Standard Anatomy of an Audit Report</h2><p>Most reports from reputable firms follow a similar structure. Here is what each section actually tells you:</p><table class="paragraph-table"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Section</p></th><th colspan="1" rowspan="1"><p>What it contains</p></th><th colspan="1" rowspan="1"><p>What you should extract</p></th></tr><tr><td colspan="1" rowspan="1"><p>Executive summary</p></td><td colspan="1" rowspan="1"><p>Overall verdict, engagement dates</p></td><td colspan="1" rowspan="1"><p>Auditor name, date, effort size (person-days)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Scope</p></td><td colspan="1" rowspan="1"><p>Contracts, files, commit hash reviewed</p></td><td colspan="1" rowspan="1"><p>The exact boundary of what was and was not reviewed</p></td></tr><tr><td colspan="1" rowspan="1"><p>Methodology</p></td><td colspan="1" rowspan="1"><p>Review techniques, tooling, time budget</p></td><td colspan="1" rowspan="1"><p>How deep the review could realistically go</p></td></tr><tr><td colspan="1" rowspan="1"><p>Findings</p></td><td colspan="1" rowspan="1"><p>Issues by severity, with code references</p></td><td colspan="1" rowspan="1"><p>Count per severity, exploitability, fix status</p></td></tr><tr><td colspan="1" rowspan="1"><p>Resolved findings</p></td><td colspan="1" rowspan="1"><p>Issues the project fixed during engagement</p></td><td colspan="1" rowspan="1"><p>Whether fixes were re-reviewed or just accepted</p></td></tr><tr><td colspan="1" rowspan="1"><p>Retest / fix review</p></td><td colspan="1" rowspan="1"><p>Verification of remediation</p></td><td colspan="1" rowspan="1"><p>Whether fixes were verified, not just claimed</p></td></tr><tr><td colspan="1" rowspan="1"><p>Disclaimer</p></td><td colspan="1" rowspan="1"><p>Legal limits of the audit</p></td><td colspan="1" rowspan="1"><p>What the audit explicitly does not cover</p></td></tr></tbody></table><p>Two of these sections do most of the work: <strong>scope</strong> and <strong>findings</strong>. The rest is context. Read those two carefully and skim the rest.</p><h2 level="2" textAlign="left" id="h-reading-the-scope-section-where-audits-go-to-die">Reading the Scope Section (Where Audits Go to Die)</h2><p>The scope section is the single most valuable part of the report, because it defines the boundary of the auditor&apos;s knowledge. Common patterns to recognize:</p><ul><li><p><strong>Partial coverage.</strong> A protocol with 30 contracts may have audited 8. The unaudited 22 might include the bridge, the vault, or the upgrade logic — the exact components attackers target.</p></li><li><p><strong>Commit hash mismatch.</strong> The report references a specific commit. If the deployed contract on the block explorer does not correspond to that commit, the audit covers different code than what holds user funds. Projects sometimes ship &quot;small changes&quot; after an audit. Small changes have historically produced large exploits.</p></li><li><p><strong>Explicit exclusions.</strong> Scope sections often list what was not reviewed: admin functions, third-party integrations, off-chain components, deployment scripts. These exclusions are legitimate — auditors cannot review everything — but users should treat excluded components as unaudited, because they are.</p></li><li><p><strong>Upgradeability blind spots.</strong> If the system uses an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/proxy-pattern/">upgradeable proxy</a>, an audit of the current implementation says nothing about future implementations. Check whether upgrade authority sits behind a timelock and multisig. For how upgrade mechanisms get exploited, see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/proxy-upgrade-attacks-explained/">Proxy Upgrade Attacks Explained</a>.</p></li></ul><p>A useful mental model: the scope section converts the question &quot;is this protocol audited?&quot; into &quot;which parts of this protocol are audited?&quot; The second question is the only one that has an answer.</p><h2 level="2" textAlign="left" id="h-reading-findings-and-severity-levels">Reading Findings and Severity Levels</h2><p>Findings are typically graded Critical / High / Medium / Low / Informational. These grades estimate <strong>impact if exploited</strong>, not likelihood of exploitation:</p><table class="paragraph-table"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Severity</p></th><th colspan="1" rowspan="1"><p>Typical meaning</p></th><th colspan="1" rowspan="1"><p>How to react</p></th></tr><tr><td colspan="1" rowspan="1"><p>Critical</p></td><td colspan="1" rowspan="1"><p>Direct, realistic loss of funds</p></td><td colspan="1" rowspan="1"><p>Unfixed in deployed code = walk away</p></td></tr><tr><td colspan="1" rowspan="1"><p>High</p></td><td colspan="1" rowspan="1"><p>Loss under specific conditions</p></td><td colspan="1" rowspan="1"><p>Must be fixed and re-verified</p></td></tr><tr><td colspan="1" rowspan="1"><p>Medium</p></td><td colspan="1" rowspan="1"><p>Limited, temporary, or indirect impact</p></td><td colspan="1" rowspan="1"><p>Understand the mechanism before depositing</p></td></tr><tr><td colspan="1" rowspan="1"><p>Low</p></td><td colspan="1" rowspan="1"><p>Edge-case bugs, gas waste</p></td><td colspan="1" rowspan="1"><p>Low concern, but note patterns</p></td></tr><tr><td colspan="1" rowspan="1"><p>Informational</p></td><td colspan="1" rowspan="1"><p>Code quality, centralization notes</p></td><td colspan="1" rowspan="1"><p>Read these — they often describe real risks</p></td></tr></tbody></table><p>Three reading mistakes to avoid:</p><p><strong>Mistake 1: Counting only Critical findings.</strong> A report with zero Critical and twelve High findings is not a clean report. High findings describe realistic loss paths under specific conditions — in DeFi, specific conditions arrive eventually.</p><p><strong>Mistake 2: Treating a long Informational list as dirt.</strong> Informational findings often just document centralization keys or known trade-offs. That is candor, not sloppiness. Conversely, a report with zero findings of any severity can indicate a shallow review — real code always has something to say.</p><p><strong>Mistake 3: Ignoring fix status.</strong> A finding marked &quot;Acknowledged&quot; is a finding the project chose not to fix. Sometimes that is defensible (low impact, high fix cost). Sometimes it is the vulnerability that gets exploited later. The pattern to check: are unresolved findings concentrated in access control or fund-movement paths? Those are the ones that end lives.</p><p>To go deeper on the classes of bugs that show up in findings tables, read <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/reentrancy-attacks-explained/">Reentrancy Attacks Explained</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/oracle-manipulation-defi/">Oracle Manipulation in DeFi</a> — understanding two or three canonical bug classes makes finding descriptions dramatically easier to parse.</p><h2 level="2" textAlign="left" id="h-the-four-questions-no-audit-answers">The Four Questions No Audit Answers</h2><p>Reports disclaim this in fine print, so make it explicit. An audit does not tell you:</p><ol><li><p><strong>Whether the deployed code matches the audited code.</strong> Verification is your job — check the contract address against the audited commit hash via the block explorer.</p></li><li><p><strong>Whether keys are safe.</strong> Admin keys, upgrade keys, and oracle operator keys are usually out of scope. Multi-sig and timelock arrangements are governance questions, not audit questions. Centralized key control is one of the most common <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/defi-protocol-red-flags/">red flags</a> in otherwise-audited protocols.</p></li><li><p><strong>Whether future code will be safe.</strong> Post-audit changes are unaudited by definition. Continuous audit coverage (re-audits on every upgrade) is a strong positive signal; a single audit from two years ago is a weak one.</p></li><li><p><strong>Whether the team is honest.</strong> Audits review code, not intentions. Insider rug paths — mint functions, pause powers, withdrawal asymmetry — may be fully visible in an audit and fully intended by the team.</p></li></ol><p>For projects that take security seriously, audits are one layer among several: a public <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/bug-bounty/">bug bounty</a> program, formal verification on critical paths, timelocked admin actions, and incident response plans. A protocol with an audit and none of the rest is safer than one with nothing, but not by as much as its marketing implies.</p><h2 level="2" textAlign="left" id="h-a-10-minute-checklist-before-trusting-an-audited-project">A 10-Minute Checklist Before Trusting an &quot;Audited&quot; Project</h2><p>Run this before any meaningful deposit:</p><ol><li><p>Open the actual report — not the badge. If the full report is not publicly reachable, treat the audit as unverified.</p></li><li><p>Note the auditor name and date. Check the engagement size: a two-day review and a three-week review are different products.</p></li><li><p>Compare the scope&apos;s commit hash with the deployed contract. Mismatch = the audit does not cover live code.</p></li><li><p>List what the scope excludes. Ask whether excluded components touch user funds.</p></li><li><p>Count findings by severity, then check the status of every Critical and High: Fixed and re-tested, or Acknowledged?</p></li><li><p>Check upgrade mechanics: proxy? timelock? multisig? Who can change the rules, and how quickly?</p></li><li><p>Look for a live bug bounty program and its max payout — bounty size is a rough proxy for how much the project values finding bugs before attackers do.</p></li><li><p>Check whether the audit firm itself has a reputation that survives scrutiny. Unknown firms produce reports that look identical to good ones.</p></li><li><p>Cross-check on-chain: token flows, treasury composition, and holder concentration tell you things no document will. Start with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">How to Verify a Token Before Buying</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/">How to Audit Your Wallet Activity</a>.</p></li><li><p>Re-run this checklist whenever the protocol ships an upgrade — an audit ages with the code it reviewed.</p></li></ol><h2 level="2" textAlign="left" id="h-where-reports-actually-live">Where Reports Actually Live</h2><p>Legitimate projects make reports easy to find: linked from the docs security section, in the GitHub repository, or on the auditing firm&apos;s own site under published engagements. Bookmark the report itself rather than the project&apos;s claims page — the PDF cannot be quietly edited the way a website can, and firms keep their published lists independent of the projects.</p><p>If you can only find the badge and never the document, you have learned everything the project wanted you to know — and nothing you needed to know.</p><h2 level="2" textAlign="left" id="h-limitations-of-this-guide">Limitations of This Guide</h2><p>Reading an audit report well does not make you a security researcher. It makes you a harder target for lazily-marketed risk. You can still be fooled by a competent, fully-audited, intentionally malicious project — that failure mode requires on-chain monitoring and community diligence, not document literacy. Use this skill as a filter for obvious nonsense, then stack it with the other checks in your process.</p><h2 level="2" textAlign="left" id="h-conclusion">Conclusion</h2><p>Audit reports are one of the few genuinely free, information-dense artifacts in crypto security — most users just never open them. Scope tells you what the auditor saw. Findings tell you what they found. Fix statuses tell you what the project did about it. Everything else on the website is a compressed, curated version of those three facts. Ten minutes with the source document beats any badge.</p><h2 level="2" textAlign="left" id="h-related-reading">Related Reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/contract-audit/">Contract Audit</a> — what an audit engagement actually involves</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/bug-bounty/">Bug Bounty</a> — continuous security after the audit ends</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/defi-protocol-red-flags/">DeFi Protocol Red Flags</a> — warning signs beyond audits</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/proxy-upgrade-attacks-explained/">Proxy Upgrade Attacks Explained</a> — why upgradeability weakens audit guarantees</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/oracle-manipulation-defi/">Oracle Manipulation in DeFi</a> — a canonical Critical-finding class</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/reentrancy-attacks-explained/">Reentrancy Attacks Explained</a> — the classic finding that keeps reappearing</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/erc20-token-security-check/">ERC-20 Token Security Check</a> — hands-on verification workflow</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-read-a-smart-contract-audit-report/"><em>https://theonchaindiary.com/articles/how-to-read-a-smart-contract-audit-report/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[How to Detect NFT Wash Trading: A Practical On-Chain Workflow]]></title>
            <link>https://paragraph.com/@onchaindiary/how-to-detect-nft-wash-trading</link>
            <guid>EV3eyWMKswCzKHymOwjh</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:33 GMT</pubDate>
            <description><![CDATA[The volume number next to an NFT collection is doing a job. It is not a neutral statistic — it is the single most effective bait in the market. High volume says "other people want this," and few signals move a buyer faster than other people wanting something. That is exactly why the number gets manufactured. This article is the NFT-specific companion to our general guide on wash trading detection. Where that guide covers the shared mechanics across DEXs and NFT markets, this one goes deep on ...]]></description>
            <content:encoded><![CDATA[<p>The volume number next to an NFT collection is doing a job. It is not a neutral statistic — it is the single most effective bait in the market. High volume says &quot;other people want this,&quot; and few signals move a buyer faster than other people wanting something. That is exactly why the number gets manufactured.</p><p>This article is the NFT-specific companion to our general guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wash-trading-detection-explained/">wash trading detection</a>. Where that guide covers the shared mechanics across DEXs and NFT markets, this one goes deep on the NFT side only: the concrete patterns wash traders leave, the order to check them in, and the math that turns suspicion into a defensible conclusion.</p><h2 level="2" textAlign="left" id="h-why-nft-wash-trading-is-its-own-discipline">Why NFT wash trading is its own discipline</h2><p>Token wash trading on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dex/">DEX</a> has one target: the volume rank on trackers. NFT wash trading is richer, because an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/nft/">NFT</a> collection has more surfaces to manipulate:</p><table class="paragraph-table"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Surface</p></th><th colspan="1" rowspan="1"><p>What wash trading does to it</p></th><th colspan="1" rowspan="1"><p>What buyers conclude</p></th></tr><tr><td colspan="1" rowspan="1"><p>Volume stats</p></td><td colspan="1" rowspan="1"><p>Inflates daily/total volume</p></td><td colspan="1" rowspan="1"><p>&quot;This collection is active&quot;</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/floor-price/">Floor price</a></p></td><td colspan="1" rowspan="1"><p>Each wash sale at a higher price raises it</p></td><td colspan="1" rowspan="1"><p>&quot;The collection is appreciating&quot;</p></td></tr><tr><td colspan="1" rowspan="1"><p>Sale history per token</p></td><td colspan="1" rowspan="1"><p>Repeated sales at rising prices</p></td><td colspan="1" rowspan="1"><p>&quot;This specific NFT is in demand&quot;</p></td></tr><tr><td colspan="1" rowspan="1"><p>Marketplace rankings</p></td><td colspan="1" rowspan="1"><p>Pushes collection up trending lists</p></td><td colspan="1" rowspan="1"><p>&quot;Others found it before me&quot;</p></td></tr><tr><td colspan="1" rowspan="1"><p>Rarity-site comps</p></td><td colspan="1" rowspan="1"><p>Wash sales become comparables</p></td><td colspan="1" rowspan="1"><p>&quot;My target is undervalued&quot;</p></td></tr></tbody></table><p>That last row is the subtle one. NFT valuation is comparative — buyers price a token against recent sales of similar rarity. Wash traders know this: a handful of controlled sales at escalating prices re-prices every comparable token in the collection. This is why wash trading on NFTs persists even when volume rankings stop mattering.</p><p>The scale is not theoretical. Chainalysis documented collections where the same NFTs were sold back and forth <strong>at least 25 times</strong> by the same small group of wallets, and separately tracked 110 wash traders who collectively extracted about <strong>$8.9 million in profit</strong>. A 2026 study summarized by Boston University&apos;s Hariri Institute put the pattern footprint at roughly <strong>38% of NFT trades and 60% of traded value</strong> across several major marketplaces. The baseline assumption for any unvetted collection should be that some share of its activity is staged.</p><h2 level="2" textAlign="left" id="h-the-five-signals-in-the-order-you-should-check-them">The five signals, in the order you should check them</h2><p>Time is the constraint. These checks are ordered by signal-per-minute: the first two catch the majority of wash trading, the rest turn a strong suspicion into a documented case.</p><h3 level="3" textAlign="left" id="h-1-token-id-recycling-between-a-fixed-wallet-set">1. Token ID recycling between a fixed wallet set</h3><p>This is the master pattern. Pull the transfer history of the collection&apos;s most-traded token IDs, then look at the wallets on each side.</p><p><strong>What organic trading looks like:</strong> a token is sold by A to B; B holds for weeks or months; eventually sells to C. Buyer and seller wallets have no prior relationship with each other around that token.</p><p><strong>What wash trading looks like:</strong></p><pre class="paragraph-code-block"><code>Token #4471:
  0xa1... → 0xb2...   0.8 ETH   (day 1)
  0xb2... → 0xa1...   1.1 ETH   (day 2)
  0xa1... → 0xc3...   1.4 ETH   (day 4)
  0xc3... → 0xb2...   1.7 ETH   (day 5)
  0xb2... → 0xa1...   2.1 ETH   (day 7)
</code></pre><p>Three wallets, one token, five sales, always rising, custody never actually leaving the group. The token ID is the giveaway — fungible-token wash loops can rotate tokens, but NFT manipulators need to re-price <em>specific</em> tokens, so the same IDs recur.</p><p><strong>Check it:</strong> on a block explorer, open the collection contract, sort transfers by token ID frequency, and read the counterparty pattern for the top 5–10 most-traded IDs. Ten minutes, no tools beyond the explorer.</p><h3 level="3" textAlign="left" id="h-2-funding-forensics-who-paid-for-the-buyer">2. Funding forensics: who paid for the buyer</h3><p>Wash wallets need gas and purchase funds, and operators are lazy about hygiene. The most common structure: the seller&apos;s wallet (or its upstream) funded the buyer&apos;s wallet days or hours before the sale. If buyer B&apos;s ETH to buy token #4471 can be traced to seller A&apos;s cash-out address, the sale was internal by construction.</p><p>This is the single strongest single-hops check available, and it is why professional investigators treat funding analysis as the backbone of wash-trading cases — the trade can lie about intent, but the money&apos;s origin cannot. We cover the wallet-clustering techniques behind this in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wallet-labels/">wallet labels explained</a>.</p><p><strong>Check it:</strong> for a suspicious sale, click through the buyer wallet&apos;s inbound ETH transfers. One or two hops back, if you land on the seller or another member of the recycling set, you have your answer.</p><h3 level="3" textAlign="left" id="h-3-round-trip-cost-math">3. Round-trip cost math</h3><p>Wash trading is a business with unit economics. Each round trip pays: gas, marketplace fee, and creator <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/royalty/">royalty</a>. If a collection trades heavily <em>only</em> on zero-royalty venues or low-fee chains, that is not a coincidence — it is the cost structure the operation requires.</p><p>Rough model for a 1 ETH round trip:</p><table class="paragraph-table"><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Cost component</p></th><th colspan="1" rowspan="1"><p>Full-fee venue</p></th><th colspan="1" rowspan="1"><p>Zero-royalty L2 venue</p></th></tr><tr><td colspan="1" rowspan="1"><p>Marketplace fee (typical)</p></td><td colspan="1" rowspan="1"><p>0.02–0.05 ETH</p></td><td colspan="1" rowspan="1"><p>0.005–0.01 ETH</p></td></tr><tr><td colspan="1" rowspan="1"><p>Creator royalty (5–10%)</p></td><td colspan="1" rowspan="1"><p>0.05–0.10 ETH</p></td><td colspan="1" rowspan="1"><p>0</p></td></tr><tr><td colspan="1" rowspan="1"><p>Gas (mainnet vs L2)</p></td><td colspan="1" rowspan="1"><p>0.002–0.02 ETH</p></td><td colspan="1" rowspan="1"><p>~0.00001 ETH</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Round-trip cost</strong></p></td><td colspan="1" rowspan="1"><p><strong>~0.08–0.17 ETH</strong></p></td><td colspan="1" rowspan="1"><p><strong>~0.01 ETH</strong></p></td></tr></tbody></table><p>An operator planning dozens of wash loops per collection cannot survive the left column; they can mass-produce the right column. So when you see a collection whose &quot;organic surge&quot; all routes through one particular zero-royalty marketplace, weight that heavily.</p><p><strong>Check it:</strong> compare a collection&apos;s volume distribution across marketplaces against comparable collections. A single-venue monopoly on volume, especially a low-fee one, is a structural red flag independent of any individual wallet check.</p><h3 level="3" textAlign="left" id="h-4-timing-regularity">4. Timing regularity</h3><p>Humans do not trade on a metronome. Bots do. Export the sale timestamps of the suspect window and compute the intervals: wash operations frequently fire on fixed schedules — every block, every N minutes, or evenly spaced across a session — because a script drives them. Mixed in with signal 1 (recycled token IDs), metronomic timing is close to a confession.</p><p>This is the same automation signature we describe for DEX manipulation in the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wash-trading-detection-explained/">general wash trading guide</a>, and it is robust: even if an operator randomizes counterparties, un-randomizing the <em>schedule</em> is a step most never take.</p><p><strong>Check it:</strong> eyeball the sale list first — timestamps ending in suspiciously even spacing (exactly 60s apart, exactly one block apart) are often visible without any analysis. For rigor, compute interval standard deviation; near-zero variance means automation.</p><h3 level="3" textAlign="left" id="h-5-volume-decay-after-organic-entry">5. Volume decay after organic entry</h3><p>The exit leaves a shadow. Wash volume exists to attract organic buyers; once enough real money has entered and the operators have sold their inventory, maintaining the loop has no payback. The pattern: weeks of sustained high volume, a final distribution window where holdings fan out to fresh wallets, then volume collapses 80–95% and never recovers — while the floor follows it down.</p><p>Retrospectively, this decay curve is how you confirm what a live investigation only suspects. Prospectively, it is a warning label: a collection whose volume chart shows one sustained plateau and no organic baseline is showing you the lifecycle of a wash operation, not adoption.</p><p><strong>Check it:</strong> any NFT analytics page with a collection&apos;s 90-day volume history. You are looking for the shape, not the numbers.</p><h2 level="2" textAlign="left" id="h-a-dune-style-query-to-start-from">A Dune-style query to start from</h2><p>For analysts who want to batch the first check across a whole collection, this is the core query shape: find token IDs whose sales repeatedly involve a small fixed counterparty set.</p><pre class="paragraph-code-block"><code>-- Most-recycled token IDs in a collection:
-- pairs of (seller, buyer) appearing repeatedly on the same token
WITH sales AS (
  SELECT
    &quot;contract_tokenid&quot; AS token_id,
    &quot;from&quot;            AS seller,
    &quot;to&quot;              AS buyer,
    block_time
  FROM nft.trades
  WHERE nft_contract_address = CONCAT(&apos;\x&apos;, &apos;YOUR_COLLECTION_ADDRESS&apos;)
    AND block_time &gt;= NOW() - INTERVAL &apos;90&apos; DAY
)
SELECT
  token_id,
  seller,
  buyer,
  COUNT(*)          AS sales_between_pair,
  MIN(price_raw)    AS first_price,
  MAX(price_raw)    AS last_price
FROM sales
GROUP BY token_id, seller, buyer
HAVING COUNT(*) &gt;= 3
ORDER BY sales_between_pair DESC
LIMIT 50;
</code></pre><p>Rows where <code>sales_between_pair</code> is high, the same seller/buyer pair recurs across many token IDs, and <code>last_price</code> towers over <code>first_price</code> — that is your recycling set. From there, take the top wallets into the funding check (signal 2). The exact schema depends on the spellbook table you use, but the shape of the query — count trades per (token, pair) — is the heart of NFT wash detection.</p><h2 level="2" textAlign="left" id="h-what-the-tools-will-and-will-not-tell-you">What the tools will and will not tell you</h2><p>Marketplace analytics dashboards will show you volume, floor, and holder distribution, but they aggregate over the very behavior you need to see individually. The productive division of labor:</p><ul><li><p><strong>Explorers</strong> (Etherscan, and equivalents per chain): token-level transfer history, wallet funding chains — signals 1 and 2.</p></li><li><p><strong>Dune / spellbook tables</strong>: batch recycling and timing analysis at collection scale — signals 1, 3, 4.</p></li><li><p><strong>Holder distribution views</strong>: concentration among a small number of active wallets — the precondition for everything above; see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/analyzing-token-distribution/">analyzing token distribution</a> for the general method.</p></li><li><p><strong>Everything else</strong>: treat as marketing surfaces until proven otherwise. A trending rank is an output that wash trading directly targets — it is evidence of nothing.</p></li></ul><h2 level="2" textAlign="left" id="h-limitations">Limitations</h2><p>Sophisticated operations defeat each signal individually: wallets can be freshly funded from clean sources, timing can be jittered, sales can be split across venues. What they cannot easily defeat is the conjunction — a recycling set <em>and</em> traceable funding <em>and</em> metronomic timing <em>and</em> single-venue cost structure at once. Absence of all five is the only near-clear bill of health, and even that decays as collections age. The 25+ sale loops Chainalysis found were the careless operators; the careful ones simply have not been caught yet.</p><h2 level="2" textAlign="left" id="h-related-reading">Related reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wash-trading-detection-explained/">Wash trading detection explained</a> — the general guide: DEX volume inflation, volume-to-liquidity ratios, holder concentration</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/analyzing-token-distribution/">Analyzing token distribution</a> — holder concentration as the precondition check</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wallet-labels/">Wallet labels explained</a> — how flagged entities propagate across the clustering layer</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wash-trading/">Wash trading</a> / <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/floor-price/">Floor price</a> / <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/royalty/">Royalty</a> — core concepts</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-read-a-blockchain-explorer/">How to read a blockchain explorer</a> — the tool skills signals 1 and 2 assume</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-detect-nft-wash-trading/"><em>https://theonchaindiary.com/articles/how-to-detect-nft-wash-trading/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[Clipboard Hijacking Malware Explained: When Copy-Paste Steals Your Crypto]]></title>
            <link>https://paragraph.com/@onchaindiary/clipboard-hijacking-malware-explained</link>
            <guid>D0WwSEoepbMpuNc8lh9z</guid>
            <pubDate>Sun, 30 Aug 2026 10:33:28 GMT</pubDate>
            <description><![CDATA[Every crypto loss story has a moment where the victim did everything procedurally correct: they copied the address from a trusted source, they pasted it into a withdrawal form, they confirmed the transaction. The funds still went to a stranger. The step that failed was not judgment — it was the assumption that copy and paste is a faithful operation. Clipboard hijacking malware attacks exactly that assumption. This article explains the mechanism, the documented campaigns, how the attack differ...]]></description>
            <content:encoded><![CDATA[<p>Every crypto loss story has a moment where the victim did everything procedurally correct: they copied the address from a trusted source, they pasted it into a withdrawal form, they confirmed the transaction. The funds still went to a stranger. The step that failed was not judgment — it was the assumption that copy and paste is a faithful operation.</p><p>Clipboard hijacking malware attacks exactly that assumption. This article explains the mechanism, the documented campaigns, how the attack differs from its no-malware cousin <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning</a>, and the verification habits that make the whole class of attacks pointless.</p><h2 level="2" textAlign="left" id="h-how-the-attack-works-step-by-step">How the attack works, step by step</h2><p>A clipboard hijacker is a small resident process — often bundled inside cracked software, fake installers, pirated games, malicious browser extensions, or trojanized &quot;mining&quot; and &quot;trading assistant&quot; apps. Its logic is minimal:</p><ol><li><p><strong>Monitor.</strong> The malware registers a clipboard-format listener with the operating system. Every time the clipboard content changes, the malware receives a copy of it.</p></li><li><p><strong>Match.</strong> The content is tested against address patterns: Bitcoin base58 ranges, Ethereum-style <code>0x</code> plus 40 hex characters, TRON <code>T...</code> base58, Monero addresses, XRP tags, and so on. Modern kits ship thousands of patterns covering dozens of chains.</p></li><li><p><strong>Replace.</strong> If the clipboard holds an address for a supported chain, the malware overwrites it with the attacker&apos;s address for that same chain — matched by pattern, so the replacement is always format-valid.</p></li><li><p><strong>Wait.</strong> The victim pastes what they believe is the copied address. Wallet clients, exchange withdrawal forms, and payment pages all accept it, because it is a syntactically perfect address.</p></li></ol><p>The critical property of this attack: <strong>nothing about the resulting transaction is anomalous.</strong> It is correctly signed, correctly formatted, sent from the victim&apos;s own wallet. On-chain, it looks like an ordinary transfer to a fresh address. This is why the attack has survived a decade of blockchain security improvements — none of them are aimed at the clipboard, and the blockchain layer was never the target.</p><h2 level="2" textAlign="left" id="h-documented-campaigns-and-capabilities">Documented campaigns and capabilities</h2><p>The attack class is not theoretical:</p><ul><li><p><strong>2018 — the 2.3-million-address operation.</strong> In July 2018, security researchers (reported by TechCrunch) documented a Windows clipboard hijacker called Electro (Dorminet) that monitored a hardcoded list of roughly <strong>2.3 million cryptocurrency addresses</strong>, replacing any match with the attacker&apos;s own. The list skewed toward Bitcoin and other base58 chains. The sheer size of the address list was the story: the operators precomputed every high-value address worth watching.</p></li><li><p><strong>Clipboard injectors as a service.</strong> Kaspersky&apos;s Securelist research (&quot;Copy-paste heist&quot;) documented clipboard-injector malware families targeting Bitcoin, Ethereum, Litecoin, Dogecoin, and Monero, <strong>distributed as malware-as-a-service</strong> — operators rent the builder, the address list is customizable, and revenue splits mirror the drainer-kit economy. The service model explains the attack&apos;s persistence: no specialization required, just rental.</p></li><li><p><strong>Persistent commodity detections.</strong> Every major antivirus vendor maintains removal guidance for clipboard hijacker families, and user reports of &quot;the address I paste is different from the one I copied&quot; recur continuously on security forums — the predictable signature of an attack that never fully dies because the distribution channels (cracked software, fake downloads) never dry up.</p></li></ul><p>The economics favor the attacker enormously. A single successful swap can redirect a life-changing transfer, and the malware&apos;s footprint is tiny enough that many infections go unnoticed for months.</p><h2 level="2" textAlign="left" id="h-clipboard-hijacking-vs-address-poisoning-vs-drainers">Clipboard hijacking vs. address poisoning vs. drainers</h2><p>These three attacks are frequently confused because they all end with &quot;funds left to an address I didn&apos;t choose.&quot; They are different machines:</p><table class="paragraph-table"><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><br></th><th colspan="1" rowspan="1"><p>Clipboard hijacker</p></th><th colspan="1" rowspan="1"><p>Address poisoning</p></th><th colspan="1" rowspan="1"><p>Wallet drainer</p></th></tr><tr><td colspan="1" rowspan="1"><p>Needs malware on your device</p></td><td colspan="1" rowspan="1"><p>Yes</p></td><td colspan="1" rowspan="1"><p>No</p></td><td colspan="1" rowspan="1"><p>No</p></td></tr><tr><td colspan="1" rowspan="1"><p>Mechanism</p></td><td colspan="1" rowspan="1"><p>Swaps copied address</p></td><td colspan="1" rowspan="1"><p>Sends dust from lookalike addresses</p></td><td colspan="1" rowspan="1"><p>Tricks you into signing approval/signature</p></td></tr><tr><td colspan="1" rowspan="1"><p>What it needs from you</p></td><td colspan="1" rowspan="1"><p>Copy-paste + confirm</p></td><td colspan="1" rowspan="1"><p>Copy an address from tx history</p></td><td colspan="1" rowspan="1"><p>Connect wallet + sign once</p></td></tr><tr><td colspan="1" rowspan="1"><p>On-chain visibility</p></td><td colspan="1" rowspan="1"><p>Normal transfer</p></td><td colspan="1" rowspan="1"><p>Visible dust trail</p></td><td colspan="1" rowspan="1"><p>Approval/permit tx to attacker contract</p></td></tr></tbody></table><p>Address poisoning — covered in depth in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning attacks explained</a> — is the elegant cousin: it needs no code execution on your machine, only your transaction history and your trust in it. Attackers generate <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/vanity-address/">vanity addresses</a> matching the first and last characters of an address you transact with, then send negligible <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dusting-attack/">dust</a> transfers so the fake address appears in your history. Months later, the victim copies it while making a repeat payment.</p><p>Wallet drainers, by contrast, don&apos;t care where the address comes from — they go after signatures and approvals, the pattern we dissect in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/signature-scam-explained/">signature scam explained</a>. The common thread across all three: each attack targets a moment where you delegate verification to memory or to an unexamined paste.</p><h2 level="2" textAlign="left" id="h-the-two-second-habit-that-defeats-the-entire-class">The two-second habit that defeats the entire class</h2><p>The defense is not a product. It is a verification reflex, applied at the last moment before confirming:</p><ol><li><p><strong>After pasting, compare the first six and last six characters</strong> of the address on the confirmation screen against the source you copied from, character by character. Middle characters are where humans don&apos;t look and where attackers don&apos;t bother matching; the ends are cheap to check and hard to fake simultaneously. This one habit defeats clipboard hijackers, address poisoning, and typo-squatting replacement alike.</p></li><li><p><strong>Use the address book.</strong> Every major wallet and exchange supports saved, whitelisted withdrawal addresses. Send a trivial test amount the first time. After that, treat any change to a saved address as a security event — not a preference update.</p></li><li><p><strong>Check the clipboard itself.</strong> Paste into a plain text editor before pasting into anything financial. If what appears differs from what you copied, the device — not the address — is the problem.</p></li><li><p><strong>Don&apos;t transact on a device you don&apos;t trust.</strong> Clipboard malware arrives with cracked software and sketchy installs. The machine you use to move life-changing amounts of crypto should be boring: minimal software, standard sources, updated OS, mainstream antivirus running.</p></li><li><p><strong>Use amount tiering.</strong> Whitelisted address plus small test transaction plus delayed large transfer is a three-layer filter that defeats silent substitution — a hijacker that swaps a test transfer&apos;s address has revealed itself for the price of dust.</p></li></ol><p>For custodial flows, exchange-side address whitelisting with a time-locked change process (typically 24–48 hours) means even a successful clipboard swap on your device cannot redirect funds without a waiting period you would notice.</p><h2 level="2" textAlign="left" id="h-what-this-looks-like-to-an-on-chain-analyst">What this looks like to an on-chain analyst</h2><p>If you are tracing a victim&apos;s transaction history, a clipboard-hijack loss has a distinctive shape: a normal, correctly-formatted transfer to a <strong>previously unseen address</strong>, often followed by an immediate peel-chain sweep, with no associated approval transactions, no interaction with any contract the victim had used before, and no connection between the victim and the receiving address beyond this single transfer. That &quot;clean single hop into a fresh address&quot; pattern — combined with a victim who insists the address was copied from a legitimate source — is the classic post-hoc signature. From there, the tracing playbook is the standard one covered in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how to track stolen crypto</a>: cluster the receiving address, follow the sweep, identify the exit point, and report to the exchange compliance team while funds are still visible.</p><p>The receiving addresses used by clipboard operations are worth flagging in risk databases for exactly this reason — they are the operation&apos;s reusable infrastructure, and unlike one-shot drainer contracts, they often serve many victims.</p><h2 level="2" textAlign="left" id="h-limitations">Limitations</h2><p>No defense habit helps if the wallet software itself is trojanized — a fake wallet app can display the right address while signing a different transaction, which is a supply-chain problem rather than a clipboard problem. And verification habits depend on the human executing them every single time; attackers need one lapse, defenders need all of them. That asymmetry is the honest reason this attack class, first documented in 2018, still earns money in 2026.</p><h2 level="2" textAlign="left" id="h-related-reading">Related reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">Address poisoning attacks explained</a> — the no-malware version of the same attack moment</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/">How to audit your wallet activity</a> — catching an unknown transfer before it compounds</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/signature-scam-explained/">Signature scam explained</a> — the drainer-side attack on approvals</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">How to track stolen crypto</a> — the tracing playbook after the fact</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-dusting-attacks-explained/">Crypto dusting attacks explained</a> — dust as both surveillance and poisoning fuel</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/clipboard-hijacking-malware-explained/"><em>https://theonchaindiary.com/articles/clipboard-hijacking-malware-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
        </item>
        <item>
            <title><![CDATA[Unsolicited Airdrop Tokens in Your Wallet: The Claim Trap Explained]]></title>
            <link>https://paragraph.com/@onchaindiary/unsolicited-airdrop-tokens</link>
            <guid>ge4C5fNCcTESCOZfq0Ym</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:57 GMT</pubDate>
            <description><![CDATA[A token appears in your wallet. You did not buy it, claim it, or sign up for anything. The name is exciting — something like "REWARD-CLAIM" or a plausible governance token — and the balance looks meaningful. Nothing about this is a gift. Unsolicited airdrops are one of the highest-volume attack surfaces in crypto precisely because receiving an asset feels different from clicking a link. This guide covers the variants (bait tokens, bait NFTs, the import scam, dusting), what interaction actuall...]]></description>
            <content:encoded><![CDATA[<p>A token appears in your wallet. You did not buy it, claim it, or sign up for anything. The name is exciting — something like &quot;REWARD-CLAIM&quot; or a plausible governance token — and the balance looks meaningful.</p><p>Nothing about this is a gift.</p><p>Unsolicited airdrops are one of the highest-volume attack surfaces in crypto precisely because receiving an asset <em>feels</em> different from clicking a link. This guide covers the variants (bait tokens, bait NFTs, the import scam, dusting), what interaction actually costs you, and the only correct response. It is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a>; for the drainer mechanics behind the claim pages, read <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/biggest-airdrop-scams-anatomy/">how the biggest airdrop scams work</a>.</p><h2 id="h-why-the-trick-works-receiving-feels-like-proof" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why the trick works: receiving feels like proof</h2><p>The exploit is psychological inversion. When you go looking for an airdrop, some skepticism is active — you chose to visit the site. When the airdrop comes to you, the situation feels inverted: <em>they</em> found <em>me</em>, which feels like eligibility.</p><p>But sending tokens to addresses is nearly free and completely permissionless. An attacker who has your address — harvested from a previous transaction, a leaked database, or generated in bulk — can spam millions of wallets for the cost of gas on a cheap chain. Scam Sniffer documented a single wave of roughly <strong>1,354 malicious NFTs</strong> on Polygon impersonating legitimate airdrops that stole about <strong>$1.25 million</strong> — the send cost almost nothing, the yield was enormous.</p><p>Your address is public by design. Anything can be sent to it. Receiving is not consent, and it is not evidence of anything except that your address exists.</p><h2 id="h-the-four-payloads-hiding-in-a-spam-airdrop" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The four payloads hiding in a spam airdrop</h2><p><strong>1. The claim link.</strong> The most common form: the token or NFT name, symbol, or metadata contains a URL — &quot;claim your rewards at [domain]&quot; or &quot;visit to activate.&quot; The site behind it is a standard drainer page: connect wallet, &quot;verify eligibility,&quot; sign an approval or permit. The signature mechanics are covered in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">airdrop signature scams</a>; the short version is you grant spending rights and never see the transfer that empties you.</p><p><strong>2. The import-token scam.</strong> The token&apos;s description tells you it will not display in your wallet until you &quot;import&quot; it at a linked site. The import page eventually asks for your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/seed-phrase/">seed phrase</a> or private key &quot;to sync the token.&quot; There is no legitimate version of this — no token import in any wallet requires your recovery phrase. This variant harvests wallets wholesale rather than draining them transaction by transaction.</p><p><strong>3. Dusting and de-anonymization.</strong> In its <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dusting-attack/">dusting attack</a> form, the tiny unsolicited transfer is not bait for a click — it is a tracer. If you later move that dust (or consolidate accounts), the attacker can cluster your addresses and build a profile of your holdings for targeted phishing. We cover the mechanics in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-dusting-attacks-explained/">crypto dusting attacks explained</a>.</p><p><strong>4. Address poisoning setup.</strong> Some unsolicited transfers exist to pollute your transaction history with lookalike addresses, so a future copy-paste of a &quot;recent counterparty&quot; goes to the attacker. The details are in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning attacks explained</a>.</p><h2 id="h-what-interaction-costs-you" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What interaction costs you</h2><p>Every response to a spam airdrop leaks something, in ascending order of damage:</p><ul><li><p><strong>Claiming.</strong> Signature-based drain — potentially every asset the connected wallet holds under approval.</p></li><li><p><strong>Importing.</strong> Total wallet surrender if a seed phrase is typed anywhere.</p></li><li><p><strong>Sending it back or burning.</strong> Confirms a live, human-operated address — raising your value in targeted attack lists — and can seed poisoning patterns.</p></li><li><p><strong>Even browsing the linked site.</strong> Confirms a clickable target and exposes you to clipboard-hijacking style tricks; see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/clipboard-hijacking/">clipboard hijacking</a> for how copied addresses get swapped mid-paste.</p></li></ul><p>The asymmetry is the point: every action pays the attacker, and inaction pays nobody.</p><h2 id="h-the-correct-response-nothing" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The correct response: nothing</h2><ol><li><p><strong>Do not click anything embedded in the token&apos;s name or metadata.</strong> The URL is the payload.</p></li><li><p><strong>Do not import, sync, or &quot;activate&quot; the token.</strong> No real token needs this.</p></li><li><p><strong>Do not sign anything to &quot;claim&quot; it.</strong> If you are curious whether an airdrop could be real, verify independently: find the project&apos;s official claim documentation from its own site and GitHub, then run the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-scam-checker/">on-chain verification workflow</a> — contract age, deployer history, holder distribution.</p></li><li><p><strong>Read the transfer as data, not mail.</strong> If you want to know who sent it, look at the sender and token contract on a block explorer — reading is free. Learn the habit in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-read-a-blockchain-explorer/">how to read a blockchain explorer</a>.</p></li><li><p><strong>Hide the asset if you want.</strong> Most wallets let you hide spam tokens. Hiding changes nothing on-chain; it just removes the noise.</p></li></ol><h2 id="h-special-case-the-nft-you-cannot-sell" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Special case: the NFT you cannot sell</h2><p>Bait NFTs often show a floor-price-looking value in aggregator sites — unsellable, because no marketplace liquidity exists. Listing it is usually harmless in itself but marks the address active, and some &quot;listing&quot; flows on fake marketplaces are themselves signature traps. If an NFT arrived uninvited and something urges you to act on it, that urgency is the tell.</p><h2 id="h-one-habit-that-covers-all-of-it" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">One habit that covers all of it</h2><p>Treat every asset you did not consciously acquire as <strong>untrusted input</strong> — the same way you treat a DM from a stranger. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/fake-token/">fake token</a> glossary entry covers the token-side mechanics, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">how to verify a token before buying</a> the diligence side. For the complete pre-claim checklist, see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-safety-checklist/">the airdrop safety checklist</a>.</p><p>Unwanted airdrops will not stop — sending is permissionless. The defense is a flat, boring policy: it appeared, therefore I ignore it. No exceptions for large balances, official-looking names, or limited-time language. That policy costs you nothing and breaks every variant above.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/unsolicited-airdrop-tokens/"><em>https://theonchaindiary.com/articles/unsolicited-airdrop-tokens/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ffbc69fc86541bd9986dee4afa3d0412bc86cf04ee3c5867b7a66df8531eb577.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Token Taxes Explained: How Buy/Sell Fees Work and When They Become a Trap]]></title>
            <link>https://paragraph.com/@onchaindiary/token-taxes-explained</link>
            <guid>9tIZOOrGIIxn14iQsjPm</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:43 GMT</pubDate>
            <description><![CDATA[You buy a token on Uniswap. The UI says you received 10,000 tokens. A few hours later, the price has gone up 30%. You try to sell. The transaction confirms, but your wallet receives almost nothing — a 50% "sell tax" silently ate half your output. Or worse: the sell transaction reverts entirely, because the contract owner set the sell tax to 100%, effectively turning the token into a honeypot. Token taxes — also called transaction fees, buy taxes, or sell taxes — are programmable fees built in...]]></description>
            <content:encoded><![CDATA[<p>You buy a token on Uniswap. The UI says you received 10,000 tokens. A few hours later, the price has gone up 30%. You try to sell. The transaction confirms, but your wallet receives almost nothing — a 50% &quot;sell tax&quot; silently ate half your output. Or worse: the sell transaction reverts entirely, because the contract owner set the sell tax to 100%, effectively turning the token into a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypot</a>.</p><p>Token taxes — also called transaction fees, buy taxes, or sell taxes — are programmable fees built into a token&apos;s smart contract. They are neither inherently good nor inherently evil. Legitimate projects use them to fund development, distribute rewards, or create deflationary pressure. Scammers use the exact same mechanism to trap funds, extract value, and execute <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pulls</a>. The difference is entirely in the implementation details.</p><p>This guide explains how token taxes work at the contract level, what separates legitimate tax mechanics from predatory ones, and how to verify tax rates before you ever connect your wallet.</p><blockquote><p><strong>BLUF:</strong> Token taxes are programmable fees on buys and sells, coded into the token contract. Safe tax rates are typically 1–10%, transparent, and hard-capped in the contract code. Dangerous patterns include taxes above 25%, variable rates the owner can change at will, asymmetric buy/sell taxes (low buy, high sell), and any tax the owner can set to 100% — which creates a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypot</a>. Always check the contract source code on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a> for the tax function and the maximum rate before buying. Use honeypot detection tools like Honeypot.is or Token Sniffer to simulate the buy and sell in a sandbox.</p></blockquote><h2 id="h-how-token-taxes-work-at-the-contract-level" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How Token Taxes Work at the Contract Level</h2><p>A standard <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/erc-20/">ERC-20</a> token has a simple transfer function: move tokens from address A to address B, update balances, emit an event. No fees, no conditions.</p><p>A token with taxes modifies this flow. When a transfer happens — specifically when tokens move to or from a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dex/">DEX</a> liquidity pool — the contract intercepts the transfer, calculates a percentage-based fee, and redirects that fee somewhere other than the recipient.</p><h3 id="h-the-modified-transfer-flow" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The Modified Transfer Flow</h3><p>Here is what happens during a taxed buy on Uniswap:</p><pre data-type="codeBlock" text="1. User calls Uniswap swap function
2. DEX pool sends tokens to user&apos;s wallet
3. Token contract intercepts the transfer
4. Contract checks: is the sender a DEX pool?
5. If yes → apply buy tax (e.g., 5%)
6. Deduct 5% of the transfer amount
7. Send 95% to the user, 5% to the fee wallet (or burn it)
"><code><span class="hljs-bullet">1.</span> User calls Uniswap swap function
<span class="hljs-bullet">2.</span> DEX pool sends tokens to user's wallet
<span class="hljs-bullet">3.</span> Token contract intercepts the transfer
<span class="hljs-bullet">4.</span> Contract checks: is the sender a DEX pool?
<span class="hljs-bullet">5.</span> If yes → apply buy tax (e.g., 5%)
<span class="hljs-bullet">6.</span> Deduct 5% of the transfer amount
<span class="hljs-bullet">7.</span> Send 95% to the user, 5% to the fee wallet (or burn it)
</code></pre><p>For sells, the flow is reversed:</p><pre data-type="codeBlock" text="1. User sends tokens to the DEX pool
2. Token contract intercepts the transfer
3. Contract checks: is the recipient a DEX pool?
4. If yes → apply sell tax (e.g., 10%)
5. Deduct 10% of the transfer amount
6. Send 90% to the DEX pool, 10% to the fee wallet
"><code><span class="hljs-bullet">1.</span> User sends tokens to the DEX pool
<span class="hljs-bullet">2.</span> Token contract intercepts the transfer
<span class="hljs-bullet">3.</span> Contract checks: is the recipient a DEX pool?
<span class="hljs-bullet">4.</span> If yes → apply sell tax (e.g., 10%)
<span class="hljs-bullet">5.</span> Deduct 10% of the transfer amount
<span class="hljs-bullet">6.</span> Send 90% to the DEX pool, 10% to the fee wallet
</code></pre><p>The critical word is &quot;intercepts.&quot; The token contract&apos;s <code>_transfer</code> function has been modified to add conditional logic. This is the same mechanism that <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypots</a> use — the only difference is whether the condition results in &quot;take a fee&quot; or &quot;block the transaction entirely.&quot;</p><h3 id="h-where-the-tax-tokens-go" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Where the Tax Tokens Go</h3><p>Taxed tokens are redirected to one of several destinations:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Destination</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Project treasury</strong> (multi-sig or team wallet)</p></td><td colspan="1" rowspan="1"><p>Funds development, marketing, operations</p></td><td colspan="1" rowspan="1"><p>Low if multi-sig and transparent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Burn address</strong> (0x000...dEaD)</p></td><td colspan="1" rowspan="1"><p>Permanently removed from supply — deflationary</p></td><td colspan="1" rowspan="1"><p>Low</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Liquidity pool</strong> (auto-LP)</p></td><td colspan="1" rowspan="1"><p>Added back to the DEX pool to deepen liquidity</p></td><td colspan="1" rowspan="1"><p>Low if automated</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Holder redistribution</strong></p></td><td colspan="1" rowspan="1"><p>Distributed proportionally to all token holders</p></td><td colspan="1" rowspan="1"><p>Low if implemented correctly</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Single EOA controlled by owner</strong></p></td><td colspan="1" rowspan="1"><p>Goes to an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/eoa/">externally owned account</a> the owner controls</p></td><td colspan="1" rowspan="1"><p>High — effectively a direct drain</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Nowhere</strong> (tax collected but held in contract)</p></td><td colspan="1" rowspan="1"><p>Owner can claim at any time</p></td><td colspan="1" rowspan="1"><p>Medium</p></td></tr></tbody></table><p>The destination matters as much as the rate. A 5% tax to a transparent <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/multi-sig-wallet/">multi-sig wallet</a> is reasonable. A 5% tax to a single anonymous EOA is just a slower <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pull</a>.</p><h2 id="h-legitimate-uses-of-token-taxes" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Legitimate Uses of Token Taxes</h2><p>Not all token taxes are scams. Well-known projects have used them effectively:</p><p><strong>Automated liquidity provisioning.</strong> Tokens like SafeMoon popularized the &quot;auto-LP&quot; tax: a small percentage of each transaction is used to add liquidity to the DEX pool automatically. This gradually increases price stability and reduces slippage. The mechanism is legitimate when the LP tokens are locked and the rate is modest (1–3%).</p><p><strong>Deflationary mechanics.</strong> Some tokens burn a percentage of each transaction, reducing total supply over time. This is transparent and verifiable on-chain — you can watch the burn address balance increase with every transaction. See <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/deflationary-token/">deflationary token</a> for how this works.</p><p><strong>Reflection rewards.</strong> Holder-reward tokens distribute transaction fees proportionally to all holders. This creates a passive income stream without requiring users to stake. The implementation is complex and has been the source of bugs, but the concept is valid.</p><p><strong>Ecosystem funding.</strong> Gaming tokens, DeFi protocol tokens, and community coins often charge 1–5% to fund development grants, marketing, or ecosystem growth. This is functionally similar to a management fee in traditional finance.</p><h3 id="h-what-makes-a-tax-legitimate" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">What Makes a Tax Legitimate</h3><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Factor</p></th><th colspan="1" rowspan="1"><p>Legitimate</p></th><th colspan="1" rowspan="1"><p>Suspicious</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Rate</strong></p></td><td colspan="1" rowspan="1"><p>1–10%, fixed in code</p></td><td colspan="1" rowspan="1"><p>15%+, or variable and owner-controlled</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Cap</strong></p></td><td colspan="1" rowspan="1"><p>Hard-coded maximum (e.g., <code>require(tax &lt;= 10)</code>)</p></td><td colspan="1" rowspan="1"><p>No upper bound — owner can set any rate</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Destination</strong></p></td><td colspan="1" rowspan="1"><p>Multi-sig, burn, auto-LP</p></td><td colspan="1" rowspan="1"><p>Single EOA, owner&apos;s wallet</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Symmetry</strong></p></td><td colspan="1" rowspan="1"><p>Buy tax equals or close to sell tax</p></td><td colspan="1" rowspan="1"><p>Sell tax massively higher than buy tax</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Transparency</strong></p></td><td colspan="1" rowspan="1"><p>Documented in whitepaper and docs</p></td><td colspan="1" rowspan="1"><p>Undisclosed, discovered only by code reading</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Renounced/Time-locked</strong></p></td><td colspan="1" rowspan="1"><p>Ownership renounced or admin functions time-locked</p></td><td colspan="1" rowspan="1"><p>Owner retains full control with no lock</p></td></tr></tbody></table><h2 id="h-how-scammers-weaponize-token-taxes" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How Scammers Weaponize Token Taxes</h2><p>Token taxes become weapons when the contract owner can change the rate at will. Here are the patterns seen repeatedly in exit scams.</p><h3 id="h-pattern-1-the-bait-and-switch" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pattern 1: The Bait-and-Switch</h3><p>The token launches with a 2% buy tax and 2% sell tax. Users buy confidently. Trading volume increases. The community grows. Then, weeks later, the owner calls <code>setSellTax(100)</code> — every sell transaction now sends 100% of the tokens to the fee address. No one can exit. The owner then removes liquidity.</p><p><strong>How to detect:</strong> Check if the contract has a <code>setFee()</code>, <code>setTax()</code>, <code>setSellTax()</code>, or similar function. If that function exists and has no upper-bound check, the owner can rug at any time.</p><pre data-type="codeBlock" text="// DANGEROUS — owner can set any tax rate
function setSellTax(uint256 newTax) external onlyOwner {
    sellTax = newTax; // No require(newTax &lt;= MAX_TAX)
}
"><code><span class="hljs-comment">// DANGEROUS — owner can set any tax rate</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setSellTax</span>(<span class="hljs-params"><span class="hljs-keyword">uint256</span> newTax</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title">onlyOwner</span> </span>{
    sellTax <span class="hljs-operator">=</span> newTax; <span class="hljs-comment">// No require(newTax &#x3C;= MAX_TAX)</span>
}
</code></pre><pre data-type="codeBlock" text="// SAFER — tax is capped
uint256 public constant MAX_TAX = 10; // 10% hard cap
function setSellTax(uint256 newTax) external onlyOwner {
    require(newTax &lt;= MAX_TAX, &quot;Tax exceeds maximum&quot;);
    sellTax = newTax;
}
"><code><span class="hljs-comment">// SAFER — tax is capped</span>
<span class="hljs-keyword">uint256</span> <span class="hljs-keyword">public</span> <span class="hljs-keyword">constant</span> MAX_TAX <span class="hljs-operator">=</span> <span class="hljs-number">10</span>; <span class="hljs-comment">// 10% hard cap</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">setSellTax</span>(<span class="hljs-params"><span class="hljs-keyword">uint256</span> newTax</span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title">onlyOwner</span> </span>{
    <span class="hljs-built_in">require</span>(newTax <span class="hljs-operator">&#x3C;</span><span class="hljs-operator">=</span> MAX_TAX, <span class="hljs-string">"Tax exceeds maximum"</span>);
    sellTax <span class="hljs-operator">=</span> newTax;
}
</code></pre><p>Even the &quot;safer&quot; version is not risk-free — the owner can still change the rate up to 10% without notice. The safest version renounces ownership entirely or time-locks the admin key.</p><h3 id="h-pattern-2-asymmetric-taxes" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pattern 2: Asymmetric Taxes</h3><p>Buy tax: 1%. Sell tax: 50%. This creates a trap where entering is cheap but exiting is devastating. Users buy, the price pumps (because demand is uninhibited), and early sellers lose half their tokens to the fee. Late sellers discover the sell tax has increased further — the owner raises it as the pool fills up.</p><p><strong>Red flag:</strong> Any token where the sell tax is more than 3x the buy tax. Legitimate projects rarely need dramatically higher sell taxes unless they are explicitly anti-speculation (even then, 10–15% is the upper bound of reasonableness).</p><h3 id="h-pattern-3-hidden-tax-via-slippage" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pattern 3: Hidden Tax via Slippage</h3><p>Some contracts do not expose tax settings as obvious function names. Instead, they manipulate the <code>_transfer</code> function to deduct tokens silently based on internal logic that is hard to audit — dynamic taxes based on time of day, wallet size, or arbitrary conditions.</p><p><strong>How to detect:</strong> This is where honeypot detection tools become essential. Reading the source code may not be enough if the logic is obfuscated with complex conditionals. Always run a honeypot simulation.</p><h3 id="h-pattern-4-tax-to-an-unlabeled-wallet" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Pattern 4: Tax to an Unlabeled Wallet</h3><p>Even a seemingly reasonable 5% tax becomes a scam when the 5% flows to a wallet the owner controls and can drain at any time. The tax is not funding development — it is a slow extraction.</p><p><strong>How to detect:</strong> Check the fee recipient address on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a>. If it is an unlabeled <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/eoa/">EOA</a> with regular withdrawals to an exchange, it is a personal drain, not a treasury.</p><h2 id="h-how-to-check-token-tax-rates-before-buying" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Check Token Tax Rates Before Buying</h2><p>Never rely on the project&apos;s website or social media for tax information. They can claim &quot;5% tax&quot; while the contract allows the owner to change it to 50%. Always verify on-chain.</p><h3 id="h-method-1-read-the-contract-source-code" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Method 1: Read the Contract Source Code</h3><ol><li><p>Find the token contract address on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a> (Etherscan, BscScan, Polygonscan)</p></li><li><p>Go to the <strong>Contract</strong> tab and confirm source code is verified</p></li><li><p>Search the code for: <code>_fee</code>, <code>_tax</code>, <code>_feeNum</code>, <code>buyFee</code>, <code>sellFee</code>, <code>taxFee</code>, <code>setFee</code>, <code>setTax</code>, <code>SWITCH</code>, <code>tradingEnabled</code></p></li><li><p>Check for a <code>MAX_FEE</code> or <code>MAX_TAX</code> constant — if it exists, that is the ceiling</p></li><li><p>Check the <code>_transfer</code> function for conditional fee logic</p></li></ol><p>If you want a deeper guide to reading contract source code, see our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/erc20-token-security-check/">ERC-20 token security check guide</a>, which walks through every function an auditor examines.</p><h3 id="h-method-2-use-honeypot-detection-tools" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Method 2: Use Honeypot Detection Tools</h3><p>These tools simulate a buy and sell transaction in a sandbox, showing you the actual tax rates applied:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Tool</p></th><th colspan="1" rowspan="1"><p>URL</p></th><th colspan="1" rowspan="1"><p>What It Shows</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Honeypot.is</strong></p></td><td colspan="1" rowspan="1"><p>honeypot.is</p></td><td colspan="1" rowspan="1"><p>Simulated buy/sell tax, transfer status, swap simulation</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Token Sniffer</strong></p></td><td colspan="1" rowspan="1"><p>tokensniffer.com</p></td><td colspan="1" rowspan="1"><p>Automated contract analysis, tax detection, trust score</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>DexScreener</strong></p></td><td colspan="1" rowspan="1"><p>dexscreener.com</p></td><td colspan="1" rowspan="1"><p>Token page shows buy/sell tax and warns if taxes are high</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>GoPlus Security</strong></p></td><td colspan="1" rowspan="1"><p>gopluslabs.com</p></td><td colspan="1" rowspan="1"><p>API-based security data including buy/sell tax rates</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>RugCheck</strong></p></td><td colspan="1" rowspan="1"><p>rugcheck.xyz</p></td><td colspan="1" rowspan="1"><p>Tax analysis, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/minting/">mint</a> authority, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-pool/">liquidity</a> status</p></td></tr></tbody></table><p>Run at least two of these tools. If they disagree, the contract may have dynamic tax logic that changes based on conditions. Treat disagreement as a red flag.</p><h3 id="h-method-3-check-transaction-history" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Method 3: Check Transaction History</h3><p>On the block explorer, look at recent sell transactions for the token:</p><ol><li><p>Find a recent sell transaction on the DEX</p></li><li><p>Check the input token amount vs. the output amount</p></li><li><p>Calculate the effective tax rate: <code>1 - (actual_output / expected_output)</code></p></li><li><p>If sells are failing (status = reverted), the token may have a 100% sell tax or is a full <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypot</a></p></li></ol><h3 id="h-method-4-test-with-a-small-amount" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Method 4: Test with a Small Amount</h3><p>If you must buy, test with the minimum tradeable amount first. Buy a small quantity, then immediately try to sell. Compare the received amounts to what the DEX UI predicted. This is the most reliable test, but it costs gas and you may still lose the test amount if the token is a scam.</p><h2 id="h-tax-related-smart-contract-patterns-to-avoid" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Tax-Related Smart Contract Patterns to Avoid</h2><p>These patterns in the source code are strong indicators that the token tax is weaponized:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Pattern</p></th><th colspan="1" rowspan="1"><p>Code Signal</p></th><th colspan="1" rowspan="1"><p>Why It Is Dangerous</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Uncapped setter</strong></p></td><td colspan="1" rowspan="1"><p><code>setFee(uint256)</code> with no upper bound check</p></td><td colspan="1" rowspan="1"><p>Owner can set 100% tax at any time</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Per-address tax</strong></p></td><td colspan="1" rowspan="1"><p><code>_taxRates[address]</code> mapping</p></td><td colspan="1" rowspan="1"><p>Owner can set 100% tax for specific addresses (whistleblowers, large holders)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Time-based tax</strong></p></td><td colspan="1" rowspan="1"><p>Tax rate changes based on <code>block.timestamp</code></p></td><td colspan="1" rowspan="1"><p>May start low and increase on a schedule</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Volume-based tax</strong></p></td><td colspan="1" rowspan="1"><p>Tax increases as volume rises</p></td><td colspan="1" rowspan="1"><p>Traps late sellers who entered during high volume</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Trading toggle</strong></p></td><td colspan="1" rowspan="1"><p><code>tradingEnabled</code> bool</p></td><td colspan="1" rowspan="1"><p>Owner can pause all trading, trapping holders</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Blacklist + high tax</strong></p></td><td colspan="1" rowspan="1"><p><code>setBlacklist(addr)</code> + <code>setSellTax(n)</code></p></td><td colspan="1" rowspan="1"><p>Owner can blacklist sellers or set prohibitive tax selectively</p></td></tr></tbody></table><h2 id="h-real-world-example-the-anatomy-of-a-tax-scam" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Real-World Example: The Anatomy of a Tax Scam</h2><p>A common pattern on BNB Chain in 2023–2024:</p><ol><li><p>Developer creates a token with a 5% buy tax and 5% sell tax, fee goes to a &quot;marketing wallet&quot;</p></li><li><p>Token is promoted heavily on Telegram and Twitter</p></li><li><p>Early buyers profit, the price pumps 10–50x</p></li><li><p>Developer waits until the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-pool/">liquidity pool</a> reaches $200K–$500K</p></li><li><p>Developer calls <code>setSellTax(99)</code> — sell tax jumps to 99%</p></li><li><p>Panic selling begins, but every sell sends 99% to the developer&apos;s wallet</p></li><li><p>Developer drains the accumulated tax tokens, removes liquidity, disappears</p></li></ol><p>This entire sequence is visible on-chain. The <code>setSellTax</code> transaction is public. The tax wallet&apos;s outgoing transactions are public. But most victims never check until it is too late. This is why checking the contract&apos;s admin functions before buying — not after — is critical.</p><p>For a broader guide on verifying tokens, see our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">complete token verification checklist</a>.</p><h2 id="h-token-taxes-vs-other-fee-mechanisms" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Token Taxes vs. Other Fee Mechanisms</h2><p>Token taxes are sometimes confused with other types of crypto fees:</p><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Fee Type</p></th><th colspan="1" rowspan="1"><p>Where It Applies</p></th><th colspan="1" rowspan="1"><p>Who Sets It</p></th><th colspan="1" rowspan="1"><p>Can It Be Changed?</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Token tax</strong></p></td><td colspan="1" rowspan="1"><p>Inside the token contract</p></td><td colspan="1" rowspan="1"><p>Token developer</p></td><td colspan="1" rowspan="1"><p>Yes, if owner has control</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>DEX swap fee</strong></p></td><td colspan="1" rowspan="1"><p>Inside the DEX pool contract</p></td><td colspan="1" rowspan="1"><p>DEX protocol (e.g., Uniswap 0.3%)</p></td><td colspan="1" rowspan="1"><p>No (encoded in pool at creation)</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/slippage/"><strong>Slippage</strong></a><strong> tolerance</strong></p></td><td colspan="1" rowspan="1"><p>User&apos;s wallet settings</p></td><td colspan="1" rowspan="1"><p>The user</p></td><td colspan="1" rowspan="1"><p>Yes (user adjusts per trade)</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/gas-fee/"><strong>Gas fee</strong></a></p></td><td colspan="1" rowspan="1"><p>Network layer (Ethereum, BSC)</p></td><td colspan="1" rowspan="1"><p>Network validators</p></td><td colspan="1" rowspan="1"><p>No (market-driven)</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Bridge fee</strong></p></td><td colspan="1" rowspan="1"><p>Cross-chain bridge protocol</p></td><td colspan="1" rowspan="1"><p>Bridge operator</p></td><td colspan="1" rowspan="1"><p>Varies by bridge</p></td></tr></tbody></table><p>Token taxes are unique because they are controlled by the token developer — not the DEX, not the network, and not the user. This is why they require the most scrutiny.</p><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><p><strong>Q: What is a safe token tax rate?</strong></p><p>A: Generally, 1–10% total (buy + sell combined) is considered reasonable for legitimate projects. Anything above 15% requires strong justification. Above 25% is almost always predatory. A hard cap in the contract code (e.g., <code>MAX_TAX = 10</code>) is an important safety signal.</p><p><strong>Q: Can the owner change the tax after I buy?</strong></p><p>A: Only if the contract has a setter function (like <code>setSellTax</code>) and ownership has not been renounced. Always check. If ownership is renounced (the owner address is set to the burn address), the tax rate is permanent.</p><p><strong>Q: How is token tax different from a honeypot?</strong></p><p>A: A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/honeypot/">honeypot</a> blocks selling entirely. A token tax reduces the amount you receive but still allows selling. However, a 99% sell tax is functionally identical to a honeypot — you can &quot;sell&quot; but receive almost nothing.</p><p><strong>Q: Are token taxes visible on DEX interfaces like Uniswap?</strong></p><p>A: Partially. Uniswap&apos;s interface shows the price impact of your trade, which includes tax, but does not break it out separately. Tools like DexScreener and Poocoin display tax rates explicitly. Always cross-reference with on-chain data.</p><p><strong>Q: Can I avoid token taxes?</strong></p><p>A: No. The tax is enforced by the smart contract code. If the contract applies a 10% sell tax, every sell transaction pays it. There is no workaround without exploiting a vulnerability in the contract — which would be a separate security issue.</p><p><strong>Q: Do token taxes exist on all blockchains?</strong></p><p>A: Token taxes are most common on EVM chains (Ethereum, BNB Chain, Polygon, Arbitrum, Base) where ERC-20-compatible contracts allow custom transfer logic. They are rare on Solana, where the SPL token standard does not natively support custom transfer fees in the same way. For chain-specific safety, see our guides for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/base-chain-token-safety/">Base</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/solana-token-safety/">Solana</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/arbitrum-token-safety/">Arbitrum</a>.</p><h2 id="h-summary-checklist" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Summary Checklist</h2><p>Before buying any token with a transaction tax, verify these items:</p><ul><li><p>Source code is verified on a block explorer</p></li><li><p>Buy tax and sell tax rates are identified in the code</p></li><li><p>Tax rate has a hard-coded maximum (<code>MAX_TAX</code> or equivalent)</p></li><li><p>Buy and sell taxes are symmetric (or close)</p></li><li><p>Fee recipient is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/multi-sig-wallet/">multi-sig wallet</a> or burn address, not a single EOA</p></li><li><p>Contract ownership is renounced or admin functions are time-locked</p></li><li><p>No blacklist, trading-pause, or per-address tax functions</p></li><li><p>Honeypot simulation (Honeypot.is or Token Sniffer) passes</p></li><li><p>Recent sell transactions succeed on-chain with reasonable effective rates</p></li></ul><p>If any item fails, treat the token as high risk. If three or more items fail, do not buy.</p><hr><p><em>Token taxes are a tool. Used responsibly, they fund legitimate projects. Weaponized, they are one of the most common mechanisms for extracting value from unsuspecting buyers. The contract source code does not lie — verify before you buy. For more on protecting yourself against malicious contracts, see our guides on </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/spotting-rug-pulls-and-honeypots/"><em>spotting rug pulls and honeypots</em></a><em> and </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/"><em>preventing wallet drainers</em></a><em>.</em></p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/token-taxes-explained/"><em>https://theonchaindiary.com/articles/token-taxes-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/79b6bc4cbe19d77a0dfc75cce06460c6b4cd17b4515688c5d4b47f063d59ffe2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Testnet Airdrop Safety: How to Farm Testnets Without Getting Drained]]></title>
            <link>https://paragraph.com/@onchaindiary/testnet-airdrop-safety</link>
            <guid>SwHvfZlWwpRuaio4PLZe</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:28 GMT</pubDate>
            <description><![CDATA[Every testnet season follows the same script. A project announces an incentivized testnet, Twitter fills with farming guides, and thousands of users start connecting wallets to unfamiliar dashboards daily — checking tasks, claiming points, bridging fake tokens. Within a week, the drainer sites appear: lookalike domains, fake point checkers, "early claim" pages. The farming itself is not the problem. Testnet tokens are worthless by design, and a genuine testnet transaction can't touch your mai...]]></description>
            <content:encoded><![CDATA[<p>Every testnet season follows the same script. A project announces an incentivized testnet, Twitter fills with farming guides, and thousands of users start connecting wallets to unfamiliar dashboards daily — checking tasks, claiming points, bridging fake tokens. Within a week, the drainer sites appear: lookalike domains, fake point checkers, &quot;early claim&quot; pages.</p><p>The farming itself is not the problem. Testnet tokens are worthless by design, and a genuine testnet transaction can&apos;t touch your mainnet assets. The problem is that testnet seasons create the perfect hunting ground: a concentrated population of users who are <em>trained</em> to connect wallets to new sites and sign things repeatedly. This guide covers what actually goes wrong and the workflow that makes it stop mattering.</p><h2 id="h-what-testnet-scammers-actually-do" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What testnet scammers actually do</h2><p>Three attack patterns account for nearly everything:</p><p><strong>Seed phrase harvesting.</strong> The site presents itself as a faucet or eligibility checker and asks you to &quot;import&quot; or &quot;verify&quot; your wallet by entering the recovery phrase. Sometimes dressed up as a sync step or KYC. No legitimate service — faucet, testnet, airdrop checker, or otherwise — ever needs your seed phrase. There is no version of this that is real.</p><p><strong>Network bait-and-switch.</strong> You connect on what looks like a testnet dashboard, click claim, and the wallet prompt is actually a mainnet transaction — an unlimited approval or permit signature to a drainer contract. The tell is in the signing prompt itself: the network field, the contract address, and what&apos;s being approved. People click through because they&apos;ve signed twenty harmless testnet transactions that week and their guard is down. Muscle memory is the vulnerability.</p><p><strong>Fake task lists and point checkers.</strong> These harvest wallet connections and build a targeting list, then DM users personalized phishing links (&quot;you have unclaimed points, verify here&quot;). The checker itself may even work; the follow-up DM is the weapon.</p><h2 id="h-the-safe-testnet-workflow" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The safe testnet workflow</h2><p>Four habits, in order of leverage:</p><p><strong>1. Dedicated burner wallet.</strong> Create a fresh wallet used only for testnets and airdrop farming. It holds nothing on mainnet — or only the gas needed when a legitimate claim later requires a mainnet transaction. When a &quot;testnet&quot; site turns out to be a mainnet drainer, the attacker gets an empty wallet. Generate it from a separate seed phrase stored the same way as your main one.</p><p><strong>2. The seed phrase firewall.</strong> Your recovery phrase gets typed exactly two places: when you create the wallet, and when you restore it in a wallet app you chose. Any other prompt asking for it — faucet, checker, support agent, &quot;sync&quot; — is a scam by definition. This rule has no exceptions in eleven years of crypto.</p><p><strong>3. Read the signing prompt, every time.</strong> Before approving, check three fields: the network (does it say the testnet you expect?), the contract (does the address match the one in the project&apos;s official docs?), and the permission (is it a plain transfer, or an approval — and if an approval, what amount?). Unlimited approvals are the signature of drainers. Reject anything that doesn&apos;t check out, and treat &quot;verification messages&quot; that don&apos;t clearly state what they authorize as hostile.</p><p><strong>4. Verify domains from official sources only.</strong> The project&apos;s X account, GitHub, or docs — never a DM link, never a sponsored search result. Lookalike domains (extra letters, hyphens, wrong TLD) are the default drainer delivery mechanism. Bookmark the real dashboards after verifying once, then only use the bookmarks.</p><h2 id="h-on-chain-checks-before-any-claim" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">On-chain checks before any claim</h2><p>When a testnet season graduates to a real token claim, the game changes — now there are mainnet contracts involved. Before connecting anywhere:</p><p>Trace the claim contract. The official announcement links a contract address; open it on the chain&apos;s block explorer and check its age (deployed last week is a warning), verification status, and whether it holds the permissions drainers need. Check the deployer: a contract deployed by an account created two days before the announcement is not a project contract.</p><p>For token contracts, holder distribution tells most of the story — a legitimate distribution has many small holders; a scam concentrates supply in a few fresh wallets. Automated risk scanners (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://tokensniffer.com/">Token Sniffer</a>, GoPlus) compress these checks into a score if you don&apos;t want to do them manually.</p><p>Our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-spot-wallet-drainers/">wallet drainer identification guide</a> covers the approval patterns to recognize before signing, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/permit2-exploit-explained/">Permit2 exploits explained</a> breaks down the single-signature approval abuse that powers most modern drainer kits.</p><h2 id="h-if-something-went-wrong" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">If something went wrong</h2><p>Signed something suspicious on your burner wallet: let it go, rotate to a fresh burner, and revoke approvals on the old one for hygiene. Signed something on your main wallet: immediately revoke all token approvals via a revocation tool, move high-value assets to a fresh wallet, and check your transaction history for transfers you didn&apos;t make. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">post-incident guide</a> covers tracing next steps on-chain.</p><p>Testnet seasons will keep coming, and the scam infrastructure around them industrializes a little more each cycle. The farmers who last are not the most suspicious — they&apos;re the ones whose setup makes suspicion mostly unnecessary. An empty dedicated wallet turns almost every attack in this category into a non-event.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/testnet-airdrop-safety/"><em>https://theonchaindiary.com/articles/testnet-airdrop-safety/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/a6a34757d1d18a5250a8010882bc24aee85dbe92c5cdd29008a08f55fcc21c6e.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Solana Token Safety: How to Avoid Scams on Solana]]></title>
            <link>https://paragraph.com/@onchaindiary/solana-token-safety</link>
            <guid>1QHlyXX2bwE7KcxY2KG3</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:16 GMT</pubDate>
            <description><![CDATA[In January 2025, a token called "WIFDER" launched on Solana through pump.fun — a platform that lets anyone create a token for less than $1. Within six hours it reached a $2.3 million market cap, fueled by a wave of X posts, a Telegram group with 4,000 members, and a chart that looked like it was going parabolic. The token had a verified SPL token mint, a Raydium liquidity pool, and a DexScreener page with thousands of holders. What buyers did not check was the mint authority. The token's crea...]]></description>
            <content:encoded><![CDATA[<p>In January 2025, a token called &quot;WIFDER&quot; launched on Solana through pump.fun — a platform that lets anyone create a token for less than $1. Within six hours it reached a $2.3 million market cap, fueled by a wave of X posts, a Telegram group with 4,000 members, and a chart that looked like it was going parabolic. The token had a verified <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/tokenization/">SPL token</a> mint, a Raydium liquidity pool, and a DexScreener page with thousands of holders. What buyers did not check was the <strong>mint authority</strong>. The token&apos;s creator retained full minting rights — meaning they could print unlimited new tokens at any time. When the price peaked, the creator minted 50 billion additional tokens and dumped them into the Raydium pool, draining every dollar of liquidity before anyone could react. The entire process, from mint to drain, took under four seconds — one Solana <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/slot/">slot</a>.</p><p>This is not an Ethereum problem or a Base problem. It is a Solana problem, and Solana has unique characteristics that make these scams both more frequent and structurally different from EVM chain scams. If you apply Ethereum-based verification logic to Solana tokens, you will miss the most critical risk factors.</p><p>Solana processed over $300 billion in decentralized exchange volume in Q1 2025 — more than Ethereum and Base combined. That liquidity, combined with sub-cent transaction fees and a culture that treats memecoins as legitimate investment vehicles, has created the most active scam ecosystem in crypto. This guide covers the specific risks of buying tokens on Solana, the tools that actually work on this chain, and the exact verification steps you should run before connecting your wallet to any Solana token.</p><blockquote><p><strong>BLUF:</strong> Solana is <strong>not an EVM chain</strong> — the same contract verification steps you use on Ethereum do not apply. Before buying any Solana token, check five things: (1) <strong>Is the mint authority revoked?</strong> — if not, the creator can print unlimited tokens; (2) <strong>Is the freeze authority revoked?</strong> — if not, they can lock your wallet from selling; (3) <strong>Has the liquidity pool authority been burned?</strong> — if not, the team can drain the pool; (4) <strong>What is the holder distribution?</strong> — a few wallets holding the majority of supply is a dump waiting to happen; (5) <strong>Does RugCheck flag it as high-risk?</strong> — use <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rugcheck.xyz">RugCheck</a>, not Etherscan or Token Sniffer, which do not support Solana. Solana scams execute in under a second — do your research before buying, not after.</p></blockquote><h2 id="h-why-solana-has-unique-risk-characteristics" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why Solana Has Unique Risk Characteristics</h2><p>Solana is a high-performance <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/layer-1/">Layer 1</a> blockchain that processes over 2,000 transactions per second with sub-cent fees and 400-millisecond finality. These properties make it ideal for real-world applications — payments, decentralized exchanges, NFT marketplaces. They also make it the perfect environment for scams.</p><p><strong>Ultra-low fees.</strong> Creating a token on pump.fun costs approximately $0.02 in network fees. On Ethereum, deploying an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/erc-20/">ERC-20</a> contract costs $50–500. This 2,500x cost difference means a single scammer can launch hundreds of tokens per day, test which ones gain traction, and abandon the rest. pump.fun alone has been used to create over 5 million tokens since its launch — the vast majority are abandoned within 24 hours.</p><p><strong>Instant finality.</strong> Solana confirms transactions in approximately 400 milliseconds (one slot). On Ethereum, a transaction is not truly final for several minutes (12+ block confirmations). This means a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pull</a> on Solana is not just fast — it is instantaneous. By the time you see the draining transaction on Solscan, it is already final. There is no mempool to front-run, no pending transaction to cancel. The money is gone before your screen refreshes.</p><p><strong>Non-EVM architecture.</strong> Solana does not use the Ethereum Virtual Machine. It uses its own runtime (Sealevel) and its own token standard (SPL, or Solana Program Library). Smart contracts are called &quot;programs&quot; and are written in Rust, not Solidity. This means EVM tools like Etherscan, Token Sniffer, and GoPlus Security do not work on Solana. You cannot verify a Solana token the same way you verify an Ethereum token — the data structures, risk factors, and verification tools are entirely different.</p><p><strong>Memecoin culture.</strong> Solana has become the epicenter of memecoin trading. Platforms like pump.fun, Raydium, and Jupiter have made it trivially easy to create, list, and trade tokens with zero utility beyond speculation. This culture normalizes buying unverified tokens from anonymous creators — which is exactly the behavior scammers exploit. Many Solana users have been conditioned to accept risks that would be immediate red flags on any other chain.</p><p><strong>Phantom wallet ecosystem.</strong> Phantom is the dominant wallet on Solana, and its user experience is optimized for speed. Connecting to a dApp requires a single click. Signing a transaction requires a single tap. This frictionless design is great for legitimate use — but it is equally great for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> attacks, where a malicious site tricks you into signing a transaction that drains your wallet before you have time to read what you approved.</p><h2 id="h-solana-vs-evm-why-different-verification-is-needed" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Solana vs. EVM: Why Different Verification Is Needed</h2><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Risk Factor</p></th><th colspan="1" rowspan="1"><p>EVM Chains (Ethereum, Base, BNB)</p></th><th colspan="1" rowspan="1"><p>Solana</p></th></tr><tr><td colspan="1" rowspan="1"><p>Token standard</p></td><td colspan="1" rowspan="1"><p>ERC-20 (smart contract)</p></td><td colspan="1" rowspan="1"><p>SPL Token (program account)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Code verification</p></td><td colspan="1" rowspan="1"><p>Check source code on Etherscan</p></td><td colspan="1" rowspan="1"><p>Not applicable — tokens are program instances, not custom contracts</p></td></tr><tr><td colspan="1" rowspan="1"><p>Unlimited supply risk</p></td><td colspan="1" rowspan="1"><p>Hidden <code>mint()</code> function in contract</p></td><td colspan="1" rowspan="1"><p><strong>Mint authority</strong> — does the creator still hold it?</p></td></tr><tr><td colspan="1" rowspan="1"><p>Wallet freeze risk</p></td><td colspan="1" rowspan="1"><p>Rare (requires custom transfer hook)</p></td><td colspan="1" rowspan="1"><p><strong>Freeze authority</strong> — built into SPL standard</p></td></tr><tr><td colspan="1" rowspan="1"><p>Liquidity drain risk</p></td><td colspan="1" rowspan="1"><p>LP tokens in developer wallet</p></td><td colspan="1" rowspan="1"><p>LP pool authority not burned</p></td></tr><tr><td colspan="1" rowspan="1"><p>Explorer</p></td><td colspan="1" rowspan="1"><p>Etherscan / Basescan / BscScan</p></td><td colspan="1" rowspan="1"><p>Solscan / Solana Explorer</p></td></tr><tr><td colspan="1" rowspan="1"><p>Token scanner</p></td><td colspan="1" rowspan="1"><p>Token Sniffer / GoPlus</p></td><td colspan="1" rowspan="1"><p>RugCheck / DexScreener</p></td></tr><tr><td colspan="1" rowspan="1"><p>Rug pull speed</p></td><td colspan="1" rowspan="1"><p>2–12 seconds</p></td><td colspan="1" rowspan="1"><p>&lt;1 second</p></td></tr><tr><td colspan="1" rowspan="1"><p>Deployment cost for scammers</p></td><td colspan="1" rowspan="1"><p>$0.50–500</p></td><td colspan="1" rowspan="1"><p>&lt;$0.02</p></td></tr></tbody></table><p>The fundamental difference: on EVM chains, you audit the <strong>contract code</strong> for hidden functions. On Solana, the SPL token program code is always the same — the risk is not in the code but in the <strong>authorities</strong> attached to each token mint. You are not looking for hidden functions. You are looking for who retains control.</p><h2 id="h-step-by-step-how-to-verify-a-solana-token" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step-by-Step: How to Verify a Solana Token</h2><h3 id="h-step-1-get-the-token-mint-address" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 1: Get the Token Mint Address</h3><p>Every Solana token is identified by a <strong>mint address</strong> — a base58 string that looks like <code>So11111111111111111111111111111111111111112</code> (that is Wrapped SOL). You need this address to run any verification.</p><p>Find it from:</p><ul><li><p>DexScreener (dexscreener.com) — search by token name or ticker</p></li><li><p>Solscan (solscan.io) — search by name</p></li><li><p>The DEX where you found the token (Raydium, Jupiter, Orca)</p></li></ul><p>Copy the mint address exactly. Solana addresses are case-sensitive and one wrong character sends you to a completely different token — or to nothing at all.</p><h3 id="h-step-2-check-the-mint-authority" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 2: Check the Mint Authority</h3><p>This is the single most important check on Solana, and it has no direct equivalent on EVM chains.</p><p>The <strong>mint authority</strong> is an address that has the power to create new units of the token. If the mint authority is still active (not burned), the token creator can print unlimited new tokens at any time, diluting the supply to zero.</p><p>To check on Solscan:</p><ol><li><p>Search for the token mint address</p></li><li><p>Go to the token&apos;s main page</p></li><li><p>Look for &quot;Mint Authority&quot; in the token overview</p></li><li><p>Check whether it shows an address or shows &quot;Disabled&quot; / &quot;Burned&quot;</p></li></ol><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Mint Authority Status</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th></tr><tr><td colspan="1" rowspan="1"><p>Burned / Disabled</p></td><td colspan="1" rowspan="1"><p>Low</p></td><td colspan="1" rowspan="1"><p>No one can create new tokens — supply is fixed</p></td></tr><tr><td colspan="1" rowspan="1"><p>Active, held by deployer</p></td><td colspan="1" rowspan="1"><p><strong>Critical</strong></p></td><td colspan="1" rowspan="1"><p>Creator can print unlimited tokens and dump them</p></td></tr><tr><td colspan="1" rowspan="1"><p>Active, held by multisig</p></td><td colspan="1" rowspan="1"><p>Moderate</p></td><td colspan="1" rowspan="1"><p>Multiple signatures required, but supply is still mutable</p></td></tr><tr><td colspan="1" rowspan="1"><p>Active, held by vesting contract</p></td><td colspan="1" rowspan="1"><p>Moderate</p></td><td colspan="1" rowspan="1"><p>Programmatic minting — review the vesting schedule</p></td></tr></tbody></table><p>A token with an active mint authority is not automatically a scam — legitimate projects use mint authority for vesting schedules, staking rewards, or governance-controlled inflation. But for memecoins and community tokens, an active mint authority is the number one rug pull vector on Solana. If the creator can mint, they will eventually dump.</p><p><strong>How to verify mint authority is burned</strong>: On Solscan, the mint authority field should show &quot;None&quot; or a burn address. You can also use the Solana CLI or a tool like RugCheck, which checks this automatically.</p><h3 id="h-step-3-check-the-freeze-authority" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 3: Check the Freeze Authority</h3><p>The <strong>freeze authority</strong> is unique to Solana&apos;s SPL token standard. It allows a designated address to freeze individual token accounts — meaning the holder cannot send, sell, or transfer their tokens. The tokens are still in the wallet, but they are locked.</p><p>This is not a theoretical risk. In 2024, multiple Solana tokens used freeze authority to trap buyers: the token pumped, new buyers rushed in, and then the creator froze every wallet except their own. Buyers watched their tokens become untradeable while the creator sold from exempt wallets.</p><p>To check on Solscan:</p><ol><li><p>Look for &quot;Freeze Authority&quot; in the token overview</p></li><li><p>It should show &quot;Disabled&quot; or &quot;None&quot;</p></li></ol><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Freeze Authority Status</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th></tr><tr><td colspan="1" rowspan="1"><p>Burned / Disabled</p></td><td colspan="1" rowspan="1"><p>Low</p></td><td colspan="1" rowspan="1"><p>No one can freeze your token account</p></td></tr><tr><td colspan="1" rowspan="1"><p>Active, held by deployer</p></td><td colspan="1" rowspan="1"><p><strong>Critical</strong></p></td><td colspan="1" rowspan="1"><p>Creator can prevent you from selling</p></td></tr><tr><td colspan="1" rowspan="1"><p>Active, held by multisig</p></td><td colspan="1" rowspan="1"><p>Moderate</p></td><td colspan="1" rowspan="1"><p>Multiple signatures required, but still a risk</p></td></tr></tbody></table><p>Legitimate stablecoins (USDC, USDT) retain freeze authority for regulatory compliance — they can freeze addresses associated with sanctioned entities or court orders. For any other token type, an active freeze authority is a red flag. If a memecoin can freeze your wallet, it is not a memecoin — it is a trap.</p><h3 id="h-step-4-verify-the-liquidity-pool-authority" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 4: Verify the Liquidity Pool Authority</h3><p>On Solana, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-pool/">liquidity pools</a> work differently from EVM chains. On Raydium or Orca, liquidity is provided to an Automated Market Maker (AMM) pool controlled by a <strong>pool authority</strong>. If the pool authority is not burned or removed, the creator can withdraw all liquidity from the pool at any time.</p><p>This is the Solana equivalent of an unlocked <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-provider/">liquidity provider</a> token on Ethereum. The mechanics are different but the outcome is the same: the team drains the pool and the token becomes untradeable.</p><p>To check:</p><ol><li><p>Find the token&apos;s primary liquidity pool on DexScreener or Raydium</p></li><li><p>Copy the pool address</p></li><li><p>Check on Solscan whether the pool authority has been burned</p></li><li><p>Look for an &quot;Authority Burned&quot; indicator</p></li></ol><p>Alternatively, use RugCheck — it automatically checks LP burn status for the token&apos;s primary pools.</p><p><strong>LP lock on Solana</strong>: Unlike EVM chains where LP tokens can be locked in timelock contracts, Solana&apos;s standard practice is to <strong>burn</strong> the pool authority entirely. There is no widely used timelock mechanism for Solana LP tokens. If the authority is not burned, the pool is effectively unlocked. There is no partial protection — it is either burned or it is not.</p><h3 id="h-step-5-analyze-token-holder-distribution" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 5: Analyze Token Holder Distribution</h3><p>Go to the token&apos;s &quot;Holders&quot; tab on Solscan. The same distribution analysis that applies to EVM chains applies here, but Solana&apos;s low transaction costs make concentration patterns even more dangerous — a whale can dump in a single transaction that costs $0.001.</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Distribution Pattern</p></th><th colspan="1" rowspan="1"><p>Risk</p></th><th colspan="1" rowspan="1"><p>Why</p></th></tr><tr><td colspan="1" rowspan="1"><p>Top 10 holders &lt; 15%</p></td><td colspan="1" rowspan="1"><p>Low</p></td><td colspan="1" rowspan="1"><p>Broad distribution</p></td></tr><tr><td colspan="1" rowspan="1"><p>Top 10 holders 15–30%</p></td><td colspan="1" rowspan="1"><p>Moderate</p></td><td colspan="1" rowspan="1"><p>Some concentration</p></td></tr><tr><td colspan="1" rowspan="1"><p>Top 10 holders &gt; 40%</p></td><td colspan="1" rowspan="1"><p><strong>High</strong></p></td><td colspan="1" rowspan="1"><p>Few wallets control the majority</p></td></tr><tr><td colspan="1" rowspan="1"><p>One wallet &gt; 15%</p></td><td colspan="1" rowspan="1"><p><strong>Critical</strong></p></td><td colspan="1" rowspan="1"><p>Single holder can crash the price</p></td></tr><tr><td colspan="1" rowspan="1"><p>Deployer holds &gt; 10%</p></td><td colspan="1" rowspan="1"><p><strong>Critical</strong></p></td><td colspan="1" rowspan="1"><p>Creator can dump their allocation</p></td></tr></tbody></table><p>Also check for <strong>clustered wallets</strong> — multiple addresses that received tokens from the same source at the same time. These are often the creator&apos;s wallets disguised as separate holders. On Solscan, click through to individual holder addresses and check their transaction history. If 10 wallets all received tokens from the same funding source and have similar balances, they are likely controlled by the same person.</p><h3 id="h-step-6-run-a-rugcheck-scan" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 6: Run a RugCheck Scan</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rugcheck.xyz">RugCheck</a> is the definitive Solana token risk scanner — the equivalent of Token Sniffer and GoPlus combined, but built specifically for Solana.</p><p>Enter the token mint address and RugCheck provides:</p><ul><li><p>Mint authority status (active or burned)</p></li><li><p>Freeze authority status (active or burned)</p></li><li><p>Liquidity pool top holders and LP burn status</p></li><li><p>Token supply distribution</p></li><li><p>Market cap vs. fully diluted valuation</p></li><li><p>Whether the token is flagged by community sources</p></li><li><p>Social links verification</p></li><li><p>Historical mint events (has the supply been inflated?)</p></li></ul><p>A RugCheck score is displayed as a risk rating from &quot;Low Risk&quot; to &quot;High Risk.&quot; Treat any token rated &quot;High Risk&quot; or &quot;Very High Risk&quot; as uninvestable unless you have a specific, informed reason to believe otherwise. Even &quot;Medium Risk&quot; tokens warrant careful review of the specific risk factors flagged.</p><p>RugCheck also shows whether the token has been featured on known scam token lists and whether the social media links are verified. A token claiming to be from a known project (Jupiter, Pyth, Jito) should have verified social links — if they are missing or point to newly created accounts, the token is likely an impersonation.</p><h2 id="h-common-solana-specific-scams" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Common Solana-Specific Scams</h2><h3 id="h-pumpfun-rug-pulls" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">pump.fun Rug Pulls</h3><p>pump.fun is a Solana platform that allows anyone to create a token with a bonding curve for less than $0.02. When the token&apos;s market cap reaches a threshold (currently ~$69,000), liquidity is automatically deposited into Raydium. The problem: the creator retains mint authority and LP authority until they manually burn them. Most never do.</p><p>The typical pattern: a token launches on pump.fun, gains traction through social media, crosses the bonding curve threshold, gets listed on Raydium, and then the creator mints additional tokens or drains the pool. Because the entire lifecycle happens in hours (sometimes minutes), buyers who act on FOMO have no time to verify anything.</p><p><strong>How to protect yourself</strong>: Before buying any pump.fun token that has graduated to Raydium, check the mint authority and LP authority on RugCheck. If either is not burned, the token is one click away from being worthless.</p><h3 id="h-fake-spl-token-impersonation" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Fake SPL Token Impersonation</h3><p>Solana&apos;s SPL standard makes it trivial to create a token with any name and ticker. A scammer creates a token named &quot;JUP&quot; (impersonating Jupiter&apos;s governance token) or &quot;BONK&quot; (impersonating the popular memecoin) and lists it on a DEX. The fake token has a different mint address, but the name and ticker are identical.</p><p>Users who search by name instead of verifying the mint address end up buying the fake. This is especially dangerous on Solana because transaction fees are so low that scammers can create thousands of fake tokens for a few dollars.</p><p><strong>How to protect yourself</strong>: Always verify the mint address against the project&apos;s official website or a trusted source. Never buy a token by searching for its name on a DEX — always use the exact mint address.</p><h3 id="h-drain-through-metadata-attacks" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Drain-Through-Metadata Attacks</h3><p>Some Solana tokens include malicious metadata in their token accounts. When a wallet like Phantom renders the token in your wallet interface, it fetches this metadata — which can include a phishing URL disguised as the project&apos;s website. Clicking the link takes you to a fake dApp that prompts you to sign a transaction draining your wallet.</p><p>This is uniquely dangerous on Solana because token metadata is automatically fetched by wallets. You do not need to interact with the token — simply receiving it as an unsolicited airdrop is enough for the metadata to appear in your wallet interface.</p><p><strong>How to protect yourself</strong>: Never click links from tokens that appear in your wallet unsolicited. Use Phantom&apos;s &quot;hide&quot; feature to remove spam tokens. Do not interact with any token you did not explicitly purchase or claim from a verified source. For more on wallet-draining attacks, see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-spot-wallet-drainers/">how to spot wallet drainers</a>.</p><h3 id="h-jupiter-dex-aggregator-spoofing" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Jupiter DEX Aggregator Spoofing</h3><p>Jupiter is the most popular DEX aggregator on Solana. Scammers create fake Jupiter frontends (jupiterswap.io, jupiter-trade.pro, etc.) that look identical to the real jup.ag but route transactions to malicious programs. When users swap tokens through these fake sites, the transaction grants token approvals or transfers funds to the scammer.</p><p><strong>How to protect yourself</strong>: Only use the verified Jupiter URL (jup.ag) and bookmark it. Check the URL before every transaction. For more on signature-based phishing attacks, see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">how to prevent wallet drainers</a>.</p><h2 id="h-tools-for-solana-token-verification" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Tools for Solana Token Verification</h2><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Tool</p></th><th colspan="1" rowspan="1"><p>What It Checks</p></th><th colspan="1" rowspan="1"><p>Cost</p></th><th colspan="1" rowspan="1"><p>Solana Support</p></th></tr><tr><td colspan="1" rowspan="1"><p>RugCheck</p></td><td colspan="1" rowspan="1"><p>Mint/freeze authority, LP burn, holders, supply history</p></td><td colspan="1" rowspan="1"><p>Free</p></td><td colspan="1" rowspan="1"><p>Native (Solana-only)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Solscan</p></td><td colspan="1" rowspan="1"><p>Token holders, transactions, metadata, mint info</p></td><td colspan="1" rowspan="1"><p>Free / Pro</p></td><td colspan="1" rowspan="1"><p>Native</p></td></tr><tr><td colspan="1" rowspan="1"><p>DexScreener</p></td><td colspan="1" rowspan="1"><p>Real-time DEX data, liquidity, volume, price charts</p></td><td colspan="1" rowspan="1"><p>Free</p></td><td colspan="1" rowspan="1"><p>Full</p></td></tr><tr><td colspan="1" rowspan="1"><p>Birdeye</p></td><td colspan="1" rowspan="1"><p>Token analytics, holder analysis, social signals</p></td><td colspan="1" rowspan="1"><p>Free / Pro</p></td><td colspan="1" rowspan="1"><p>Full</p></td></tr><tr><td colspan="1" rowspan="1"><p>Phantom Wallet</p></td><td colspan="1" rowspan="1"><p>Built-in transaction preview, spam token detection</p></td><td colspan="1" rowspan="1"><p>Free</p></td><td colspan="1" rowspan="1"><p>Native</p></td></tr><tr><td colspan="1" rowspan="1"><p>Solana Explorer</p></td><td colspan="1" rowspan="1"><p>On-chain data, token accounts, authorities</p></td><td colspan="1" rowspan="1"><p>Free</p></td><td colspan="1" rowspan="1"><p>Native</p></td></tr></tbody></table><p><strong>Recommended workflow</strong>: Start with DexScreener to find the token and get basic market data. Then run RugCheck for the comprehensive risk assessment. Cross-reference holder distribution on Solscan. Finally, verify the mint address against the project&apos;s official channels. If RugCheck shows low risk and the mint/freeze authorities are burned, your risk is substantially reduced — though, as always, never zero.</p><h2 id="h-solana-vs-base-vs-ethereum-risk-comparison" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Solana vs. Base vs. Ethereum: Risk Comparison</h2><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Risk Factor</p></th><th colspan="1" rowspan="1"><p>Ethereum</p></th><th colspan="1" rowspan="1"><p>Base L2</p></th><th colspan="1" rowspan="1"><p>Solana</p></th></tr><tr><td colspan="1" rowspan="1"><p>Architecture</p></td><td colspan="1" rowspan="1"><p>EVM</p></td><td colspan="1" rowspan="1"><p>EVM</p></td><td colspan="1" rowspan="1"><p>Non-EVM (Sealevel)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Token standard</p></td><td colspan="1" rowspan="1"><p>ERC-20</p></td><td colspan="1" rowspan="1"><p>ERC-20</p></td><td colspan="1" rowspan="1"><p>SPL Token</p></td></tr><tr><td colspan="1" rowspan="1"><p>Deployment cost for scammers</p></td><td colspan="1" rowspan="1"><p>$50–500</p></td><td colspan="1" rowspan="1"><p>&lt;$1</p></td><td colspan="1" rowspan="1"><p>&lt;$0.02</p></td></tr><tr><td colspan="1" rowspan="1"><p>Finality time</p></td><td colspan="1" rowspan="1"><p>~6 min (safe)</p></td><td colspan="1" rowspan="1"><p>~4 min (safe)</p></td><td colspan="1" rowspan="1"><p><strong>~0.4s (instant)</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>Primary rug vector</p></td><td colspan="1" rowspan="1"><p>Hidden contract functions</p></td><td colspan="1" rowspan="1"><p>Hidden contract functions</p></td><td colspan="1" rowspan="1"><p><strong>Unburned mint/freeze authority</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>Primary verification tool</p></td><td colspan="1" rowspan="1"><p>Etherscan + Token Sniffer</p></td><td colspan="1" rowspan="1"><p>Basescan + GoPlus</p></td><td colspan="1" rowspan="1"><p><strong>RugCheck + Solscan</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>Wallet freeze risk</p></td><td colspan="1" rowspan="1"><p>Very low</p></td><td colspan="1" rowspan="1"><p>Very low</p></td><td colspan="1" rowspan="1"><p><strong>Built into SPL standard</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>Memecoin scam volume</p></td><td colspan="1" rowspan="1"><p>Moderate</p></td><td colspan="1" rowspan="1"><p>Growing</p></td><td colspan="1" rowspan="1"><p><strong>Highest in crypto</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>Recovery of stolen funds</p></td><td colspan="1" rowspan="1"><p>Difficult</p></td><td colspan="1" rowspan="1"><p>Very difficult</p></td><td colspan="1" rowspan="1"><p><strong>Extremely difficult</strong> (instant finality)</p></td></tr></tbody></table><p>The key insight: Solana&apos;s instant finality means once a scam executes, the transaction cannot be reversed, front-run, or cancelled. On EVM chains, you might have seconds or minutes to react. On Solana, the window is zero. Prevention is the only defense.</p><h2 id="h-limitations-what-verification-cannot-catch" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Limitations: What Verification Cannot Catch</h2><p>Even after running all five checks, some risks remain:</p><p><strong>Social engineering.</strong> A token with burned mint authority, burned freeze authority, and burned LP can still be a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/pump-and-dump/">pump-and-dump</a> scheme where the team holds a large supply and coordinates selling into buying pressure. On-chain verification cannot detect whether a community is organic or manufactured.</p><p><strong>Novel program exploits.</strong> Solana&apos;s program model is still evolving. Token-2022, the next-generation SPL standard, introduces transfer fees, non-transferable tokens, and confidential transfers — each creating new attack surfaces that current tools may not fully evaluate.</p><p><strong>DeFi composability risk.</strong> A clean token can become dangerous when paired with a malicious lending protocol, staking program, or yield farm. The token itself is safe, but the smart contract you interact with to earn yield on it may not be. Always audit the program you are depositing into, not just the token.</p><p><strong>Cross-chain bridging.</strong> If you bridge assets between Solana and other chains, the bridge itself is an attack surface. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/cross-chain-bridge/">Cross-chain bridges</a> have been exploited for some of the largest losses in crypto history. Always use established bridges (Wormhole, deBridge) and verify bridge contract addresses independently.</p><p>For a broader understanding of on-chain risk methodology that applies across all chains, see our guide on the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/on-chain-analysis-workflow/">on-chain analysis workflow</a>.</p><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><p><strong>Q: Is Solana more dangerous than Ethereum for buying tokens?</strong></p><p>A: Solana is not inherently more dangerous, but its risks are different. Ethereum scams hide in smart contract code; Solana scams hide in token authorities (mint, freeze, LP). Solana&apos;s ultra-low fees and instant finality make scams cheaper to execute and impossible to reverse once they happen. The verification process is different but equally thorough if you use the right tools (RugCheck, Solscan).</p><p><strong>Q: Can I use Etherscan or Token Sniffer for Solana tokens?</strong></p><p>A: No. Etherscan only covers EVM chains. Token Sniffer supports Ethereum and Base. For Solana, use RugCheck (rugcheck.xyz) and Solscan (solscan.io). Applying EVM verification logic to Solana tokens will miss the most critical risk factors — mint authority, freeze authority, and LP burn status.</p><p><strong>Q: What is the safest way to buy tokens on Solana?</strong></p><p>A: Only buy tokens where the mint authority is burned, the freeze authority is burned, and the LP pool authority is burned. Verify all three on RugCheck before purchasing. Use a hardware wallet (Ledger) connected to Phantom for large transactions. Never buy tokens directly from social media links — always verify the mint address on DexScreener or Solscan first.</p><p><strong>Q: Are pump.fun tokens ever safe to buy?</strong></p><p>A: Some pump.fun tokens that graduate to Raydium and have their authorities burned can be legitimate community tokens. However, the vast majority are speculative plays that go to zero. If you choose to buy pump.fun tokens, treat them as high-risk speculation, never invest more than you can afford to lose, and always verify that mint and LP authorities are burned after graduation.</p><p><strong>Q: What should I do if I bought a scam token on Solana?</strong></p><p>A: If you can still sell, sell immediately. If the token has freeze authority active and your account gets frozen, your tokens are locked permanently — there is no recovery mechanism. Do not interact further with the token contract. If your wallet was drained through a malicious approval, revoke the approval immediately in Phantom Settings &gt; Connected Apps, and move remaining assets to a new wallet. For tracking stolen funds, see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how to track stolen crypto</a>.</p><p><strong>Q: What is Token-2022 and does it change the risks?</strong></p><p>A: Token-2022 is Solana&apos;s next-generation token standard that adds features like transfer fees, permanent delegates, and confidential transfers. These features introduce new risk vectors — for example, a permanent delegate can transfer tokens out of any account at any time. RugCheck is being updated to handle Token-2022, but always check whether a token uses the new standard and review what extensions are enabled.</p><h2 id="h-key-takeaways" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Key Takeaways</h2><ul><li><p><strong>Solana is not an EVM chain</strong> — the verification process is fundamentally different. You check token authorities, not contract source code.</p></li><li><p><strong>Mint authority is the #1 risk</strong> — if it is not burned, the creator can print unlimited tokens and dump them. Always verify it is revoked.</p></li><li><p><strong>Freeze authority is unique to Solana</strong> — it lets the creator lock your wallet from selling. Legitimate stablecoins need it; no other token should have it.</p></li><li><p><strong>LP authority must be burned</strong> — unlike EVM chains where LP tokens are locked in timelocks, Solana&apos;s standard is to burn the pool authority entirely.</p></li><li><p><strong>Use RugCheck, not Etherscan</strong> — RugCheck (rugcheck.xyz) is the definitive Solana token scanner. Solscan is the primary explorer.</p></li><li><p><strong>Instant finality means no recovery</strong> — once a Solana transaction is confirmed, it is final in under a second. Prevention is your only defense.</p></li><li><p><strong>Low fees enable mass scam deployment</strong> — a scammer can create thousands of tokens for a few dollars. Always verify before buying.</p></li><li><p><strong>Never click links from unsolicited tokens</strong> — metadata in spam tokens can contain phishing URLs that drain your wallet.</p></li></ul><p>For more on protecting yourself from token scams across all chains, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">how to verify a token before buying</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/base-chain-token-safety/">Base chain token safety</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-check-liquidity-locked/">how to check if liquidity is locked</a>. You can also check any token or address risk in real time using our free our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-risk-scoring-explained/">address risk scoring guide</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/solana-token-safety/"><em>https://theonchaindiary.com/articles/solana-token-safety/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/7b6449636d80f4262804f325dfb7ed5a8d516b002a2d946a96dbfb82c9306bd7.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Claim an Airdrop Safely: The Burner Wallet Workflow]]></title>
            <link>https://paragraph.com/@onchaindiary/how-to-claim-airdrops-safely</link>
            <guid>xjmoqPiXD7mX2FYkrdCF</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:10 GMT</pubDate>
            <description><![CDATA[Most airdrop safety advice reduces to "be careful" — which helps nobody at the moment a countdown timer is running. What actually survives contact with a real claim window is a workflow: fixed steps, decided in advance, executed the same way every time. This is that workflow. It assumes you have already read enough of the threat model — how fake claim sites work, how they reach you, what signatures can do — and now want the operational version. Five stages, in order of execution. Stage 1: ver...]]></description>
            <content:encoded><![CDATA[<p>Most airdrop safety advice reduces to &quot;be careful&quot; — which helps nobody at the moment a countdown timer is running. What actually survives contact with a real claim window is a workflow: fixed steps, decided in advance, executed the same way every time.</p><p>This is that workflow. It assumes you have already read enough of the threat model — <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/biggest-airdrop-scams-anatomy/">how fake claim sites work</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/">how they reach you</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">what signatures can do</a> — and now want the operational version. Five stages, in order of execution.</p><h2 id="h-stage-1-verify-the-airdrop-exists-from-two-independent-sources" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Stage 1: verify the airdrop exists — from two independent sources</h2><p>Before any wallet is involved, establish that the airdrop is real, using sources you navigated to yourself:</p><ul><li><p><strong>Official documentation.</strong> Type the project&apos;s domain yourself. Look for claim mechanics, snapshot dates, eligibility rules.</p></li><li><p><strong>GitHub / governance.</strong> Real programs leave engineering and governance traces: contract deployments, snapshot proposals, merkle root publications. See <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/merkle-tree/">what a merkle tree is</a> and why claim programs publish them.</p></li></ul><p>The two sources must agree <em>independently</em>. A random blog repeating an announcement is not a second source — it is an echo, and echoes are cheap to fake. If documentation and on-chain/governance records do not corroborate each other, stop here; there is nothing to claim.</p><p>Anti-signal at this stage: any &quot;airdrop&quot; that exists <em>only</em> as an announcement in your DMs, a reply thread, or an ad. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/">The channels that deliver fake airdrops</a> are precisely the places real ones are never exclusively announced.</p><h2 id="h-stage-2-fix-the-url-before-the-frenzy" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Stage 2: fix the URL before the frenzy</h2><p>Once verified, <strong>decide the destination now</strong> — before claim day, before urgency exists.</p><ul><li><p>Bookmark the official claim URL from the documentation page.</p></li><li><p>Note the official claim contract address alongside it, if published.</p></li><li><p>On claim day, navigate only via that bookmark.</p></li></ul><p>This one habit deletes the entire distribution layer of the attack: paid search ads on branded keywords, lookalike domains, reply phishing, fake eligibility checkers. All of them depend on you <em>navigating from</em> a channel at the moment of maximum hurry. A bookmark has no channel. Related rule from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-eligibility-checker-phishing/">fake eligibility checker phishing</a>: if you find yourself searching for the claim site, you have already left the safe path.</p><h2 id="h-stage-3-the-dedicated-claim-wallet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Stage 3: the dedicated claim wallet</h2><p>The single highest-leverage habit in this entire guide.</p><p><strong>Setup:</strong></p><ol><li><p>Generate a fresh wallet from a <strong>new</strong> seed phrase — not a derived account of your main phrase, a separate phrase entirely.</p></li><li><p>Store the phrase exactly as seriously as your main one (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a> backup or equivalent paper/metal practice — see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/cold-wallet/">cold wallet</a>).</p></li><li><p>Fund it with only the gas the claim needs, on the chain the claim happens.</p></li></ol><p><strong>Usage rules:</strong></p><ul><li><p>This wallet claims. It does not hold. Airdropped tokens either stay here (if small) or get swept out to your holding setup (if meaningful).</p></li><li><p>Your main wallet — savings, positions, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/non-custodial-wallet/">non-custodial</a> long-term holdings — never connects to a claim site. Not once, not &quot;just to check.&quot;</p></li></ul><p>Why this works: drainers exploit approvals, and approvals can only take what the approving wallet holds. An empty wallet is not a smaller loss; it is a <em>rounding error</em> for the attacker and a non-event for you. The same logic applies to testnet farming, as covered in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/testnet-airdrop-safety/">testnet airdrop safety</a>.</p><h2 id="h-stage-4-claim-and-read-the-signature-as-a-contract" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Stage 4: claim — and read the signature as a contract</h2><p>At the moment of signing, slow down and read three fields, in this order:</p><ol><li><p><strong>Function.</strong> A genuine claim usually is a simple call to the distributor contract. <code>approve</code>, <code>permit</code>, <code>permit2</code>, <code>increaseAllowance</code>, or an unrecognizable function on a claim page means you are granting, not receiving. The taxonomy lives in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">airdrop signature scams</a>; the EIP-7702 delegation variant — one signature that can hand an EOA to attacker code — is in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/eip-7702-airdrop-phishing/">EIP-7702 airdrop phishing</a>.</p></li><li><p><strong>Spender / contract.</strong> Paste it into a block explorer. Contract deployed days ago? No verified source? Deployer address with a history of drainer patterns? Walk away. The deeper checks — holder distribution, deployer history — are in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-scam-checker/">airdrop scam checking in 5 steps</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-spot-wallet-drainers/">how to spot wallet drainers</a>.</p></li><li><p><strong>Allowance.</strong> Anything unlimited on an unfamiliar contract is an automatic decline. See <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/infinite-approval-explained/">infinite approvals explained</a>.</p></li></ol><p>If your wallet shows raw, undecoded data, you are <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing</a> — decline by default and use a wallet/tool that decodes or simulates before confirming. If you use a hardware wallet, remember: it guards your keys, not your judgment; the screen confirms <em>what you are about to authorize</em>, so read it the same way.</p><h2 id="h-stage-5-after-the-claim-close-the-loop" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Stage 5: after the claim — close the loop</h2><p>Claiming is not the end of the workflow.</p><ol><li><p><strong>Revoke what you granted.</strong> Approvals persist after the transaction that created them. Sweep your claim wallet&apos;s approval list — <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/token-approval-safety/">token approval safety</a> covers tools and cadence.</p></li><li><p><strong>Move the tokens if they matter.</strong> If the airdrop has real value, send it out of the claim wallet to your holding setup. Keep the claim wallet near-zero by policy.</p></li><li><p><strong>Audit periodically.</strong> A quick approval-and-balance review of the claim wallet before each new claim season — the mechanics are in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/">how to audit your wallet activity</a>.</p></li><li><p><strong>Expect the follow-up wave.</strong> A real claim on-chain is public. After any major distribution, fake &quot;phase 2 claim&quot; and checker sites bloom; treat them exactly as the first wave — verify via the bookmark path, not via announcements that find you.</p></li></ol><h2 id="h-the-workflow-compressed" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The workflow, compressed</h2><p>For the fridge door:</p><ol><li><p>Airdrop verified from two independent official sources? <strong>No → stop.</strong></p></li><li><p>Claim URL bookmarked from documentation, contract address noted? <strong>No → do it now.</strong></p></li><li><p>Dedicated claim wallet funded with gas only? <strong>No → make one.</strong></p></li><li><p>Signature read: function, spender, allowance all sane and decodable? <strong>No → decline.</strong></p></li><li><p>After: revoke approvals, sweep value, audit.</p></li></ol><p>All twelve pre-claim checks in one printable page: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-safety-checklist/">the airdrop safety checklist</a>. This article is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/"><em>https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/8c1f79af3f8572c457a04791171a75a7a824a0f734af477f1e547e1a687bbb37.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Check if Liquidity Is Locked: A Step-by-Step Guide for Token Buyers]]></title>
            <link>https://paragraph.com/@onchaindiary/how-to-check-liquidity-locked</link>
            <guid>zk15TS2gulNh5cFldZtv</guid>
            <pubDate>Tue, 18 Aug 2026 09:50:04 GMT</pubDate>
            <description><![CDATA[In April 2023, a token called "SQUID" on the BNB Chain raised over $3 million from retail investors in less than 48 hours. Its website was polished, its social media presence was active, and its price chart showed a steady climb. But when the developers executed a single function call — withdraw() on their liquidity pool contract — every cent of trading liquidity vanished in one block. The token's price went to zero in seconds. The developers walked away with the funds. Investors never recove...]]></description>
            <content:encoded><![CDATA[<p>In April 2023, a token called &quot;SQUID&quot; on the BNB Chain raised over $3 million from retail investors in less than 48 hours. Its website was polished, its social media presence was active, and its price chart showed a steady climb. But when the developers executed a single function call — <code>withdraw()</code> on their <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-pool/">liquidity pool</a> contract — every cent of trading liquidity vanished in one block. The token&apos;s price went to zero in seconds. The developers walked away with the funds. Investors never recovered them.</p><p>This is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pull</a>, and the single most important question you should ask before buying any new token is: <strong>is the liquidity locked?</strong> If the answer is no, or if you cannot verify it independently, you are sending money to a potential exit scam.</p><p>Liquidity locking is the practice of placing the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-provider/">liquidity provider</a> (LP) tokens — which represent the funds deposited into a decentralized exchange pool — into a smart contract that prevents withdrawal for a specified period. A legitimate project locks its liquidity to prove to investors that the team cannot drain the pool. But not all locks are real, and not all real locks are meaningful. Some are too short. Some cover only a fraction of the pool. Some are faked entirely.</p><p>This guide walks through exactly how to verify whether a token&apos;s liquidity is genuinely locked, how to read lock contracts, the tools that make this process faster, and the red flags that separate a real lock from a convincing illusion.</p><blockquote><p><strong>BLUF:</strong> Before buying any new token, verify that <strong>100% of the liquidity pool&apos;s LP tokens are locked</strong> in a verifiable smart contract for a meaningful duration (at least 3–6 months, ideally longer). Check four things: (1) <strong>Is the LP token contract the actual pool?</strong> — scammers sometimes lock a fake pool; (2) <strong>What percentage is locked?</strong> — anything below 100% means developers can still drain the unlocked portion; (3) <strong>When does the lock expire?</strong> — a 24-hour lock is worthless; (4) <strong>Is the lock verifiable on-chain?</strong> — you must be able to see the LP tokens sitting in the timelock contract yourself, not take a project&apos;s word for it. Use tools like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/spotting-rug-pulls-and-honeypots/">Token Sniffer</a>, GoPlus Security, or the DEX&apos;s own pool page to verify.</p></blockquote><h2 id="h-what-is-liquidity-and-why-does-locking-matter" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What Is Liquidity and Why Does Locking Matter?</h2><p>When a project launches a token on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dex/">decentralized exchange</a> (DEX) like Uniswap, PancakeSwap, or Raydium, it must deposit a pair of assets into a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/liquidity-pool/">liquidity pool</a> — typically the new token paired with a stablecoin (USDC, USDT) or a major coin (ETH, BNB, SOL). This pool is what enables trading. Without liquidity, no one can buy or sell the token.</p><p>When you deposit assets into a liquidity pool, you receive <strong>LP tokens</strong> in return. These tokens are like a receipt — they represent your share of the pool and can be redeemed for the underlying assets at any time. Whoever holds the LP tokens controls the liquidity. If the project team holds them, they can withdraw all the funds whenever they want.</p><p>Here is the critical insight: <strong>the LP tokens are the keys to the treasury.</strong> If the developer can withdraw them at any moment, the token is a ticking time bomb. A liquidity lock takes those keys away — temporarily — by depositing the LP tokens into a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/timelock/">timelock</a> smart contract that rejects withdrawal calls until a specified unlock date.</p><h3 id="h-the-anatomy-of-a-liquidity-lock" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The Anatomy of a Liquidity Lock</h3><p>A liquidity lock involves three smart contracts working together:</p><pre data-type="codeBlock" text="1. The DEX Pair Contract (e.g., Uniswap V2 Pair)
   - Holds the actual token reserves (e.g., TOKEN + ETH)
   - Issues LP tokens to liquidity providers
   - Anyone holding LP tokens can call removeLiquidity()
     to withdraw the underlying tokens

2. The LP Token (ERC-20)
   - Represents a proportional share of the pool
   - Transferable like any token
   - Balance determines who can withdraw liquidity

3. The Timelock Contract
   - Holds the LP tokens
   - Has a releaseTime / unlockTimestamp
   - Withdrawal function reverts until unlock time is reached
   - After unlock, the beneficiary can claim the LP tokens
"><code><span class="hljs-number">1.</span> The DEX Pair Contract (e.g., Uniswap V2 Pair)
   <span class="hljs-operator">-</span> Holds the actual token reserves (e.g., TOKEN <span class="hljs-operator">+</span> ETH)
   <span class="hljs-operator">-</span> Issues LP tokens to liquidity providers
   <span class="hljs-operator">-</span> Anyone holding LP tokens can call removeLiquidity()
     to withdraw the underlying tokens

<span class="hljs-number">2.</span> The LP Token (ERC<span class="hljs-number">-20</span>)
   <span class="hljs-operator">-</span> Represents a proportional share of the pool
   <span class="hljs-operator">-</span> Transferable like any token
   <span class="hljs-operator">-</span> Balance determines who can withdraw liquidity

<span class="hljs-number">3.</span> The Timelock Contract
   <span class="hljs-operator">-</span> Holds the LP tokens
   <span class="hljs-operator">-</span> Has a releaseTime <span class="hljs-operator">/</span> unlockTimestamp
   <span class="hljs-operator">-</span> Withdrawal <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">reverts</span> <span class="hljs-title">until</span> <span class="hljs-title">unlock</span> <span class="hljs-title">time</span> <span class="hljs-title"><span class="hljs-keyword">is</span></span> <span class="hljs-title">reached</span>
   - <span class="hljs-title">After</span> <span class="hljs-title">unlock</span>, <span class="hljs-title">the</span> <span class="hljs-title">beneficiary</span> <span class="hljs-title">can</span> <span class="hljs-title">claim</span> <span class="hljs-title">the</span> <span class="hljs-title">LP</span> <span class="hljs-title">tokens</span>
</span></code></pre><p>When you &quot;check if liquidity is locked,&quot; you are verifying that the LP tokens for the token&apos;s trading pair are sitting inside contract #3, and that the unlock date is far enough in the future to provide real protection.</p><h2 id="h-step-by-step-how-to-check-if-liquidity-is-locked" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step-by-Step: How to Check if Liquidity Is Locked</h2><h3 id="h-step-1-find-the-tokens-liquidity-pool" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 1: Find the Token&apos;s Liquidity Pool</h3><p>Start by finding the token contract address. If you&apos;re on a DEX like Uniswap, PancakeSwap, or Trader Joe, the token page usually shows the liquidity pair. If not, use a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a> (Etherscan, BscScan, Solscan) or a DEX aggregator to find it.</p><p>On Etherscan:</p><ol><li><p>Search for the token contract address</p></li><li><p>Go to the &quot;Token&quot; tab or check the token&apos;s profile on the DEX</p></li><li><p>Look for the main trading pair (usually the pair with the highest <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/tvl/">TVL</a>)</p></li></ol><p>The pair contract address is what you need. For Uniswap V2-style DEXes, each pair has its own contract. For Uniswap V3, liquidity is in a non-fungible position (NFT), which changes the locking mechanism (more on this later).</p><h3 id="h-step-2-identify-the-lp-token-supply" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 2: Identify the LP Token Supply</h3><p>On the pair contract&apos;s page in the block explorer:</p><ol><li><p>Find the LP token (it has the same address as the pair contract on Uniswap V2)</p></li><li><p>Check the total supply of LP tokens</p></li><li><p>Note this number — it represents 100% of the pool&apos;s liquidity</p></li></ol><pre data-type="codeBlock" text="Example:
  Pair contract: 0xABC...123 (TOKEN/WETH pair on Uniswap V2)
  Total LP token supply: 1,000.00 LP tokens
  
  If 1,000 LP tokens = 100% of the pool,
  then any lock must cover all 1,000 to be fully locked.
"><code><span class="hljs-symbol">Example:</span>
  Pair contract: <span class="hljs-number">0</span>xABC...<span class="hljs-number">123</span> (TOKEN/WETH pair <span class="hljs-keyword">on</span> Uniswap V2)
  Total LP token supply: <span class="hljs-number">1</span>,<span class="hljs-number">000.00</span> LP tokens
  
  <span class="hljs-keyword">If</span> <span class="hljs-number">1</span>,<span class="hljs-number">000</span> LP tokens = <span class="hljs-number">100%</span> <span class="hljs-keyword">of</span> the pool,
  <span class="hljs-keyword">then</span> any lock must cover all <span class="hljs-number">1</span>,<span class="hljs-number">000</span> <span class="hljs-keyword">to</span> be fully locked.
</code></pre><h3 id="h-step-3-check-who-holds-the-lp-tokens" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 3: Check Who Holds the LP Tokens</h3><p>Go to the LP token&apos;s holder list (the &quot;Holders&quot; tab on the block explorer). You should see one of these patterns:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Pattern</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th></tr><tr><td colspan="1" rowspan="1"><p>100% in a known timelock contract</p></td><td colspan="1" rowspan="1"><p>Legitimate lock</p></td><td colspan="1" rowspan="1"><p>Low</p></td></tr><tr><td colspan="1" rowspan="1"><p>90-95% in timelock, remainder burned</p></td><td colspan="1" rowspan="1"><p>Legitimate lock + permanent burn</p></td><td colspan="1" rowspan="1"><p>Very Low</p></td></tr><tr><td colspan="1" rowspan="1"><p>50-80% in timelock, rest in EOA wallets</p></td><td colspan="1" rowspan="1"><p>Partial lock — team can drain unlocked portion</p></td><td colspan="1" rowspan="1"><p><strong>High</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>LP tokens in a developer EOA wallet</p></td><td colspan="1" rowspan="1"><p>No lock at all</p></td><td colspan="1" rowspan="1"><p><strong>Critical</strong></p></td></tr><tr><td colspan="1" rowspan="1"><p>LP tokens sent to dead/burn address</p></td><td colspan="1" rowspan="1"><p>Permanently locked (burned)</p></td><td colspan="1" rowspan="1"><p>Very Low</p></td></tr><tr><td colspan="1" rowspan="1"><p>LP tokens in an unknown contract</p></td><td colspan="1" rowspan="1"><p>Could be a fake lock or a backdoor</p></td><td colspan="1" rowspan="1"><p><strong>Investigate</strong></p></td></tr></tbody></table><p>The holder list is your first signal. If the majority of LP tokens are in an externally owned account (EOA) — a regular wallet address — there is no lock. The developer can withdraw at any time.</p><h3 id="h-step-4-verify-the-timelock-contract" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 4: Verify the Timelock Contract</h3><p>If LP tokens are in a contract, you need to verify that the contract is actually a timelock and not a backdoor. This is where many investors get fooled — scammers deploy a contract that <em>looks</em> like a timelock but has a hidden withdrawal function.</p><p><strong>Legitimate timelock contracts</strong> have these characteristics:</p><ul><li><p>A public <code>releaseTime</code> or <code>unlockTimestamp</code> variable you can read</p></li><li><p>A <code>withdraw()</code> or <code>claim()</code> function that checks <code>block.timestamp &gt;= releaseTime</code></p></li><li><p>No admin override or <code>setReleaseTime()</code> function that lets the owner change the unlock date</p></li><li><p>Verified source code on the block explorer</p></li></ul><p><strong>Red flags in timelock contracts</strong>:</p><ul><li><p>The contract is not verified (source code hidden)</p></li><li><p>There is a function to change the unlock time (<code>setUnlockTime</code>, <code>updateReleaseTime</code>)</p></li><li><p>There is a <code>withdraw()</code> function callable by the owner without a time check</p></li><li><p>The contract was deployed minutes before the token launch (could be a custom backdoor)</p></li><li><p>The contract has <code>onlyOwner</code> modifiers on critical functions beyond basic admin</p></li></ul><p>To check the source code:</p><ol><li><p>Go to the timelock contract address on the block explorer</p></li><li><p>Click the &quot;Contract&quot; tab</p></li><li><p>Check if the source code is verified (green checkmark)</p></li><li><p>Read the withdrawal function — confirm it requires the unlock time to have passed</p></li><li><p>Check for any suspicious admin functions</p></li></ol><h3 id="h-step-5-check-the-lock-duration" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 5: Check the Lock Duration</h3><p>The unlock date matters as much as the lock itself. A 24-hour lock is not a lock — it is a marketing gimmick. Here is a practical risk assessment:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Lock Duration</p></th><th colspan="1" rowspan="1"><p>Assessment</p></th><th colspan="1" rowspan="1"><p>Recommendation</p></th></tr><tr><td colspan="1" rowspan="1"><p>Less than 7 days</p></td><td colspan="1" rowspan="1"><p>Meaningless</p></td><td colspan="1" rowspan="1"><p>Do not buy</p></td></tr><tr><td colspan="1" rowspan="1"><p>7–30 days</p></td><td colspan="1" rowspan="1"><p>Marginal</p></td><td colspan="1" rowspan="1"><p>Very high risk</p></td></tr><tr><td colspan="1" rowspan="1"><p>1–3 months</p></td><td colspan="1" rowspan="1"><p>Weak</p></td><td colspan="1" rowspan="1"><p>Only with other strong signals</p></td></tr><tr><td colspan="1" rowspan="1"><p>3–6 months</p></td><td colspan="1" rowspan="1"><p>Adequate</p></td><td colspan="1" rowspan="1"><p>Acceptable for early-stage projects</p></td></tr><tr><td colspan="1" rowspan="1"><p>6–12 months</p></td><td colspan="1" rowspan="1"><p>Good</p></td><td colspan="1" rowspan="1"><p>Standard for legitimate launches</p></td></tr><tr><td colspan="1" rowspan="1"><p>1–2 years</p></td><td colspan="1" rowspan="1"><p>Strong</p></td><td colspan="1" rowspan="1"><p>High confidence</p></td></tr><tr><td colspan="1" rowspan="1"><p>Indefinite (burned)</p></td><td colspan="1" rowspan="1"><p>Strongest</p></td><td colspan="1" rowspan="1"><p>LP tokens destroyed permanently</p></td></tr></tbody></table><p>Pay attention to whether the lock expires around a major event — token unlock, vesting cliff, or exchange listing. Some projects time their liquidity unlock to coincide with other sell pressure, creating a double dump.</p><h3 id="h-step-6-cross-reference-with-lock-verification-tools" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 6: Cross-Reference with Lock Verification Tools</h3><p>Manual checking is thorough but time-consuming. Several tools automate parts of this process:</p><p><strong>Token Sniffer</strong> (tokensniffer.com): Automatically detects and scores liquidity lock status for Ethereum and BNB Chain tokens. Shows LP token lock percentage, unlock date, and contract audit score. Free to use.</p><p><strong>GoPlus Security API</strong>: Provides real-time token security data including <code>lp_holders</code> count, <code>lp_total_supply</code>, and whether LP tokens are locked. This is the same data engine used by many DEX aggregators and wallet security plugins. You can use our free our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/erc20-token-security-check/">token safety checklist</a> to query GoPlus data for any contract.</p><p><strong>DEX Tools</strong> (dexscreener.com, dextools.io): Shows the liquidity pool page with LP token holder breakdown. DEXTools specifically flags &quot;Locked&quot; liquidity with a lock icon and shows the unlock countdown.</p><p><strong>RugCheck</strong> (rugcheck.xyz for Solana): Specialized tool for Solana tokens that checks for locked liquidity, mint authority, freeze authority, and other risk factors. Essential for anyone buying Solana tokens.</p><p><strong>Pinksale / DxSale lock pages</strong>: If the token launched via a presale platform, the lock may be visible on the platform&apos;s lock page. These platforms use standardized timelock contracts that are well-audited. Always verify independently — do not rely solely on the presale platform&apos;s own page.</p><h2 id="h-common-liquidity-lock-scams" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Common Liquidity Lock Scams</h2><p>Knowing how to check liquidity locks also means knowing how scammers try to fake them.</p><h3 id="h-fake-lock-contract" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Fake Lock Contract</h3><p>The most common scam. The project deploys a custom contract, transfers LP tokens into it, and claims the liquidity is locked. But the contract has a hidden function that lets the owner withdraw immediately. The block explorer shows LP tokens in a contract, which looks like a lock, but it is actually a trap.</p><p><strong>How to spot it</strong>: Verify the source code. If the contract is unverified or has suspicious functions, it is not a real lock. Legitimate projects almost always use well-known lock platforms (Team Finance, PinkLock, Unicrypt, Mudra) whose contracts are publicly audited.</p><h3 id="h-partial-lock" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Partial Lock</h3><p>The project locks 50% of the LP tokens and keeps 50% in a team wallet. They advertise &quot;liquidity locked&quot; on their website and social media. When you check the timelock, the lock is real — but it only covers half the pool.</p><p><strong>How to spot it</strong>: Always check what percentage of LP tokens are locked. The lock page on DEXTools or Token Sniffer shows this. If it is less than 95-100%, the unlocked portion can be drained at any time.</p><h3 id="h-short-lock-with-renewal-promise" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Short Lock with Renewal Promise</h3><p>The project locks liquidity for 7 days and promises to re-lock it when it expires. After the first lock period, they re-lock for another 7 days, building trust. After several renewals, they stop re-locking and drain the pool.</p><p><strong>How to spot it</strong>: Treat short locks as no locks. A 7-day lock provides zero real protection. Only count locks that extend months into the future. If a project claims they will re-lock, wait until they actually do before investing.</p><h3 id="h-burned-then-re-minted" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Burned Then Re-Minted</h3><p>Some projects &quot;burn&quot; LP tokens by sending them to the dead address (0x000...dEaD). This permanently locks the liquidity because no one can access the dead address. However, if the token contract has a minting function, the developers can mint new tokens to themselves and create new liquidity — effectively creating a parallel pool they control.</p><p><strong>How to spot it</strong>: Check whether the token contract has a <code>mint()</code> function. If the supply is mutable, burned LP tokens only protect the original pool, not the entire token economy. Use our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">how to verify a token before buying</a> to check for mint authority.</p><h3 id="h-uniswap-v3-nft-liquidity" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Uniswap V3 NFT Liquidity</h3><p>Uniswap V3 uses non-fungible positions — each liquidity position is an NFT, not a fungible LP token. This changes how locking works. A project can lock the NFT position in a timelock, but they can also create multiple positions and only lock one of them. Some projects lock a tiny position while the real liquidity sits in unlocked positions.</p><p><strong>How to spot it</strong>: Check the NFT holder for the Uniswap V3 position manager contract (0xC364...b5f). Find all positions for the token pair. Verify that the largest positions are locked. This is more complex than V2 and requires careful analysis.</p><h2 id="h-liquidity-locking-on-different-chains" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Liquidity Locking on Different Chains</h2><p>The mechanics of liquidity locking vary by blockchain:</p><h3 id="h-ethereum-and-evm-chains-bnb-chain-polygon-arbitrum-base" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Ethereum and EVM Chains (BNB Chain, Polygon, Arbitrum, Base)</h3><p>Liquidity is locked using timelock smart contracts. The LP tokens (ERC-20 on Uniswap V2, or ERC-721 NFTs on Uniswap V3) are transferred to the timelock contract. Common lock providers:</p><ul><li><p><strong>Unicrypt (UNCX)</strong>: Long-standing lock platform on Ethereum and BNB Chain</p></li><li><p><strong>PinkLock (Pinksale)</strong>: Popular on BNB Chain and Polygon</p></li><li><p><strong>Team Finance</strong>: Multi-chain lock provider</p></li><li><p><strong>Mudra</strong>: BNB Chain-focused lock platform</p></li></ul><p>These platforms use audited, standardized contracts. If a project uses one of these, the lock is likely legitimate. If they use a custom contract, verify it manually.</p><h3 id="h-solana" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Solana</h3><p>Solana does not use LP tokens in the same way EVM chains do. Liquidity is in Raydium or Orca pools, controlled by the pool authority. On Solana, the key risk factors are different:</p><ul><li><p><strong>Mint authority</strong>: Can the team mint unlimited new tokens?</p></li><li><p><strong>Freeze authority</strong>: Can the team freeze your wallet from transacting?</p></li><li><p><strong>LP burn</strong>: Has the LP provider&apos;s authority been burned?</p></li></ul><p>Use <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rugcheck.xyz">RugCheck</a> to analyze Solana tokens. If the mint authority is not burned and the freeze authority is still active, the project can rug you regardless of liquidity lock status.</p><h3 id="h-base" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Base</h3><p>As a Layer 2 on Ethereum, Base inherits EVM mechanics. Uniswap V2 and V3 pools on Base work identically to mainnet. The same tools (Token Sniffer, GoPlus) work for Base tokens. Base&apos;s lower gas costs mean locks are cheaper to set up, but also cheaper for scammers to fake. Apply the same verification steps as Ethereum.</p><h2 id="h-practical-example-checking-a-token-on-etherscan" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Practical Example: Checking a Token on Etherscan</h2><p>Let&apos;s walk through a real verification process for a hypothetical token:</p><pre data-type="codeBlock" text="Token: ExampleToken (EXT)
Chain: Ethereum
DEX: Uniswap V2
Pair: EXT/WETH
Pair Contract: 0xDEF...789

Step 1: Go to the pair contract on Etherscan
  → Navigate to 0xDEF...789
  → This is also the LP token contract (Uniswap V2 pattern)

Step 2: Check total LP supply
  → Read contract → totalSupply()
  → Result: 500.00 LP tokens

Step 3: Check holders
  → Go to Holders tab
  → 0xAAA...111 (timelock contract): 475 LP tokens (95%)
  → 0xBBB...222 (EOA wallet): 25 LP tokens (5%)
  
  Analysis: 95% locked, 5% unlocked in team wallet
  Risk: The team can drain 5% of the pool immediately

Step 4: Verify the timelock at 0xAAA...111
  → Go to Contract tab → check if verified
  → Read releaseTime() → returns: 2027-01-15
  → Check for admin functions → none found
  → Lock duration: ~18 months from now → Strong

Step 5: Cross-reference with Token Sniffer
  → Search EXT on tokensniffer.com
  → Liquidity lock: 95% locked until Jan 2027
  → Contract score: 75/100 (some centralization concerns)
  
  Verdict: Liquidity is mostly locked with a strong duration,
  but 5% is unlocked. Evaluate whether 5% is acceptable
  based on the pool size and project maturity.
"><code><span class="hljs-symbol">Token:</span> ExampleToken (EXT)
<span class="hljs-symbol">Chain:</span> Ethereum
<span class="hljs-symbol">DEX:</span> Uniswap V2
<span class="hljs-symbol">Pair:</span> EXT/WETH
Pair Contract: <span class="hljs-number">0</span>xDEF...<span class="hljs-number">789</span>

<span class="hljs-keyword">Step</span> <span class="hljs-number">1</span>: Go <span class="hljs-keyword">to</span> the pair contract <span class="hljs-keyword">on</span> Etherscan
  → Navigate <span class="hljs-keyword">to</span> <span class="hljs-number">0</span>xDEF...<span class="hljs-number">789</span>
  → This <span class="hljs-built_in">is</span> also the LP token contract (Uniswap V2 pattern)

<span class="hljs-keyword">Step</span> <span class="hljs-number">2</span>: Check total LP supply
  → Read contract → totalSupply()
  → Result: <span class="hljs-number">500.00</span> LP tokens

<span class="hljs-keyword">Step</span> <span class="hljs-number">3</span>: Check holders
  → Go <span class="hljs-keyword">to</span> Holders tab
  → <span class="hljs-number">0</span>xAAA...<span class="hljs-number">111</span> (timelock contract): <span class="hljs-number">475</span> LP tokens (<span class="hljs-number">95%</span>)
  → <span class="hljs-number">0</span>xBBB...<span class="hljs-number">222</span> (EOA wallet): <span class="hljs-number">25</span> LP tokens (<span class="hljs-number">5%</span>)
  
  Analysis: <span class="hljs-number">95%</span> locked, <span class="hljs-number">5%</span> unlocked <span class="hljs-keyword">in</span> team wallet
  Risk: The team can drain <span class="hljs-number">5%</span> <span class="hljs-keyword">of</span> the pool immediately

<span class="hljs-keyword">Step</span> <span class="hljs-number">4</span>: Verify the timelock at <span class="hljs-number">0</span>xAAA...<span class="hljs-number">111</span>
  → Go <span class="hljs-keyword">to</span> Contract tab → check <span class="hljs-keyword">if</span> verified
  → Read releaseTime() → returns: <span class="hljs-number">2027</span>-<span class="hljs-number">01</span>-<span class="hljs-number">15</span>
  → Check <span class="hljs-keyword">for</span> admin functions → none found
  → Lock duration: ~<span class="hljs-number">18</span> months <span class="hljs-keyword">from</span> now → Strong

<span class="hljs-keyword">Step</span> <span class="hljs-number">5</span>: Cross-reference <span class="hljs-keyword">with</span> Token Sniffer
  → Search EXT <span class="hljs-keyword">on</span> tokensniffer.com
  → Liquidity lock: <span class="hljs-number">95%</span> locked <span class="hljs-keyword">until</span> Jan <span class="hljs-number">2027</span>
  → Contract score: <span class="hljs-number">75</span>/<span class="hljs-number">100</span> (some centralization concerns)
  
  Verdict: Liquidity <span class="hljs-built_in">is</span> mostly locked <span class="hljs-keyword">with</span> a strong duration,
  but <span class="hljs-number">5%</span> <span class="hljs-built_in">is</span> unlocked. Evaluate whether <span class="hljs-number">5%</span> <span class="hljs-built_in">is</span> acceptable
  based <span class="hljs-keyword">on</span> the pool size <span class="hljs-built_in">and</span> project maturity.
</code></pre><h2 id="h-liquidity-lock-checklist" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Liquidity Lock Checklist</h2><p>Before buying any new token, run through this checklist:</p><ol><li><p><strong>Find the pair contract</strong> — locate the main liquidity pool for the token</p></li><li><p><strong>Check LP token holders</strong> — where are the LP tokens? In a contract or in an EOA?</p></li><li><p><strong>Verify the lock contract</strong> — is it a legitimate timelock with verified source code?</p></li><li><p><strong>Check lock percentage</strong> — is 100% locked? Anything less is partial protection</p></li><li><p><strong>Check unlock date</strong> — is it far enough out? Minimum 3 months, ideally 6+</p></li><li><p><strong>Cross-reference tools</strong> — verify with Token Sniffer, GoPlus, or DEXTools</p></li><li><p><strong>Check for mint authority</strong> — can the team mint new tokens and create parallel pools?</p></li><li><p><strong>Check for hidden functions</strong> — does the token contract have backdoor withdrawal or pause functions?</p></li><li><p><strong>Read the lock platform</strong> — is it a reputable provider (Unicrypt, PinkLock) or a custom contract?</p></li><li><p><strong>Check on-chain, not on the website</strong> — never trust a &quot;locked&quot; badge on a project website; always verify on the blockchain</p></li></ol><h2 id="h-what-if-liquidity-is-not-locked" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What If Liquidity Is Not Locked?</h2><p>If you discover that a token&apos;s liquidity is not locked, this is not automatically a scam — but it is a critical risk factor. Some legitimate projects have legitimate reasons:</p><ul><li><p><strong>Established tokens</strong> with deep liquidity (over $1M TVL) may not need locks because the pool is too large to drain profitably</p></li><li><p><strong>Tokens with burned mint authority</strong> and decentralized holdings face lower rug risk even without locks</p></li><li><p><strong>Some projects</strong> use alternative trust mechanisms like multisig governance or DAO-controlled treasury</p></li></ul><p>However, for any new or low-market-cap token, unlocked liquidity is a dealbreaker. The risk-reward ratio is not favorable. If a project refuses to lock liquidity, they are either incompetent (they don&apos;t understand basic security) or malicious (they intend to rug). Neither is a good investment.</p><p>For more on identifying scam tokens and rug pulls, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/spotting-rug-pulls-and-honeypots/">how to spot rug pulls and honeypots</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/erc20-token-security-check/">ERC-20 token security checks</a>.</p><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><p><strong>Q: Can liquidity be &quot;partially locked&quot;? What does that mean?</strong></p><p>A: Yes. The project may lock 80% of LP tokens and keep 20% in a team wallet. This means 80% of the pool is protected, but the team can still drain the remaining 20%. Always check the exact percentage — some projects advertise &quot;liquidity locked&quot; while only locking a small fraction.</p><p><strong>Q: What happens when the liquidity lock expires?</strong></p><p>A: The timelock contract releases the LP tokens to the beneficiary (usually the project team). At that point, they can withdraw the underlying assets from the pool. Legitimate projects re-lock before expiration. Some lock platforms offer auto-relock features. Always check the unlock date and monitor projects approaching their unlock.</p><p><strong>Q: Is burning LP tokens better than locking them?</strong></p><p>A: Burning LP tokens (sending them to a dead address) is stronger than locking because it is permanent — no one can ever access those funds. However, burned LP tokens cannot be recovered by the team even for legitimate purposes. Locking is more flexible and is the standard for legitimate projects. Both are valid; burning provides maximum investor protection.</p><p><strong>Q: Can a locked liquidity pool still be drained?</strong></p><p>A: Not through the LP tokens directly, since they are in the timelock. But the token contract itself may have backdoor functions — a <code>transferFrom</code> override, a pause function, or a fee mechanism that sends tokens to the developer. Locking liquidity protects against one specific rug pull vector (draining the pool), not against all scam techniques. Always audit the token contract alongside checking the lock.</p><p><strong>Q: How do I check liquidity lock on Solana?</strong></p><p>A: Solana uses a different model. Use RugCheck (rugcheck.xyz) to check whether the LP mint authority is burned and whether the token has mint or freeze authority. If the LP tokens are burned and both authorities are revoked, the risk of a liquidity rug pull is very low.</p><p><strong>Q: What is a liquidity lock certificate?</strong></p><p>A: Some lock platforms (PinkLock, Team Finance) issue a &quot;certificate&quot; — a URL showing the lock details (amount, unlock date, beneficiary). These are useful for quick verification, but always cross-reference with the on-chain data. A certificate from a reputable platform is a strong signal; a screenshot from the project&apos;s website is not.</p><h2 id="h-key-takeaways" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Key Takeaways</h2><ul><li><p><strong>Liquidity locking</strong> places LP tokens in a timelock contract, preventing the team from draining the pool until a specified unlock date.</p></li><li><p><strong>Always verify on-chain</strong> — never trust a &quot;locked&quot; badge on a project website. Use a block explorer to confirm LP tokens are in a timelock contract.</p></li><li><p><strong>Check four things</strong>: lock percentage (should be near 100%), lock duration (minimum 3-6 months), lock contract source code (verified, no backdoors), and lock platform reputation (known providers like Unicrypt or PinkLock).</p></li><li><p><strong>Partial locks are partial protection</strong> — if 20% of LP tokens are unlocked, the team can drain 20% of the pool at any time.</p></li><li><p><strong>Short locks are marketing gimmicks</strong> — a 7-day lock provides no real protection and may be used to build false trust before a rug pull.</p></li><li><p><strong>Beware fake lock contracts</strong> — scammers deploy custom contracts that look like timelocks but have hidden withdrawal functions. Only trust verified, audited lock contracts.</p></li><li><p><strong>Different chains have different mechanics</strong> — EVM chains use LP token timelocks; Solana relies on mint/freeze authority burns.</p></li><li><p><strong>Locking protects against one vector only</strong> — always check the token contract for backdoors, mint functions, and other scam indicators alongside the liquidity lock.</p></li></ul><p>For more on protecting yourself from token scams, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-verify-a-token-before-buying/">how to verify a token before buying</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/defi-protocol-red-flags/">DeFi protocol red flags</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-spot-wallet-drainers/">how to spot wallet drainers</a>. You can also check any token or address risk in real time using our free our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-risk-scoring-explained/">address risk scoring guide</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-check-liquidity-locked/"><em>https://theonchaindiary.com/articles/how-to-check-liquidity-locked/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/5dfbc79b1b9f8a095d575812145808c825d4953724555e53e5e38e167231f389.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How to Audit Your Own Wallet: A Step-by-Step On-Chain Security Review]]></title>
            <link>https://paragraph.com/@onchaindiary/how-to-audit-your-wallet-activity</link>
            <guid>djbv585zK1yD6LfgppQg</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:48 GMT</pubDate>
            <description><![CDATA[You have interacted with dozens of smart contracts. Some were legitimate DEX trades. Others were yield farming protocols you forgot about months ago. A few might have been phishing sites that tricked you into signing a malicious transaction without realizing it. The problem is that most of these interactions leave permanent on-chain permissions. A token approval you signed six months ago is still active right now. A WalletConnect session from a sketchy dApp might still have access. And if any...]]></description>
            <content:encoded><![CDATA[<p>You have interacted with dozens of smart contracts. Some were legitimate DEX trades. Others were yield farming protocols you forgot about months ago. A few might have been phishing sites that tricked you into signing a malicious transaction without realizing it.</p><p>The problem is that most of these interactions leave <strong>permanent on-chain permissions</strong>. A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/token-approval-safety/">token approval</a> you signed six months ago is still active right now. A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-connect/">WalletConnect</a> session from a sketchy dApp might still have access. And if any of those contracts get compromised tomorrow, your funds are gone with no further action required from you.</p><p>This guide walks through a complete on-chain audit of your own wallet. Every step uses free, publicly available tools. By the end, you will know exactly which contracts have permission to touch your tokens and which interactions pose a risk.</p><blockquote><p><strong>BLUF:</strong> Audit your wallet in five steps — (1) list every contract you have ever interacted with, (2) check active token approvals and revoke unused ones, (3) review all signed messages for blind signatures, (4) identify suspicious or unknown contracts in your history, (5) verify your wallet labels and exposure. Do this quarterly. If you find approvals to contracts you do not recognize, revoke them immediately.</p></blockquote><h2 id="h-why-you-need-to-audit-your-wallet" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why You Need to Audit Your Wallet</h2><p>Most wallet security advice focuses on prevention: use a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a>, never share your <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/seed-phrase/">seed phrase</a>, avoid phishing links. These are important, but they do not address the permissions you have already granted.</p><p>Every time you interact with a DeFi protocol, you create two types of lasting exposure:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Exposure Type</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th><th colspan="1" rowspan="1"><p>How Long It Lasts</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Token approval</strong></p></td><td colspan="1" rowspan="1"><p>A contract can spend your tokens up to the approved amount</p></td><td colspan="1" rowspan="1"><p>Until you explicitly revoke it</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Allowance signature</strong></p></td><td colspan="1" rowspan="1"><p>You signed a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/permit2/">permit</a> or off-chain message</p></td><td colspan="1" rowspan="1"><p>Varies — some are one-time, others persist</p></td></tr></tbody></table><p>A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">wallet drainer</a> does not need to hack your wallet. It needs you to sign one bad transaction, once. After that, the permissions you granted do the rest — silently, sometimes months later.</p><h3 id="h-real-world-scenario" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Real-World Scenario</h3><p>In January 2024, a user connected their wallet to what appeared to be a legitimate staking dApp. They signed a single transaction they did not fully understand. Six months later, the dApp&apos;s contract was upgraded via a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/proxy-pattern/">proxy pattern</a>, and the attacker drained 12 ETH from the wallet using an approval the user had completely forgotten about.</p><p>The approval was visible on-chain the entire time. A 10-minute wallet audit would have caught it.</p><h2 id="h-step-1-map-your-contract-interactions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step 1: Map Your Contract Interactions</h2><p>The first step is to create a complete inventory of every smart contract your wallet has ever interacted with.</p><h3 id="h-using-a-block-explorer" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Using a Block Explorer</h3><ol><li><p>Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io">Etherscan</a> (or the appropriate explorer for your chain — Basescan, Arbiscan, Solscan)</p></li><li><p>Search your wallet address</p></li><li><p>Go to the <strong>Internal Transactions</strong> tab — this shows every contract that called your wallet or was called by your wallet</p></li><li><p>Note the contract addresses you do not recognize</p></li></ol><h3 id="h-using-arkham-intelligence-free-tier" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Using Arkham Intelligence (Free Tier)</h3><p>Arkham provides a visual interface for wallet activity that makes it easier to spot anomalies:</p><ol><li><p>Go to <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.arkhamintelligence.com">arkhamintelligence.com</a> and search your address</p></li><li><p>Review the <strong>Transfers</strong> tab for any tokens sent to addresses you do not recognize</p></li><li><p>Check the <strong>Platforms</strong> tab to see which protocols your wallet has interacted with</p></li></ol><h3 id="h-what-to-look-for" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">What to Look For</h3><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Signal</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th><th colspan="1" rowspan="1"><p>Action</p></th></tr><tr><td colspan="1" rowspan="1"><p>Contracts you recognize (Uniswap, Aave, etc.)</p></td><td colspan="1" rowspan="1"><p>Low</p></td><td colspan="1" rowspan="1"><p>No action needed</p></td></tr><tr><td colspan="1" rowspan="1"><p>Contracts from protocols you stopped using</p></td><td colspan="1" rowspan="1"><p>Medium</p></td><td colspan="1" rowspan="1"><p>Revoke approvals (Step 2)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Contracts you do not recognize at all</p></td><td colspan="1" rowspan="1"><p>High</p></td><td colspan="1" rowspan="1"><p>Investigate immediately</p></td></tr><tr><td colspan="1" rowspan="1"><p>Contracts that received token transfers you did not initiate</p></td><td colspan="1" rowspan="1"><p>Critical</p></td><td colspan="1" rowspan="1"><p>Possible compromise — move funds</p></td></tr></tbody></table><h2 id="h-step-2-audit-active-token-approvals" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step 2: Audit Active Token Approvals</h2><p>Token approvals are the single most dangerous lingering permission. Every approval gives a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/smart-contract/">smart contract</a> the right to move your tokens without asking again.</p><h3 id="h-how-to-check-your-approvals" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">How to Check Your Approvals</h3><p><strong>Option A: revoke.cash (Recommended)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revoke.cash">revoke.cash</a> is a free tool that aggregates all active approvals across multiple chains:</p><ol><li><p>Connect your wallet (read-only — no signature required)</p></li><li><p>Review every active approval, sorted by token and contract</p></li><li><p>Click <strong>Revoke</strong> next to any approval you do not need</p></li></ol><p><strong>Option B: Etherscan Token Approval Checker</strong></p><ol><li><p>Go to Etherscan and search your address</p></li><li><p>Navigate to the <strong>More</strong> dropdown → <strong>Token Approvals</strong></p></li><li><p>You will see a table of every contract with an active allowance</p></li></ol><h3 id="h-what-to-revoke" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">What to Revoke</h3><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Approval Type</p></th><th colspan="1" rowspan="1"><p>Action</p></th><th colspan="1" rowspan="1"><p>Why</p></th></tr><tr><td colspan="1" rowspan="1"><p>Unlimited approval to a DEX you still use</p></td><td colspan="1" rowspan="1"><p>Consider revoking and re-approving with exact amounts</p></td><td colspan="1" rowspan="1"><p>Reduces blast radius if DEX is compromised</p></td></tr><tr><td colspan="1" rowspan="1"><p>Approval to a protocol you stopped using</p></td><td colspan="1" rowspan="1"><p><strong>Revoke immediately</strong></p></td><td colspan="1" rowspan="1"><p>Unused approvals are pure risk</p></td></tr><tr><td colspan="1" rowspan="1"><p>Approval to a contract you do not recognize</p></td><td colspan="1" rowspan="1"><p><strong>Revoke immediately and investigate</strong></p></td><td colspan="1" rowspan="1"><p>May be a phishing contract</p></td></tr><tr><td colspan="1" rowspan="1"><p>Approval with zero balance</p></td><td colspan="1" rowspan="1"><p>Low priority but clean it up</p></td><td colspan="1" rowspan="1"><p>Risk activates if you receive tokens later</p></td></tr></tbody></table><p>For a deeper explanation of why unlimited approvals are dangerous, see our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/token-approval-safety/">token approval safety guide</a>.</p><h2 id="h-step-3-review-signed-messages-and-blind-signatures" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step 3: Review Signed Messages and Blind Signatures</h2><p>Token approvals are on-chain transactions. But many attacks use <strong>off-chain signatures</strong> — messages you sign that do not cost gas but grant permissions in other ways.</p><h3 id="h-the-blind-signing-problem" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The Blind Signing Problem</h3><p>When you sign a transaction on a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a> or mobile wallet, the screen shows you what you are approving. But if the data is not human-readable — just a hex string — you are <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing</a>. This is how most <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/signature-scam-explained/">signature scams</a> work.</p><h3 id="h-how-to-check-your-signatures" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">How to Check Your Signatures</h3><p>Signing history is harder to audit than approvals because off-chain signatures are not always stored on-chain. However, you can check:</p><ol><li><p><strong>Etherscan → Internal Txns</strong>: Look for transactions where your wallet called <code>permit()</code> or <code>permitMulti()</code> — these are signature-based approvals that bypass the normal <code>approve()</code> flow</p></li><li><p><strong>Your wallet&apos;s signing history</strong>: MetaMask and Rabby store a local log of signed messages. Check your wallet settings for a signature history or activity log</p></li><li><p><strong>Arkham Intelligence</strong>: Look for interactions with known signature-phishing contracts</p></li></ol><h3 id="h-red-flags-in-signature-history" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Red Flags in Signature History</h3><table><colgroup><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Pattern</p></th><th colspan="1" rowspan="1"><p>What It Means</p></th></tr><tr><td colspan="1" rowspan="1"><p>You signed a message on a site you do not remember visiting</p></td><td colspan="1" rowspan="1"><p>Likely a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> site that tricked you</p></td></tr><tr><td colspan="1" rowspan="1"><p>You called <code>permit()</code> on a token you did not intend to approve</p></td><td colspan="1" rowspan="1"><p>An <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/eth-sign-phishing-explained/">eth_sign phishing</a> attack</p></td></tr><tr><td colspan="1" rowspan="1"><p>You signed a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/permit2-exploit-explained/">Permit2</a> permission on an unknown contract</p></td><td colspan="1" rowspan="1"><p>Permits are transferable — the contract can be changed later</p></td></tr></tbody></table><p>If you find any of these, the approval may still be active. Check revoke.cash and revoke any Permit2 permissions to unknown contracts.</p><h2 id="h-step-4-identify-suspicious-contracts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step 4: Identify Suspicious Contracts</h2><p>Your transaction history is a map of every smart contract that has ever touched your wallet. Most are legitimate. A few might be dangerous.</p><h3 id="h-how-to-screen-a-contract" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">How to Screen a Contract</h3><p>For each unknown contract in your history, run this checklist:</p><p><strong>1. Is the source code verified?</strong></p><p>Go to the contract on Etherscan. If the <strong>Contract</strong> tab shows verified source code, it is a legitimate deployer. If it shows only bytecode, the contract is opaque — higher risk.</p><p><strong>2. Does the contract appear on known-phishing databases?</strong></p><p>Check the contract address against:</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.chainabuse.com">Chainabuse</a> — community-reported scam addresses</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scamsniffer.ai">ScamSniffer</a> — real-time phishing detection</p></li><li><p>Your wallet&apos;s built-in scanner (Rabby, MetaMask with security plugins)</p></li></ul><p><strong>3. What does the contract do?</strong></p><p>If verified, read the contract code. Look for:</p><ul><li><p><code>transferFrom()</code> calls that can move tokens without explicit per-transaction approval</p></li><li><p><code>delegatecall</code> to an upgradeable implementation — the logic can change</p></li><li><p>Functions named <code>claim()</code>, <code>sweep()</code>, or <code>drain()</code> — common in malicious contracts</p></li></ul><p><strong>4. Who else has interacted with it?</strong></p><p>On Etherscan, check the contract&apos;s transaction history. If hundreds of wallets interacted with it within a short window and many subsequently sent tokens to the same address, it is likely a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">drainer</a>.</p><h3 id="h-contract-risk-classification" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Contract Risk Classification</h3><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Risk Level</p></th><th colspan="1" rowspan="1"><p>Criteria</p></th><th colspan="1" rowspan="1"><p>Action</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Safe</strong></p></td><td colspan="1" rowspan="1"><p>Verified, well-known protocol (Uniswap Router, Aave, etc.)</p></td><td colspan="1" rowspan="1"><p>No action</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Low</strong></p></td><td colspan="1" rowspan="1"><p>Verified, small protocol, source is readable</p></td><td colspan="1" rowspan="1"><p>Revoke approval if unused</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Medium</strong></p></td><td colspan="1" rowspan="1"><p>Verified but uses <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/proxy-pattern/">proxy</a> or has owner privileges</p></td><td colspan="1" rowspan="1"><p>Monitor for upgrades</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>High</strong></p></td><td colspan="1" rowspan="1"><p>Unverified, or matches phishing database</p></td><td colspan="1" rowspan="1"><p><strong>Revoke all approvals, move funds</strong></p></td></tr></tbody></table><h2 id="h-step-5-check-your-wallet-labels-and-exposure" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Step 5: Check Your Wallet Labels and Exposure</h2><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wallet-labels/">Wallet labels</a> are tags assigned by on-chain analytics firms to categorize addresses. If your wallet has been labeled, it affects how protocols treat you — and how attackers target you.</p><h3 id="h-how-to-check-your-labels" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">How to Check Your Labels</h3><ol><li><p><strong>Arkham Intelligence</strong>: Search your address and check the <strong>Labels</strong> section</p></li><li><p><strong>Etherscan</strong>: The address page may show a name tag if you have interacted with labeled entities</p></li><li><p><strong>Nansen</strong> (paid): Comprehensive labeling, but the free Arkham tier covers most needs</p></li></ol><h3 id="h-why-labels-matter-for-security" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Why Labels Matter for Security</h3><p>Labels reveal your wallet&apos;s exposure profile:</p><table><colgroup><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Label</p></th><th colspan="1" rowspan="1"><p>Security Implication</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>DEX Trader</strong></p></td><td colspan="1" rowspan="1"><p>You have many active approvals — audit them</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>DeFi Power User</strong></p></td><td colspan="1" rowspan="1"><p>High interaction count — more attack surface</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Whale</strong></p></td><td colspan="1" rowspan="1"><p>You are a high-value target for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">phishing campaigns</a></p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>No label</strong></p></td><td colspan="1" rowspan="1"><p>You may be flying under the radar — good for security</p></td></tr></tbody></table><p>Understanding your wallet&apos;s public profile helps you calibrate your security posture. A whale wallet with 50 active approvals is a sitting duck. A small wallet with 3 approvals to major protocols is low risk.</p><h2 id="h-building-a-wallet-audit-habit" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Building a Wallet Audit Habit</h2><p>A one-time audit is better than nothing, but wallet security is ongoing. Every new dApp interaction adds to your attack surface.</p><h3 id="h-recommended-audit-cadence" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Recommended Audit Cadence</h3><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Frequency</p></th><th colspan="1" rowspan="1"><p>What to Check</p></th><th colspan="1" rowspan="1"><p>Time Required</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Weekly</strong></p></td><td colspan="1" rowspan="1"><p>Quick check: any new approvals from the past week</p></td><td colspan="1" rowspan="1"><p>2 minutes</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Monthly</strong></p></td><td colspan="1" rowspan="1"><p>Full approval audit on revoke.cash</p></td><td colspan="1" rowspan="1"><p>10 minutes</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Quarterly</strong></p></td><td colspan="1" rowspan="1"><p>Complete 5-step audit described in this guide</p></td><td colspan="1" rowspan="1"><p>30 minutes</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>After any new dApp interaction</strong></p></td><td colspan="1" rowspan="1"><p>Verify what you just approved</p></td><td colspan="1" rowspan="1"><p>2 minutes</p></td></tr></tbody></table><h3 id="h-wallet-segmentation-strategy" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Wallet Segmentation Strategy</h3><p>The most effective security practice is to use separate wallets for different risk levels:</p><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Wallet</p></th><th colspan="1" rowspan="1"><p>Purpose</p></th><th colspan="1" rowspan="1"><p>Risk Level</p></th><th colspan="1" rowspan="1"><p>Funds Kept</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Cold storage</strong></p></td><td colspan="1" rowspan="1"><p>Long-term holdings</p></td><td colspan="1" rowspan="1"><p>Minimal</p></td><td colspan="1" rowspan="1"><p>Majority of assets</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>DeFi wallet</strong></p></td><td colspan="1" rowspan="1"><p>Active trading and yield farming</p></td><td colspan="1" rowspan="1"><p>Medium</p></td><td colspan="1" rowspan="1"><p>Only what you are actively using</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Experimental wallet</strong></p></td><td colspan="1" rowspan="1"><p>New dApps, airdrop farming, test contracts</p></td><td colspan="1" rowspan="1"><p>High</p></td><td colspan="1" rowspan="1"><p>Minimal — treat as disposable</p></td></tr></tbody></table><p>If your experimental wallet gets drained, your cold storage is untouched. This segmentation is more effective than any single security tool.</p><h2 id="h-tools-summary" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Tools Summary</h2><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Tool</p></th><th colspan="1" rowspan="1"><p>Purpose</p></th><th colspan="1" rowspan="1"><p>Cost</p></th></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://revoke.cash">revoke.cash</a></p></td><td colspan="1" rowspan="1"><p>Audit and revoke token approvals</p></td><td colspan="1" rowspan="1"><p>Free</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io">Etherscan</a></p></td><td colspan="1" rowspan="1"><p>Transaction history, contract verification</p></td><td colspan="1" rowspan="1"><p>Free</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.arkhamintelligence.com">Arkham Intelligence</a></p></td><td colspan="1" rowspan="1"><p>Visual wallet analysis, labels</p></td><td colspan="1" rowspan="1"><p>Free tier</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.chainabuse.com">Chainabuse</a></p></td><td colspan="1" rowspan="1"><p>Report and check scam addresses</p></td><td colspan="1" rowspan="1"><p>Free</p></td></tr><tr><td colspan="1" rowspan="1"><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scamsniffer.ai">ScamSniffer</a></p></td><td colspan="1" rowspan="1"><p>Real-time phishing detection</p></td><td colspan="1" rowspan="1"><p>Free</p></td></tr></tbody></table><h2 id="h-limitations" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Limitations</h2><p>This audit covers on-chain activity only. It cannot detect:</p><ul><li><p><strong>Off-chain malware</strong>: Keyloggers, clipboard hijackers, or browser extensions that replace addresses</p></li><li><p><strong>Social engineering</strong>: Someone convincing you to send funds voluntarily</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/address-poisoning/">Address poisoning</a> attacks that trick you into sending to a look-alike address</p></li><li><p><strong>Custodial risk</strong>: Funds on exchanges are not protected by wallet auditing</p></li></ul><p>For comprehensive security, combine regular on-chain audits with <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">hardware wallet</a> usage, a dedicated browser for DeFi activity, and healthy skepticism toward unsolicited messages.</p><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><h3 id="h-how-often-should-i-audit-my-wallet" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">How often should I audit my wallet?</h3><p>At minimum, run a full approval check on revoke.cash once a month. Do a complete 5-step audit quarterly. Always audit immediately after interacting with a new or unfamiliar dApp.</p><h3 id="h-can-auditing-my-wallet-prevent-all-hacks" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Can auditing my wallet prevent all hacks?</h3><p>No. Audits catch lingering permissions and suspicious past interactions, but they cannot prevent real-time phishing attacks or zero-day contract exploits. Audits reduce your attack surface — they do not eliminate it. Combine auditing with hardware wallet usage and transaction simulation.</p><h3 id="h-what-if-i-find-an-approval-to-a-contract-i-do-not-recognize" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">What if I find an approval to a contract I do not recognize?</h3><p>Revoke it immediately on revoke.cash, then investigate the contract address on Etherscan. If the contract is unverified or appears on phishing databases, consider moving your funds to a fresh wallet address.</p><h3 id="h-does-revoking-an-approval-cost-gas" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Does revoking an approval cost gas?</h3><p>Yes. Revoking is an on-chain transaction that sets the allowance to zero. On Ethereum mainnet, this typically costs $5–20 in gas depending on network conditions. On Layer 2 networks like Base or Arbitrum, the cost is usually under $0.10.</p><h3 id="h-is-it-safe-to-connect-my-wallet-to-revokecash" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Is it safe to connect my wallet to revoke.cash?</h3><p>Yes. revoke.cash only needs read access to your approval data. It does not request token transfers or permission to spend. When you revoke, the transaction is initiated from your wallet — revoke.cash cannot act without your explicit confirmation.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/"><em>https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/eb6c60025dc459b154805727565578d30117d405b828a6ffcc9b2bf405505829.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How Stolen Crypto Is Actually Recovered: The Real Process Behind the Headlines]]></title>
            <link>https://paragraph.com/@onchaindiary/how-stolen-crypto-is-recovered</link>
            <guid>EoRuuRBMoGOhhuuamSHL</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:42 GMT</pubDate>
            <description><![CDATA[In February 2022, the U.S. Department of Justice announced the largest financial seizure in its history: 94,636 bitcoin, worth roughly $3.6 billion at the time, tied to the 2016 hack of the Bitfinex exchange. The theft itself had been one of the biggest mysteries in crypto — 119,754 BTC gone through a series of transfers and fake identities. The seizure did not come from reversing anything on the blockchain. It came from years of investigation, cloud-storage warrants, and finally the private ...]]></description>
            <content:encoded><![CDATA[<p>In February 2022, the U.S. Department of Justice announced the largest financial seizure in its history: 94,636 bitcoin, worth roughly $3.6 billion at the time, tied to the 2016 hack of the Bitfinex exchange. The theft itself had been one of the biggest mysteries in crypto — 119,754 BTC gone through a series of transfers and fake identities. The seizure did not come from reversing anything on the blockchain. It came from years of investigation, cloud-storage warrants, and finally the private keys to the thieves&apos; own wallets — keys held by a married couple who would later plead guilty in federal court.</p><p>That is what crypto recovery actually looks like. Not a chargeback, not a support ticket, not a &quot;blockchain recovery expert&quot; messaging you on Reddit. It is a forensic and legal process — slow, evidence-driven, and largely out of the victim&apos;s hands. Understanding how it works matters for two reasons: it tells you what to do in the hours after a theft, and it inoculates you against the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">recovery scam</a> industry that swarms every victim within hours.</p><h2 id="h-the-short-answer" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Short Answer</h2><p>A confirmed blockchain transaction cannot be reversed, disputed, or clawed back by anyone — including the network itself. When people say stolen crypto was &quot;recovered,&quot; they mean one of four things happened:</p><ol><li><p><strong>Funds were frozen at an exchange.</strong> Stolen crypto moved into a regulated exchange account, and that exchange — responding to law enforcement or its own risk team — locked the account before withdrawal.</p></li><li><p><strong>Funds were seized on-chain.</strong> Investigators obtained the thief&apos;s private keys (through arrest, search warrant, or plea cooperation) and moved the funds to a government-controlled wallet.</p></li><li><p><strong>A court ordered forfeiture and restitution.</strong> Seized assets were liquidated or distributed back to victims through a legal claims process.</p></li><li><p><strong>The thief was forced to return funds.</strong> Negotiated returns, plea deals, or hacks where the attacker returned most of the loot under pressure (rare, but it happens — the Poly Network return of 2021 is the canonical example).</p></li></ol><p>Every real recovery in history fits one of these four buckets. If a &quot;recovery service&quot; claims a fifth method — AI transaction tracing that &quot;freezes&quot; coins on the blockchain, hacking the scammer&apos;s wallet, special blockchain &quot;reversal&quot; protocols — that method does not exist.</p><h2 id="h-why-recovery-is-possible-at-all" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why Recovery Is Possible at All</h2><p>Irreversibility and traceability are different properties. The blockchain cannot undo a transfer, but it never forgets one either. That permanent, public ledger is what makes recovery conceivable:</p><p><strong>Stolen funds need exits.</strong> Crypto is only useful to a thief once it becomes spendable. The largest off-ramps — centralized exchanges with banking relationships — all run <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/kyc/">KYC</a> programs. When stolen funds land at a regulated exchange, the trail jumps from pseudonymous on-chain data to a verified human identity. That jump is where most recoveries begin.</p><p><strong>Private keys are physical evidence.</strong> Unlike a bank account number, control of a private key is control of the money. When law enforcement arrests a suspect and seizes their devices, they can sometimes take the keys themselves — which is exactly how the Bitfinex seizure worked.</p><p><strong>Chain analysis has industrialized.</strong> Firms like Chainalysis and TRM Labs build attribution databases that cluster addresses by real-world entity — exchanges, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/mixer/">mixers</a>, sanctioned actors — and sell that intelligence to exchanges, banks, and governments. The same <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wallet-labels/">wallet labeling</a> techniques you can use for free to understand a counterparty are used at nation-state scale to follow stolen funds across chains and years.</p><p><strong>Stablecoins add a control point.</strong> Major stablecoin issuers can freeze their own tokens at any address. Circle froze USDC connected to the Ronin Bridge hack within days in 2022, and in 2025 Tether and Chainalysis launched a joint initiative to freeze USDT linked to theft on secondary-market venues. Stablecoin theft is not beyond reach — it has a built-in kill switch the issuer can pull under legal process.</p><h2 id="h-the-actual-recovery-pipeline" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Actual Recovery Pipeline</h2><p>Recovery is a relay. The victim runs the first leg; everything after that belongs to institutions. Here is what the full pipeline looks like:</p><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Stage</p></th><th colspan="1" rowspan="1"><p>Who runs it</p></th><th colspan="1" rowspan="1"><p>What happens</p></th><th colspan="1" rowspan="1"><p>Your role</p></th></tr><tr><td colspan="1" rowspan="1"><p>1. Detection and evidence</p></td><td colspan="1" rowspan="1"><p>You</p></td><td colspan="1" rowspan="1"><p>Theft discovered; evidence preserved</p></td><td colspan="1" rowspan="1"><p>Collect everything: hashes, addresses, timestamps, chat logs</p></td></tr><tr><td colspan="1" rowspan="1"><p>2. Reporting</p></td><td colspan="1" rowspan="1"><p>You</p></td><td colspan="1" rowspan="1"><p>Complaint filed with law enforcement</p></td><td colspan="1" rowspan="1"><p>File with FBI IC3 (US) and your local cybercrime unit; get the complaint ID</p></td></tr><tr><td colspan="1" rowspan="1"><p>3. Exchange freeze requests</p></td><td colspan="1" rowspan="1"><p>You / your exchange</p></td><td colspan="1" rowspan="1"><p>Deposit addresses flagged to exchange fraud teams</p></td><td colspan="1" rowspan="1"><p>Email the receiving exchange&apos;s abuse channel with full evidence</p></td></tr><tr><td colspan="1" rowspan="1"><p>4. Triage</p></td><td colspan="1" rowspan="1"><p>Law enforcement</p></td><td colspan="1" rowspan="1"><p>Complaints aggregated, cross-referenced against active cases</p></td><td colspan="1" rowspan="1"><p>Respond if contacted; keep the complaint ID</p></td></tr><tr><td colspan="1" rowspan="1"><p>5. Tracing</p></td><td colspan="1" rowspan="1"><p>Investigators / analytics firms</p></td><td colspan="1" rowspan="1"><p>Funds followed across hops, chains, and mixers</p></td><td colspan="1" rowspan="1"><p>None — this is out of your hands</p></td></tr><tr><td colspan="1" rowspan="1"><p>6. Legal process</p></td><td colspan="1" rowspan="1"><p>Prosecutors</p></td><td colspan="1" rowspan="1"><p>Subpoenas for KYC records; seizure warrants; arrests</p></td><td colspan="1" rowspan="1"><p>Possibly testify or submit a victim statement</p></td></tr><tr><td colspan="1" rowspan="1"><p>7. Seizure</p></td><td colspan="1" rowspan="1"><p>Law enforcement</p></td><td colspan="1" rowspan="1"><p>Assets frozen at exchanges or moved from seized keys</p></td><td colspan="1" rowspan="1"><p>Track case docket if public</p></td></tr><tr><td colspan="1" rowspan="1"><p>8. Forfeiture and restitution</p></td><td colspan="1" rowspan="1"><p>Courts</p></td><td colspan="1" rowspan="1"><p>Assets liquidated; claims process for victims</p></td><td colspan="1" rowspan="1"><p>File a claim with proof of loss</p></td></tr></tbody></table><p>Two things stand out about this table. First, your actionable window is steps 1–3 — the first 48 hours, before you have any professional help. Second, everything after step 3 runs on timescales measured in months and years, not days.</p><h2 id="h-real-recoveries-real-numbers" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Real Recoveries, Real Numbers</h2><p>The public record includes enough completed recoveries to see the pattern:</p><table><colgroup><col><col><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Case</p></th><th colspan="1" rowspan="1"><p>Year</p></th><th colspan="1" rowspan="1"><p>Stolen</p></th><th colspan="1" rowspan="1"><p>Recovered</p></th><th colspan="1" rowspan="1"><p>How</p></th><th colspan="1" rowspan="1"><p>Time to recovery</p></th></tr><tr><td colspan="1" rowspan="1"><p>Colonial Pipeline ransom</p></td><td colspan="1" rowspan="1"><p>2021</p></td><td colspan="1" rowspan="1"><p>~$4.4M in BTC</p></td><td colspan="1" rowspan="1"><p>~$2.3M (63.7 BTC)</p></td><td colspan="1" rowspan="1"><p>DOJ traced ransom payments to a wallet and obtained the private key</p></td><td colspan="1" rowspan="1"><p>Weeks</p></td></tr><tr><td colspan="1" rowspan="1"><p>KuCoin exchange hack</p></td><td colspan="1" rowspan="1"><p>2020</p></td><td colspan="1" rowspan="1"><p>~$280M</p></td><td colspan="1" rowspan="1"><p>Majority reported recovered by 2021</p></td><td colspan="1" rowspan="1"><p>Tracing plus coordinated freezes across exchanges; some projects swapped tokens</p></td><td colspan="1" rowspan="1"><p>Months</p></td></tr><tr><td colspan="1" rowspan="1"><p>PlusToken pyramid</p></td><td colspan="1" rowspan="1"><p>2019</p></td><td colspan="1" rowspan="1"><p>~$2B+</p></td><td colspan="1" rowspan="1"><p>Massive asset seizures by Chinese authorities</p></td><td colspan="1" rowspan="1"><p>Arrests of operators; seizure of wallets holding hundreds of thousands of BTC</p></td><td colspan="1" rowspan="1"><p>~1 year</p></td></tr><tr><td colspan="1" rowspan="1"><p>Bitfinex hack</p></td><td colspan="1" rowspan="1"><p>2016</p></td><td colspan="1" rowspan="1"><p>119,754 BTC (~$72M then)</p></td><td colspan="1" rowspan="1"><p>94,636 BTC seized (~$3.6B at 2022 prices)</p></td><td colspan="1" rowspan="1"><p>Years of investigation; arrests; private keys seized</p></td><td colspan="1" rowspan="1"><p>6 years</p></td></tr></tbody></table><p>The pattern in these cases: recovery tracked the funds&apos; movement toward identifiable people. Colonial Pipeline worked in weeks because the attackers&apos; wallet was found before funds dispersed. Bitfinex took six years because the thieves sat on the coins and laundered them slowly through mixers and fake identities — but sitting on stolen coins creates its own risk, since the keys must be kept and any slip (a cloud account, an exchange login, an informant) hands investigators everything.</p><p>The Bitfinex case also shows the last mile: seizure is not the same as getting money back. After the arrests, a court-run restitution process for the exchange and its users took years more, including a claims procedure that was still winding through courts long after the headline seizure. Recovery is slow at every stage, and that slowness is exactly what recovery scammers exploit when they promise results in days.</p><h2 id="h-what-to-do-in-the-first-48-hours" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What To Do in the First 48 Hours</h2><p>The hours right after a theft are when you can still influence the outcome. Speed matters because funds that reach an exchange can be frozen — funds that reach a mixer are far harder to touch.</p><p><strong>Hour 0–2: Stop the bleeding.</strong></p><ul><li><p>Disconnect the compromised wallet from any dApp; if the seed phrase is exposed, move remaining assets to a fresh wallet from a clean device.</p></li><li><p>Do not keep transacting from the compromised wallet — you are feeding the attacker your new addresses.</p></li></ul><p><strong>Hour 2–24: Build the evidence package.</strong></p><ul><li><p>Transaction hash(s) of the theft, receiving address(es), chain, asset, amount, and block timestamp.</p></li><li><p>The full story: how contact started, URLs visited, what you signed, chat logs, payment demands.</p></li><li><p>Any addresses you can see the funds moving to afterward (a block explorer&apos;s view of the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">wallet drainer&apos;s</a> collection wallet is enough — you don&apos;t need to trace it yourself; that is <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">a discipline of its own</a>).</p></li></ul><p><strong>Day 1–2: Report and request freezes.</strong></p><ul><li><p>File with the FBI&apos;s Internet Crime Complaint Center (IC3) if you are US-based or the theft touches US entities, plus your local cybercrime unit elsewhere. Keep the complaint number — cases get aggregated, and your evidence may join an existing investigation.</p></li><li><p>If you can identify the exchange where funds landed (its deposit address matches a labeled exchange wallet), send that exchange&apos;s abuse/fraud channel a concise freeze request: hashes, addresses, timestamp, your IC3 number.</p></li><li><p>If you paid through your own bank or exchange account (fiat on-ramp fraud), report there too — traditional chargeback rails sometimes apply to the fiat leg.</p></li></ul><p><strong>The one rule that overrides everything:</strong> during all of this, strangers will contact you offering to recover the funds — on Reddit, Telegram, even in the comments of complaint threads. They watched you post. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">recovery scam</a> economy exists because victims are findable and desperate. No upfront fees, no seed phrases, no &quot;recovery agent&quot; wallet access — ever.</p><h2 id="h-what-determines-whether-your-case-gets-worked" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What Determines Whether Your Case Gets Worked</h2><p>Honesty matters here: the pipeline above is real, but it is not equally available to everyone. Investigators prioritize by:</p><ul><li><p><strong>Aggregate size.</strong> A $500M hack becomes a multi-agency task force. A $5,000 theft becomes one row in an IC3 database that may match against a larger pattern.</p></li><li><p><strong>Aggregation potential.</strong> Complaints against the same scam operation get bundled. Ten thousand victims of one drainer campaign are a case; one victim is an anecdote. This is why filing matters even when you expect nothing — your row is what makes the pattern visible.</p></li><li><p><strong>Trace quality.</strong> A complaint with clean hashes and addresses can be joined to an active investigation automatically. A complaint that says &quot;I lost my crypto to a fake site&quot; cannot.</p></li><li><p><strong>Jurisdictional nexus.</strong> Stolen funds that touch US exchanges or US persons bring the case into reach of US law enforcement, which has the most developed crypto seizure practice. Pure cross-border flows between non-cooperating jurisdictions often stall.</p></li></ul><p>None of this is fair to a small victim, and pretending otherwise would be false comfort. But the trajectory is improving: seizure totals have grown year over year as agencies build dedicated teams, exchanges automate freeze workflows, and stablecoin issuers centralize a choke point that did not exist five years ago. The system that recovered nothing in 2016 now recovers billions annually — mostly in large cases, with spillover benefits to aggregated smaller ones.</p><h2 id="h-where-victim-tracing-ends" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Where Victim Tracing Ends</h2><p>A common mistake is spending weeks personally chasing the funds through block explorers, hop after hop, into a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/mixer/">mixer</a> and out the other side. Victim tracing has a role — producing the initial map of where funds went in the first hours — but professional tracing is a different job: attribution databases, exchange cooperation, subpoena power, and seizure authority. You cannot subpoena anyone. Your tracing job ends at a clean, timestamped evidence package.</p><p>The division of labor is simple. You do steps 1–3 of the pipeline: evidence, reports, freeze requests. Everything beyond that belongs to people with legal power — and the more precisely you document the first 48 hours, the more usable your case is to them, and the better your odds if your theft turns out to be part of a bigger, chargeable operation.</p><h2 id="h-limitations" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Limitations</h2><ul><li><p><strong>Most small thefts are never recovered.</strong> The honest base rate for individual cases under a few thousand dollars is close to zero, absent aggregation into a larger case.</p></li><li><p><strong>Recovery is not compensation for bad opsec.</strong> Prevention — hardware wallets, approval hygiene, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> awareness — remains orders of magnitude more effective than any recovery path. A recovered hack is the exception; an avoided hack is a decision.</p></li><li><p><strong>Timelines run long and can end empty.</strong> Seizures can be overturned in court, forfeiture proceedings can take years, and restitution may return a fraction of the loss.</p></li><li><p><strong>This is not legal advice.</strong> Procedures differ by country; a local lawyer familiar with crypto asset recovery can help navigate freeze orders and civil claims in ways this general map cannot.</p></li></ul><h2 id="h-related-reading" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Related Reading</h2><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/">Crypto Recovery Scams Explained</a> — the second scam that targets every victim, and the red flags that expose it</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">How to Track Stolen Crypto</a> — the victim-side tracing workflow that produces the evidence package described here</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/wallet-labels/">Wallet Labels Guide</a> — how addresses get attributed to exchanges and services, the foundation of all fund tracing</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">How to Avoid Crypto Phishing Scams</a> — prevention, the recovery strategy that actually works</p></li></ul><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/"><em>https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/4ae10d576141c5a07b06efa52461c27c9bfd755f6f0c4688ddc3da6490e353e0.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[How Fake Airdrops Reach You: Hijacked Accounts, Discord Bots, and Compromised News Sites]]></title>
            <link>https://paragraph.com/@onchaindiary/fake-airdrop-distribution-channels</link>
            <guid>vh19ZszZtLjlZWLdD0c2</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:34 GMT</pubDate>
            <description><![CDATA[Nobody builds a fake claim site and waits. Distribution is where the effort goes. The page is a commodity — rented from a drainer kit, deployed on a lookalike domain in minutes. What separates a $50 scam from a $500,000 one is traffic quality: getting the link in front of people who (a) hold assets, (b) expect an airdrop, and (c) are in a hurry. This guide maps the five distribution channels that actually deliver victims, using documented incidents, and shows where each one breaks — both tech...]]></description>
            <content:encoded><![CDATA[<p>Nobody builds a fake claim site and waits. Distribution is where the effort goes.</p><p>The page is a commodity — rented from a drainer kit, deployed on a lookalike domain in minutes. What separates a $50 scam from a $500,000 one is traffic quality: getting the link in front of people who (a) hold assets, (b) expect an airdrop, and (c) are in a hurry. This guide maps the five distribution channels that actually deliver victims, using documented incidents, and shows where each one breaks — both technically and psychologically.</p><p>If you have already read <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/biggest-airdrop-scams-anatomy/">how the biggest airdrop scams work</a>, this is the traffic layer of that machine.</p><h2 id="h-channel-1-hijacked-x-accounts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Channel 1: Hijacked X accounts</h2><p>X remains the primary distribution channel for fake airdrops because it concentrates both projects and their followers.</p><p>Three variants dominate:</p><ul><li><p><strong>Full account takeover.</strong> The attacker seizes a project account — through credential reuse, SIM swaps, or a compromised employee — and posts the fake claim to an audience that has spent years being trained to trust it. The larger and more legitimate the account, the more efficient the drain.</p></li><li><p><strong>Reply phishing.</strong> Under every real announcement, cloned accounts with near-identical handles reply &quot;portal is open&quot; or &quot;claim window extended&quot; with a link. The reply piggybacks on the legitimate signal. This is a volume game: post under hundreds of announcements, harvest the clicks.</p></li><li><p><strong>Verified impersonators.</strong> Verification badges are purchasable, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">social engineering</a> works better with a checkmark. Users read the badge as an authenticity signal when it is only a payment signal.</p></li></ul><p>The failure mode to internalize: <strong>the account is a messenger, not a destination.</strong> Any account can be taken over tonight. When a claim link appears, the question is never &quot;who posted it&quot; but &quot;where does it go and what does the claim contract do&quot; — which you can verify with the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-scam-checker/">on-chain airdrop verification workflow</a>.</p><h2 id="h-channel-2-discord-and-telegram-the-fake-announcement-bot" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Channel 2: Discord and Telegram — the fake announcement bot</h2><p>Discord is where airdrop anticipation lives, and fake bots imitate the real announcement infrastructure.</p><p>The pattern is studied: legitimate projects announce things through bots with distinctive names and avatars. Attackers register bots that copy the naming convention — &quot;OfficialAnnouncements&quot; with a nearly identical avatar — then either DM members directly or post in general channels when moderators are asleep. The most effective variant replies <em>to the real announcement</em> within seconds: &quot;Claim portal now open,&quot; with a link.</p><p>Discord&apos;s DM-from-strangers setting should be off by default in any server you use for airdrop hunting. The rule that never breaks: <strong>no legitimate project distributes claims via DM.</strong> If a claim link arrives by DM, it is hostile — not probably hostile, certainly.</p><p>Telegram adds the fake-support variant: after you post a question in a project group, impostors DM you &quot;helpfully&quot; with a wallet-connect &quot;diagnostic&quot; page. That page is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing attack</a> dressed as customer service.</p><h2 id="h-channel-3-paid-search-ads-on-branded-keywords" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Channel 3: Paid search ads on branded keywords</h2><p>Attackers buy ads. Search any major wallet, bridge, or airdrop claim brand and the top result is frequently a paid placement — sometimes the scammer, sometimes the official site, and it rotates.</p><p>Scam Sniffer&apos;s 2024 reporting attributed a meaningful share of drainer victims to paid-ad clicks: users searching for a wallet or claim site, clicking the first result, and connecting on a pixel-perfect clone. The ad platforms pull malicious ads when reported, but the economics favor the attacker — a few dollars of ad spend against a potential five-figure drain, on a domain that can be swapped when flagged.</p><p>Defense is a habit, not a skill: <strong>never click ads for anything crypto.</strong> Type the domain directly or use a bookmark. For airdrop claims specifically, get the URL from the project&apos;s official documentation and cross-check it against their GitHub and announcement channels — two independent sources minimum, as detailed in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/">how to claim airdrops safely</a>.</p><h2 id="h-channel-4-fake-live-streams" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Channel 4: Fake live streams</h2><p>The format: a &quot;live&quot; event — often a fake version of a real conference appearance or project AMA — on a video platform, with the airdrop link pinned in the description or overlay. The footage is usually a looped recording of a real executive; the QR code or URL in the corner is the payload.</p><p>Streams work because they manufacture urgency and legitimacy at once: something is happening <em>right now</em>, authority figures are on screen, and the comment section (frequently bot-populated) celebrates the claim. They also survive longer than a phishy-looking page because the video platform&apos;s domain is legitimate; only the outbound link is malicious.</p><p>If a stream is promoting a claim and the URL is not one you can verify against official documentation, treat the entire event as packaging. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/address-poisoning/">address poisoning</a> lesson applies at the URL level too: attackers bet on you glancing instead of reading.</p><h2 id="h-channel-5-compromised-media-and-tooling" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Channel 5: Compromised media and tooling</h2><p>The highest-trust channel is the victim&apos;s trusted reading surface itself.</p><p>On June 23, 2025, CoinDesk reported that <strong>Cointelegraph&apos;s front end had been exploited</strong> to inject fake &quot;CTG token&quot; airdrop pop-ups urging readers to connect wallets. The same weekend, <strong>CoinMarketCap</strong> was compromised to serve similar pop-ups. These were not lookalike sites — they were the actual properties, serving attacker content through a front-end exploit.</p><p>This channel breaks the standard advice loop completely. &quot;Only trust official sources&quot; assumes the source is intact. When the delivery layer is compromised, verification must move to the only layers the attacker cannot easily fake:</p><ul><li><p><strong>The destination contract.</strong> Look it up on a block explorer; check deployer history and holder distribution before connecting. See <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-spot-wallet-drainers/">how to spot wallet drainers</a>.</p></li><li><p><strong>The signature request.</strong> Whatever the page says, the wallet prompt shows what you are actually authorizing. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">Blind signing</a> is how these incidents convert readers into victims.</p></li><li><p><strong>Independent confirmation.</strong> A real airdrop exists in multiple independent places — docs, GitHub, explorer history — not only in the pop-up in front of you.</p></li></ul><h2 id="h-the-channel-agnostic-rules" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The channel-agnostic rules</h2><p>Every channel above delivers the same payload: a URL. Strip away the delivery mechanism and the defense collapses into four habits:</p><ol><li><p><strong>Bookmark your claim destinations.</strong> Decide the URL from official documentation <em>before</em> the frenzy, not during it.</p></li><li><p><strong>Treat urgency as evidence of attack.</strong> Countdown timers, &quot;last chance&quot; claims, and &quot;portal closes in X minutes&quot; are pressure tools. Real distributions run for days or weeks.</p></li><li><p><strong>Isolate the blast radius.</strong> Use a dedicated wallet for claims so that even a perfect fake only reaches an empty account — the workflow is in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/">how to claim airdrops safely</a>.</p></li><li><p><strong>Never let the messenger authenticate the destination.</strong> Account, DM, ad, stream, or even the news site itself — all of them are channels, none of them are proof.</p></li></ol><p>The full pre-claim verification list lives in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-safety-checklist/">the airdrop safety checklist</a>. This article is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/"><em>https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/0ef3c38ca75a03e7f4e51387e82e92053405ef3b3871b10f7e4da14e66d34fb5.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[EIP-7702 Airdrop Phishing: One Signature, Total Wallet Control]]></title>
            <link>https://paragraph.com/@onchaindiary/eip-7702-airdrop-phishing</link>
            <guid>lC5XTBL5Q16xR54ESb54</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:28 GMT</pubDate>
            <description><![CDATA[Ethereum's Pectra upgrade shipped a genuine convenience feature, and the phishing industry integrated it faster than most users learned its name. EIP-7702 lets a regular account — an EOA — attach smart contract code to itself. Signed once, the delegation gives the account superpowers it never had: batch a dozen actions into one transaction, let someone else sponsor your gas, recover a lost key through social recovery. Wallets and account abstraction projects built on it immediately. So did dr...]]></description>
            <content:encoded><![CDATA[<p>Ethereum&apos;s Pectra upgrade shipped a genuine convenience feature, and the phishing industry integrated it faster than most users learned its name.</p><p>EIP-7702 lets a regular account — an <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/eoa/">EOA</a> — attach smart contract code to itself. Signed once, the delegation gives the account superpowers it never had: batch a dozen actions into one transaction, let someone else sponsor your gas, recover a lost key through social recovery. Wallets and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/account-abstraction/">account abstraction</a> projects built on it immediately.</p><p>So did drainer kits. Within weeks of Pectra going live in May 2025, Scam Sniffer documented the first case of the new surface being weaponized: on <strong>May 24, 2025, a MetaMask user lost approximately $146,600</strong> after signing a malicious 7702 batched transaction. This guide explains the mechanism, why it is qualitatively scarier than approval phishing, and the discipline that neutralizes it. It is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a> because claim pages are the primary delivery vector.</p><h2 id="h-what-a-7702-delegation-actually-grants" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What a 7702 delegation actually grants</h2><p>Understand the mechanism in one paragraph: an approval grants a <em>contract</em> limited rights over <em>specific assets</em> — it can <code>transferFrom</code> tokens up to an allowance. A 7702 authorization goes further: it makes designated contract code execute <strong>as your account</strong>. Your address, your balances, your NFTs, your signing power — routed through logic the delegate contains. Where an approval-style drainer must work asset by asset through allowances, a malicious delegate can act with the account&apos;s full authority in one batched transaction.</p><p>That is why security teams treated the May 2025 incident as a category change, not another variant. The batched transaction executed under the victim&apos;s account can move holdings that approval-phishing victims would have considered safe — assets sitting outside any allowance.</p><p>To be precise about scope: the delegation binds while active and the malicious batch typically executes immediately (attackers do not wait), and the victim&apos;s signature is the only authorization step. No seed phrase, no later confirmation. One click, full account.</p><h2 id="h-why-airdrop-pages-are-the-delivery-vector" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why airdrop pages are the delivery vector</h2><p>The feature is opt-in — the attack requires a signature from a context where signing feels routine. Airdrop season is engineered for exactly that:</p><ul><li><p>Users are <em>trained to connect and sign</em> on unfamiliar sites (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/testnet-airdrop-safety/">testnet seasons</a> are the training camp).</p></li><li><p>Claim flows already involve unfamiliar contract interactions, so an &quot;authorization&quot; step does not stand out.</p></li><li><p>Urgency (&quot;claim window closing&quot;) shortens the read-the-prompt phase to zero.</p></li></ul><p>Fake claim pages and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-eligibility-checker-phishing/">eligibility checkers</a> thus became the natural carriers for 7702 payloads. The pattern to burn in: <strong>a claim that wants an &quot;authorization&quot; or &quot;upgrade&quot; signature is not a claim.</strong> Receiving tokens does not require delegating your account, ever.</p><h2 id="h-what-the-prompt-looks-like-and-how-wallets-responded" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What the prompt looks like — and how wallets responded</h2><p>After the first exploits, wallet developers moved fast. MetaMask and other major wallets added dedicated 7702 warning UI: delegation payloads are flagged distinctly from ordinary transactions and signatures, typically surfacing the delegate address with explicit account-level language.</p><p>Your reading of the prompt, though, remains the control loop:</p><ol><li><p><strong>The label.</strong> Any wording about <em>authorization</em>, <em>delegation</em>, <em>upgrading</em>, or <em>adding code to your account</em> — on a page you came to for an airdrop — is a takeover attempt. Full stop.</p></li><li><p><strong>The delegate address.</strong> If you are genuinely completing a 7702 flow with a wallet app you trust, verify the delegate against that app&apos;s published documentation. On a claim site, there is nothing to verify against — which is the answer.</p></li><li><p><strong>The transaction shape.</strong> A legitimate claim is a call to a distributor contract. A batch that includes a delegation plus transfers you did not compose is attacker-authored code. If your wallet shows a multi-action batch you did not build, you are reading someone else&apos;s plan for your account.</p></li></ol><p>For the general discipline of reading prompts — function, spender, allowance, decodability — see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">airdrop signature scams</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing</a>.</p><h2 id="h-defense-the-same-three-layers-reweighted" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Defense: the same three layers, reweighted</h2><p>The 7702 era does not change the defense stack; it raises the stakes on each layer:</p><ol><li><p><strong>Isolation.</strong> The dedicated claim wallet from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/">how to claim airdrops safely</a> now matters more: a malicious delegate on an empty wallet delegates nothing. This layer alone converts the attack from catastrophic to irrelevant.</p></li><li><p><strong>Navigation discipline.</strong> The bookmark-the-official-URL habit from <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/">fake airdrop distribution channels</a> keeps you off carrier pages entirely. Most 7702 victims never interacted with the real project at all — only its phishing clones.</p></li><li><p><strong>Prompt literacy.</strong> The signature taxonomy in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">airdrop signature scams</a> now has a fifth member. Learn the smell of all five: <code>approve</code>, <code>permit</code>, Permit2, raw <code>eth_sign</code>, and delegation/7702.</p></li></ol><p>One nuance worth keeping straight: 7702 itself is not a vulnerability in Ethereum — it is a capability with a sharp edge, like approvals before it. The incidents of 2025 were phishing incidents; the mechanism was the payload, not the cause. The same user discipline that defeats <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">wallet drainers</a> generally defeats this class.</p><h2 id="h-if-you-signed-something-suspicious" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">If you signed something suspicious</h2><ul><li><p><strong>Immediately:</strong> move remaining assets out of that wallet to a fresh one — delegation or approval, assume the account&apos;s future is not yours to control.</p></li><li><p><strong>Check the damage:</strong> explorer review of the account&apos;s transactions and approvals — <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/">how to audit your wallet activity</a>.</p></li><li><p><strong>Trace and report:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how stolen crypto is tracked</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/">how recovery actually works</a> — expectations should be modest, but early reporting improves the odds.</p></li></ul><p>The complete pre-claim check list — including the 7702-specific prompt read — is <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-safety-checklist/">the airdrop safety checklist</a>. This article is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/eip-7702-airdrop-phishing/"><em>https://theonchaindiary.com/articles/eip-7702-airdrop-phishing/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/efe53fafdb223fa05dad9a85e22c81d0a2ed20c47801b7260ba399c180fb26f8.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Crypto Recovery Scams Explained: How Fake Recovery Services Target Scam Victims]]></title>
            <link>https://paragraph.com/@onchaindiary/crypto-recovery-scams-explained</link>
            <guid>CAJsg5d2Kdn6PZ09u3kr</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:22 GMT</pubDate>
            <description><![CDATA[In October 2024, a victim who lost $40,000 in ETH to a phishing attack posted on Reddit's r/CryptoScams, asking if there was any way to recover the funds. Within hours, three separate accounts sent direct messages offering "professional blockchain recovery services." One claimed to be a "certified blockchain forensics firm" with an 85% success rate. Another said they used "AI-powered transaction tracing" to freeze stolen assets on exchanges. The third offered to hack the scammer's wallet dire...]]></description>
            <content:encoded><![CDATA[<p>In October 2024, a victim who lost $40,000 in ETH to a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/phishing-attack/">phishing</a> attack posted on Reddit&apos;s r/CryptoScams, asking if there was any way to recover the funds. Within hours, three separate accounts sent direct messages offering &quot;professional blockchain recovery services.&quot; One claimed to be a &quot;certified blockchain forensics firm&quot; with an 85% success rate. Another said they used &quot;AI-powered transaction tracing&quot; to freeze stolen assets on exchanges. The third offered to hack the scammer&apos;s wallet directly. All three had professional-looking websites, fabricated testimonials, and LinkedIn profiles that were weeks old. The victim paid a $2,000 &quot;recovery fee&quot; upfront to the first service. The service disappeared. The victim was now out $42,000 — and the people who had scammed them the second time knew exactly how much they had lost the first time, because the victim had posted it publicly.</p><p>This is the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">social engineering</a> layer that follows almost every crypto theft. It is not a bug or a side effect — it is a parallel criminal industry that feeds on the desperation of people who have already been victimized. If you have lost cryptocurrency to a scam, or if someone you know has, understanding how recovery scams work is the most important thing you can learn right now.</p><blockquote><p><strong>BLUF:</strong> No legitimate fund recovery service can &quot;hack back&quot; stolen cryptocurrency, &quot;freeze&quot; it on the blockchain, or recover it without law enforcement involvement. Anyone who contacts you offering to recover stolen crypto — especially if they found you through a public post, charge upfront fees, or guarantee results — is almost certainly running a recovery scam. The only genuine recovery paths are: (1) <strong>Report to law enforcement</strong> (FBI IC3, local cybercrime units) who can coordinate with exchanges. (2) <strong>Report to the exchange</strong> where funds were deposited. (3) <strong>Use blockchain analytics</strong> to trace funds for law enforcement — not to recover them yourself. Never pay an upfront fee. Never share your seed phrase. Never grant wallet access to a &quot;recovery agent.&quot;</p></blockquote><h2 id="h-why-crypto-recovery-scams-exist" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why Crypto Recovery Scams Exist</h2><p>Blockchain transactions are irreversible by design. Once a transaction is confirmed, it cannot be reversed, disputed, or charged back — there is no customer service number to call. This irreversibility is the core security feature of blockchain networks. It is also the reason recovery scams are so effective.</p><p>When a victim loses money in a traditional banking scam — a fraudulent wire transfer, a credit card charge — there are established channels: banks can reverse wires within certain windows, credit card companies offer chargeback protection, and consumer protection laws provide recourse. Crypto has none of these mechanisms. A victim who loses $10,000 in USDC to a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pull</a> has no bank to call, no chargeback to file, and no consumer protection agency that can force a reversal.</p><p>This creates a massive audience of desperate people actively searching for recovery solutions. Type &quot;how to recover stolen crypto&quot; into any search engine and you will find thousands of results — blog posts, YouTube videos, forums threads, and sponsored ads — most of which are bait for recovery scams. The demand is enormous because crypto theft is enormous: in 2024 alone, over $2.2 billion was stolen across 303 incidents tracked by Chainalysis. Every one of those victims is a potential target for a secondary scam.</p><h2 id="h-how-recovery-scammers-find-victims" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How Recovery Scammers Find Victims</h2><p>Recovery scammers do not need to find victims randomly. The victims announce themselves publicly.</p><p><strong>Public forum monitoring.</strong> Scammers actively monitor Reddit (r/CryptoScams, r/CryptoCurrency, r/ethtrader), Telegram groups, Discord servers, X/Twitter, and Facebook groups for posts about stolen funds. When someone posts &quot;I was scammed out of 5 ETH, please help,&quot; the scammers send private messages within hours — sometimes within minutes. They use multiple accounts to create the appearance of a consensus (&quot;This service helped me too!&quot;).</p><p><strong>Search engine optimization.</strong> Recovery scam services invest heavily in SEO. They create websites optimized for search terms like &quot;recover stolen bitcoin,&quot; &quot;crypto recovery service,&quot; and &quot;hire a hacker to recover crypto.&quot; These sites rank alongside legitimate blockchain forensics firms in search results, making it difficult for victims to distinguish between real and fake services.</p><p><strong>Social media advertising.</strong> Some recovery scammers run paid ads on Google, Facebook, and X targeting keywords related to crypto scams. The ads lead to professional-looking landing pages that mimic legitimate blockchain analytics companies.</p><p><strong>Data broker lists.</strong> Scam operators buy and sell lists of known scam victims. If you have been scammed once, your contact information may circulate among criminal networks, leading to unsolicited emails, phone calls, and messages offering recovery services.</p><p><strong>Impersonation of real firms.</strong> The most sophisticated recovery scammers impersonate actual blockchain forensics companies — Chainalysis, Elliptic, TRM Labs — by creating fake websites, email addresses, and social media profiles. A victim who has heard of Chainalysis and receives an email from &quot;<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="mailto:recovery@chainalysis-support.com">recovery@chainalysis-support.com</a>&quot; may not notice the fake domain.</p><h2 id="h-the-five-stages-of-a-recovery-scam" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Five Stages of a Recovery Scam</h2><h3 id="h-stage-1-contact-and-trust-building" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Stage 1: Contact and Trust Building</h3><p>The scammer reaches out — typically via direct message on a social platform where the victim posted about their loss. The approach is empathetic, professional, and urgent:</p><blockquote><p>&quot;I saw your post about losing funds to a phishing attack. I work with a blockchain forensics team that specializes in tracing and recovering stolen crypto. We have a 90% success rate and have recovered over $50 million for victims this year. Can I schedule a consultation?&quot;</p></blockquote><p>The scammers use professionally designed websites, fake credentials (e.g., &quot;Certified Blockchain Forensics Investigator&quot;), and fabricated case studies. Some create LinkedIn profiles with stolen photos and fake employment histories at real companies. Others display logos of real exchanges (Binance, Coinbase) implying partnerships that do not exist.</p><h3 id="h-stage-2-the-assessment-phase" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Stage 2: The &quot;Assessment&quot; Phase</h3><p>The scammer asks the victim to provide details about the theft: the transaction hash, the scammer&apos;s wallet address, the amount lost, and the type of scam. This information is used to:</p><ul><li><p>Assess how much the victim lost (to calibrate the &quot;recovery fee&quot;)</p></li><li><p>Determine how desperate the victim is (how long ago the loss occurred, whether they have tried other recovery methods)</p></li><li><p>Build a convincing narrative (&quot;I can see your funds — they moved to Binance 3 hours ago&quot;)</p></li></ul><p>In some cases, the scammer inputs the wallet address into a public <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a> and reads back the transaction history, making it appear as though they have specialized tracing tools. Any person can look up a wallet address on Etherscan — the scammer simply narrates the data as if it requires expert analysis.</p><h3 id="h-stage-3-the-upfront-fee" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Stage 3: The Upfront Fee</h3><p>This is where the actual theft occurs. The scammer quotes a &quot;recovery fee&quot; — typically 10–20% of the stolen amount, or a flat fee of $500–5,000 — and demands payment upfront before any &quot;recovery work&quot; begins. Common justifications:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Fee Type</p></th><th colspan="1" rowspan="1"><p>Scammer&apos;s Claim</p></th><th colspan="1" rowspan="1"><p>Reality</p></th></tr><tr><td colspan="1" rowspan="1"><p>&quot;Retainer fee&quot;</p></td><td colspan="1" rowspan="1"><p>Covers the forensic team&apos;s time</p></td><td colspan="1" rowspan="1"><p>No team exists — fee is pocketed</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Gas fee for recovery transaction&quot;</p></td><td colspan="1" rowspan="1"><p>Needed to execute the recovery on-chain</p></td><td colspan="1" rowspan="1"><p>No recovery transaction will ever occur</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Exchange processing fee&quot;</p></td><td colspan="1" rowspan="1"><p>Paid to the exchange that holds the funds</p></td><td colspan="1" rowspan="1"><p>Exchanges do not charge victims to freeze accounts</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Legal filing fee&quot;</p></td><td colspan="1" rowspan="1"><p>Covers the cost of legal documents</p></td><td colspan="1" rowspan="1"><p>No legal documents are filed</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Software license fee&quot;</p></td><td colspan="1" rowspan="1"><p>Access to proprietary tracing software</p></td><td colspan="1" rowspan="1"><p>The software is a free block explorer</p></td></tr></tbody></table><p>The fee is always requested in cryptocurrency — usually Bitcoin or USDT — and sent to a wallet address controlled by the scammer. Some scammers use escrow services that they also control, creating the illusion of a secure transaction.</p><h3 id="h-stage-4-the-stalling-phase" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Stage 4: The Stalling Phase</h3><p>After the fee is paid, the scammer provides updates to maintain the illusion of progress: &quot;We&apos;ve traced the funds to a Binance wallet and submitted a freeze request.&quot; &quot;Our legal team is processing the paperwork.&quot; &quot;The recovery will take 5–7 business days.&quot; These updates are fabrications designed to keep the victim quiet while the scammer moves on to the next target.</p><p>If the victim becomes suspicious and demands results, the scammer may:</p><ul><li><p>Request an additional &quot;expedited processing fee&quot;</p></li><li><p>Claim an unexpected complication (&quot;The funds moved to a mixer — we need more resources&quot;)</p></li><li><p>Blame the victim (&quot;You didn&apos;t provide the correct information&quot;)</p></li><li><p>Simply stop responding and disappear</p></li></ul><h3 id="h-stage-5-the-wallet-drain-worst-case" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Stage 5: The Wallet Drain (Worst Case)</h3><p>The most dangerous recovery scammers do not stop at the upfront fee. During the &quot;assessment&quot; phase, they ask the victim for wallet access under the guise of tracing or recovering funds:</p><ul><li><p>&quot;Send me your seed phrase so I can trace the incoming transactions&quot;</p></li><li><p>&quot;Connect your wallet to our recovery portal so we can verify ownership&quot;</p></li><li><p>&quot;Sign this transaction to authorize the recovery — it&apos;s just a verification step&quot;</p></li></ul><p>These requests are identical to the initial phishing attack that stole the victim&apos;s funds. The seed phrase gives full access to the wallet. The &quot;recovery portal&quot; is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">wallet drainer</a> that empties remaining assets. The &quot;verification transaction&quot; is a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/permit2/">token approval</a> that grants the scammer unlimited spending access.</p><p>A victim who survived the initial scam with some funds remaining can lose everything in the recovery scam. For more on these attack vectors, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">how to prevent wallet drainers</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/signature-scam-explained/">signature scams explained</a>.</p><h2 id="h-red-flags-how-to-identify-a-recovery-scam" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Red Flags: How to Identify a Recovery Scam</h2><p>Any one of these indicators should be treated as a confirmed scam. You do not need multiple red flags — a single one is sufficient to walk away.</p><table><colgroup><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Red Flag</p></th><th colspan="1" rowspan="1"><p>Why It&apos;s a Scam</p></th></tr><tr><td colspan="1" rowspan="1"><p>Unsolicited contact after posting about a loss</p></td><td colspan="1" rowspan="1"><p>Real firms do not monitor forums for clients</p></td></tr><tr><td colspan="1" rowspan="1"><p>Guaranteed or high success rate (e.g., &quot;85% recovery&quot;)</p></td><td colspan="1" rowspan="1"><p>No one can guarantee crypto recovery — blockchain is irreversible</p></td></tr><tr><td colspan="1" rowspan="1"><p>Upfront fee before any work is done</p></td><td colspan="1" rowspan="1"><p>Legitimate firms bill after services or work on contingency with law enforcement</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;We can hack the scammer&apos;s wallet&quot;</p></td><td colspan="1" rowspan="1"><p>If they could hack wallets, they would not need your fee</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;We can freeze funds on the blockchain&quot;</p></td><td colspan="1" rowspan="1"><p>Blockchain transactions cannot be frozen — only exchange accounts can be frozen, and only by law enforcement</p></td></tr><tr><td colspan="1" rowspan="1"><p>Requests for your seed phrase or private key</p></td><td colspan="1" rowspan="1"><p>No legitimate service needs your keys — ever</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Connect your wallet to our portal&quot;</p></td><td colspan="1" rowspan="1"><p>This is a wallet drainer, not a recovery tool</p></td></tr><tr><td colspan="1" rowspan="1"><p>Pressure and urgency (&quot;Act now before funds move&quot;)</p></td><td colspan="1" rowspan="1"><p>Manufactured urgency prevents critical thinking</p></td></tr><tr><td colspan="1" rowspan="1"><p>Communication only via Telegram, WhatsApp, or DM</p></td><td colspan="1" rowspan="1"><p>Legitimate firms use verifiable business emails and physical addresses</p></td></tr><tr><td colspan="1" rowspan="1"><p>&quot;Certified blockchain investigator&quot; credential</p></td><td colspan="1" rowspan="1"><p>There is no recognized certification body for crypto recovery</p></td></tr><tr><td colspan="1" rowspan="1"><p>Fake reviews and testimonials</p></td><td colspan="1" rowspan="1"><p>Scammers fabricate success stories — verify independently</p></td></tr></tbody></table><h2 id="h-what-legitimate-recovery-actually-looks-like" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What Legitimate Recovery Actually Looks Like</h2><p>Genuine cryptocurrency recovery is not a service you hire. It is a law enforcement and exchange coordination process. Here is what actually works:</p><h3 id="h-1-report-to-law-enforcement" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1. Report to Law Enforcement</h3><p>File reports with every relevant agency. Law enforcement can issue subpoenas to exchanges, coordinate with international partners, and pursue criminal charges that may lead to asset recovery through seizure warrants.</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Agency</p></th><th colspan="1" rowspan="1"><p>Jurisdiction</p></th><th colspan="1" rowspan="1"><p>How to File</p></th></tr><tr><td colspan="1" rowspan="1"><p>FBI IC3 (Internet Crime Complaint Center)</p></td><td colspan="1" rowspan="1"><p>United States</p></td><td colspan="1" rowspan="1"><p>ic3.gov — online complaint form</p></td></tr><tr><td colspan="1" rowspan="1"><p>Action Fraud</p></td><td colspan="1" rowspan="1"><p>United Kingdom</p></td><td colspan="1" rowspan="1"><p>actionfraud.police.uk</p></td></tr><tr><td colspan="1" rowspan="1"><p>Europol (through national police)</p></td><td colspan="1" rowspan="1"><p>European Union</p></td><td colspan="1" rowspan="1"><p>Contact national cybercrime unit</p></td></tr><tr><td colspan="1" rowspan="1"><p>Chainalysis Crypto Crime Hotline</p></td><td colspan="1" rowspan="1"><p>Global referral</p></td><td colspan="1" rowspan="1"><p>Reports forwarded to law enforcement</p></td></tr><tr><td colspan="1" rowspan="1"><p>Local police cybercrime division</p></td><td colspan="1" rowspan="1"><p>National</p></td><td colspan="1" rowspan="1"><p>File in person or online</p></td></tr></tbody></table><p>Provide the transaction hash, the scammer&apos;s wallet address, the amount and type of cryptocurrency stolen, the date and time of the theft, and any communication records with the scammer. Law enforcement uses <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">blockchain analytics</a> tools (Chainalysis, TRM Labs, Elliptic) to trace funds and identify exchange deposit addresses where stolen crypto can be frozen.</p><h3 id="h-2-flag-the-address-on-blockchain-analytics-platforms" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2. Flag the Address on Blockchain Analytics Platforms</h3><p>You can report the scammer&apos;s wallet address to blockchain analytics firms. These firms maintain databases of known scam addresses that are used by exchanges to flag and freeze incoming funds:</p><ul><li><p><strong>Chainalysis</strong> — Submit reports through their Crypto Crime Hotline</p></li><li><p><strong>TRM Labs</strong> — Address reporting through their public portal</p></li><li><p><strong>Elliptic</strong> — Contact their investigations team</p></li><li><p><strong>GoPlus Security</strong> — Community address flagging (free)</p></li></ul><p>If the scammer deposits stolen funds into an exchange that uses these analytics providers, the deposit may be flagged and the exchange account frozen. This does not guarantee recovery — but it increases the chances that law enforcement can pursue the frozen assets.</p><h3 id="h-3-contact-the-receiving-exchange-if-identified" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3. Contact the Receiving Exchange (If Identified)</h3><p>If blockchain tracing reveals that stolen funds were deposited at a specific exchange, you can contact that exchange&apos;s compliance or legal team directly. Exchanges are subject to KYC/AML regulations and can freeze accounts in response to law enforcement requests. They will not freeze accounts based on a private individual&apos;s claim alone — you need a law enforcement request or court order. But reporting to the exchange ensures they have the information when law enforcement does contact them.</p><h3 id="h-4-trace-the-funds-yourself" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4. Trace the Funds Yourself</h3><p>You can trace stolen cryptocurrency using free tools. This does not recover the funds, but it provides valuable intelligence for law enforcement and helps you understand where the money went:</p><ul><li><p><strong>Etherscan / Arbiscan / Basescan</strong> — Follow transaction history of any wallet address</p></li><li><p><strong>DexScreener</strong> — Track if stolen tokens were swapped on a DEX</p></li><li><p><strong>Arkham Intelligence</strong> — Free wallet labeling and transaction graph</p></li><li><p><strong>OXT Research</strong> — Transaction clustering and entity identification</p></li></ul><p>For a detailed walkthrough of this process, see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how to track stolen crypto</a>.</p><h2 id="h-why-hacking-back-does-not-work" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why &quot;Hacking Back&quot; Does Not Work</h2><p>Many recovery scam victims are drawn in by the promise of &quot;hacking the scammer&apos;s wallet.&quot; This is a fundamental misunderstanding of how blockchain security works.</p><p>A crypto wallet&apos;s private key is a 256-bit number. Brute-forcing a private key is computationally impossible — it would take longer than the age of the universe with current technology. If the scammer&apos;s wallet is protected by a standard private key (not a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/brain-wallet/">brain wallet</a> with a weak passphrase, and not a compromised <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/multi-sig-wallet/">multi-sig</a> setup), no one can access it without the key.</p><p>Even if a &quot;recovery hacker&quot; had the skills to exploit a smart contract vulnerability or a mixer weakness, they would have no incentive to share recovered funds with you. If they could steal crypto from scammers, they would keep it — not charge you a fee to do it.</p><h2 id="h-recovery-scams-by-the-numbers" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Recovery Scams by the Numbers</h2><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Metric</p></th><th colspan="1" rowspan="1"><p>Data Point</p></th><th colspan="1" rowspan="1"><p>Source</p></th></tr><tr><td colspan="1" rowspan="1"><p>Total crypto stolen in 2024</p></td><td colspan="1" rowspan="1"><p>$2.2 billion across 303 incidents</p></td><td colspan="1" rowspan="1"><p>Chainalysis Crypto Crime Report 2025</p></td></tr><tr><td colspan="1" rowspan="1"><p>Average loss per DeFi scam victim</p></td><td colspan="1" rowspan="1"><p>~$17,000</p></td><td colspan="1" rowspan="1"><p>Chainalysis (aggregate estimate)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Recovery scam fee range</p></td><td colspan="1" rowspan="1"><p>$500–5,000 flat or 10–20% of stolen amount</p></td><td colspan="1" rowspan="1"><p>Community reports, scam tracking databases</p></td></tr><tr><td colspan="1" rowspan="1"><p>Percentage of victims who lose money to a secondary recovery scam</p></td><td colspan="1" rowspan="1"><p>Estimated 15–25%</p></td><td colspan="1" rowspan="1"><p>FTC consumer Sentinel data (analogous fraud patterns)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Time between initial scam contact and recovery scam approach</p></td><td colspan="1" rowspan="1"><p>Often &lt; 24 hours</p></td><td colspan="1" rowspan="1"><p>Community reports on r/CryptoScams</p></td></tr></tbody></table><p>These numbers are estimates based on available reporting. Underreporting is significant — many victims are too embarrassed to report losses or secondary scams. The actual figures are likely higher.</p><h2 id="h-what-to-do-immediately-after-a-crypto-theft" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What to Do Immediately After a Crypto Theft</h2><p>If you have been scammed, take these steps before considering any recovery option:</p><ol><li><p><strong>Stop engaging with the scammer.</strong> Do not respond to further messages. Do not click any links they send. Do not connect your wallet to any site they recommend.</p></li><li><p><strong>Revoke all token approvals.</strong> If the scam involved a malicious smart contract approval, use revoke.cash or Etherscan&apos;s token approval checker to revoke spending permissions immediately. This prevents the scammer from taking more tokens.</p></li><li><p><strong>Move remaining assets to a new wallet.</strong> Create a fresh wallet with a new seed phrase. Transfer all remaining cryptocurrency to the new wallet. Assume the compromised wallet is permanently tainted.</p></li><li><p><strong>Document everything.</strong> Save all communications with the scammer (screenshots, emails, chat logs), transaction hashes, wallet addresses, and the URL of the scam website. This evidence is critical for law enforcement.</p></li><li><p><strong>File law enforcement reports.</strong> File with the FBI IC3 (ic3.gov) if you are in the US, or your national cybercrime unit. Include all documentation. Request a case number.</p></li><li><p><strong>Report the scammer&apos;s address.</strong> Submit the wallet address to blockchain analytics platforms (Chainalysis hotline, TRM Labs) and community databases (GoPlus, ScamSniffer).</p></li><li><p><strong>Do not post details publicly.</strong> Posting your exact loss amount, wallet address, and transaction details on public forums is what recovery scammers use to target you. If you need community support, share your story without the specific financial details.</p></li></ol><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><p><strong>Q: Can stolen cryptocurrency ever actually be recovered?</strong></p><p>A: Yes, but rarely and not through private &quot;recovery services.&quot; Recovery happens when law enforcement traces stolen funds to an exchange, obtains a seizure warrant, and the exchange cooperates with asset return. The 2024 Chainalysis report documented $1.3 billion in stolen funds seized by law enforcement globally. This represents legitimate recovery through official channels — not private hackers or recovery firms.</p><p><strong>Q: Are there any legitimate crypto recovery services?</strong></p><p>A: Legitimate blockchain forensics firms (Chainalysis, TRM Labs, Elliptic) work with law enforcement and exchanges — not directly with individual victims. They do not solicit victims through social media, do not charge upfront fees to individuals, and do not guarantee results. If a firm contacts you directly offering recovery, it is a scam. If you want professional help, hire a lawyer who specializes in crypto litigation — they can engage forensics firms and coordinate with law enforcement through proper legal channels.</p><p><strong>Q: What if the recovery service has good reviews?</strong></p><p>A: Recovery scammers fabricate reviews extensively. They create fake Trustpilot profiles, fake Reddit accounts, and fake testimonial videos. A recovery service with a polished website and glowing reviews can be a scammer who invested $500 in web design. The only credible reviews would come from verified law enforcement referrals, not from anonymous internet accounts.</p><p><strong>Q: Is it possible to hire a hacker to recover stolen crypto on the dark web?</strong></p><p>A: No. &quot;Dark web hacker&quot; services that claim to recover stolen crypto are themselves scams. They take your payment (usually in Bitcoin or Monero) and disappear. Engaging with dark web services also exposes you to additional criminal liability, malware infections, and further financial loss.</p><p><strong>Q: I already paid a recovery scammer. What do I do?</strong></p><p>A: Stop all communication with the recovery scammer immediately. Do not pay any additional fees, even if they threaten legal action or claim they have &quot;already started work.&quot; Document the recovery scammer&apos;s wallet address, website, and communications, and add this information to your original law enforcement report. Move any remaining crypto to a new wallet. Accept that the recovery fee is also lost — chasing it will only lead to deeper losses.</p><p><strong>Q: How long do I have to act after being scammed?</strong></p><p>A: For the immediate steps (revoke approvals, move assets, document evidence), act within minutes — every hour increases the chance of further loss. For law enforcement reporting, file as soon as possible, but reports are accepted even months later. The faster stolen funds are traced to an exchange, the higher the chance that the exchange can freeze them before the scammer withdraws. For more on tracing methodology, see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how to track stolen crypto</a>.</p><h2 id="h-key-takeaways" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Key Takeaways</h2><ul><li><p><strong>Recovery scammers target existing scam victims</strong> — they monitor forums, social media, and search engines for desperate people who have already lost money.</p></li><li><p><strong>No private service can recover stolen crypto</strong> — blockchain transactions are irreversible. Only law enforcement with exchange cooperation can freeze and seize stolen funds.</p></li><li><p><strong>Upfront fees are the primary red flag</strong> — legitimate firms do not charge individual victims upfront for recovery work.</p></li><li><p><strong>Never share your seed phrase or connect your wallet</strong> to any &quot;recovery portal&quot; — these are secondary wallet-draining attacks that exploit your desperation.</p></li><li><p><strong>Report to law enforcement immediately</strong> (FBI IC3 at ic3.gov, or your national cybercrime unit) with full documentation — transaction hashes, wallet addresses, and communication records.</p></li><li><p><strong>Trace funds with free tools</strong> (Etherscan, Arkham) to build intelligence for law enforcement, but do not attempt DIY recovery.</p></li><li><p><strong>Do not post exact loss details publicly</strong> — this is the signal recovery scammers use to target you.</p></li><li><p><strong>&quot;Hacking back&quot; is not real</strong> — no one can brute-force a private key or magically reverse a confirmed blockchain transaction.</p></li></ul><p>If you want to check whether a wallet address or token contract is associated with known scams before interacting, use our free our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-risk-scoring-explained/">address risk scoring guide</a>. For comprehensive safety practices before you ever get scammed, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">how to prevent wallet drainers</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-avoid-crypto-phishing-scams/">how to avoid crypto phishing scams</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning attacks explained</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-recovery-scams-explained/"><em>https://theonchaindiary.com/articles/crypto-recovery-scams-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/fa4d205b105b62ceb2048c0aef0b2cadd3bb960e1e5fc277675644fdac25d1de.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Crypto Dusting Attacks Explained: How Tiny Transactions Expose Your Identity]]></title>
            <link>https://paragraph.com/@onchaindiary/crypto-dusting-attacks-explained</link>
            <guid>OcbWIOsF6zZFsQg3ZMUy</guid>
            <pubDate>Tue, 18 Aug 2026 09:49:08 GMT</pubDate>
            <description><![CDATA[In October 2018, Binance warned users that a "large scale" dusting attack was underway on the Bitcoin network. An attacker had sent 0.00000547 BTC — about 547 satoshis, worth roughly three cents at the time — to tens of thousands of Bitcoin addresses. The amounts were negligible, easy to miss, and completely harmless on their own. But the purpose was anything but harmless. The attacker was watching, waiting for recipients to move that dust alongside their other funds. Each time someone did, t...]]></description>
            <content:encoded><![CDATA[<p>In October 2018, Binance warned users that a &quot;large scale&quot; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dusting-attack/">dusting attack</a> was underway on the Bitcoin network. An attacker had sent 0.00000547 BTC — about 547 satoshis, worth roughly three cents at the time — to tens of thousands of Bitcoin addresses. The amounts were negligible, easy to miss, and completely harmless on their own. But the purpose was anything but harmless. The attacker was watching, waiting for recipients to move that dust alongside their other funds. Each time someone did, the attacker learned which addresses belonged to the same wallet. Multiply that across tens of thousands of addresses, and you can map entire clusters of wallets to specific individuals or entities — shattering the pseudonymity that many crypto users take for granted.</p><p>A <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/dusting-attack/">dusting attack</a> is not a hack. No private keys are compromised, no smart contracts are exploited, and no funds are stolen directly. It is a surveillance technique — one of the most effective and least understood privacy threats in the cryptocurrency ecosystem. Attackers, blockchain analytics firms, and law enforcement agencies all use variants of dusting to trace wallet activity across the blockchain. Understanding how it works is essential for anyone who values financial privacy on a public ledger.</p><p>This guide explains how dusting attacks work, why they are particularly effective on Bitcoin&apos;s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/utxo/">UTXO</a> model, how they differ on Ethereum and other account-based chains, and the specific steps you can take to protect your wallets from being de-anonymized.</p><blockquote><p><strong>BLUF:</strong> A dusting attack sends microscopic amounts of cryptocurrency (&quot;dust&quot;) to thousands of wallet addresses, then monitors the blockchain to see when recipients combine that dust with their main balances. When a victim spends dust alongside regular funds, the transaction reveals that all those inputs belong to the same person — linking previously separate addresses. The attack is most effective on <strong>Bitcoin and other UTXO-based chains</strong> (Litecoin, Bitcoin Cash), because the UTXO model physically mixes inputs in each transaction. <strong>Account-based chains like Ethereum are less vulnerable</strong> to dusting but can still be tracked through token transfers and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/address-poisoning/">address poisoning</a> variants. Protection is straightforward: (1) <strong>Don&apos;t spend the dust</strong> — most wallets let you mark specific UTXOs as unspendable; (2) <strong>Use coin control</strong> — manually select which UTXOs go into each transaction; (3) <strong>Use separate wallets</strong> for different activities so a single cluster compromise doesn&apos;t reveal your entire footprint; (4) <strong>Consider privacy wallets</strong> (Wasabi, Sparrow) or privacy coins (Monero, Zcash) if anonymity is critical. If you receive an unsolicited tiny deposit from an unknown address, ignore it — the dust itself is harmless unless you consolidate it.</p></blockquote><h2 id="h-how-dusting-attacks-work" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How Dusting Attacks Work</h2><p>The mechanics of a dusting attack follow a predictable pattern. An attacker — who could be a criminal group, a commercial analytics firm, or a government agency — selects a set of target addresses. These might be all addresses holding more than a certain balance, all addresses that recently interacted with a specific exchange, or addresses associated with a particular service or protocol.</p><pre data-type="codeBlock" text="Phase 1: Target Selection
  - Attacker identifies target addresses (e.g., all wallets holding &gt; 1 BTC)
  - Targets are grouped by patterns (exchange users, DeFi participants, etc.)
  - Attacker funds a wallet dedicated to dusting

Phase 2: Dust Distribution
  - Attacker sends tiny amounts (e.g., 500 satoshis / 0.000005 BTC) to each target
  - These amounts are below the &quot;dust limit&quot; — too small to spend economically
  - Distribution happens across many transactions to avoid raising alarms

Phase 3: Monitoring
  - Attacker watches the blockchain for when dust UTXOs are moved
  - When a victim creates a transaction that includes the dust as an input
    alongside other UTXOs, the attacker learns those inputs share an owner

Phase 4: Clustering
  - Attacker builds a graph linking addresses that have been combined
  - Cluster grows as more dust is consolidated
  - Once a cluster is linked to a real-world identity (via an exchange KYC leak,
    a public transaction, or a known address), the entire cluster is de-anonymized
"><code>Phase <span class="hljs-number">1</span>: Target Selection
  <span class="hljs-operator">-</span> Attacker identifies target addresses (e.g., all wallets holding <span class="hljs-operator">></span> <span class="hljs-number">1</span> BTC)
  <span class="hljs-operator">-</span> Targets are grouped by patterns (exchange users, DeFi participants, etc.)
  <span class="hljs-operator">-</span> Attacker funds a wallet dedicated to dusting

Phase <span class="hljs-number">2</span>: Dust Distribution
  <span class="hljs-operator">-</span> Attacker sends tiny amounts (e.g., <span class="hljs-number">500</span> satoshis <span class="hljs-operator">/</span> <span class="hljs-number">0</span><span class="hljs-number">.000005</span> BTC) to each target
  <span class="hljs-operator">-</span> These amounts are below the <span class="hljs-string">"dust limit"</span> — too small to spend economically
  <span class="hljs-operator">-</span> Distribution happens across many transactions to avoid raising alarms

Phase <span class="hljs-number">3</span>: Monitoring
  <span class="hljs-operator">-</span> Attacker watches the blockchain <span class="hljs-keyword">for</span> when dust UTXOs are moved
  <span class="hljs-operator">-</span> When a victim creates a transaction that includes the dust <span class="hljs-keyword">as</span> an input
    alongside other UTXOs, the attacker learns those inputs share an owner

Phase <span class="hljs-number">4</span>: Clustering
  <span class="hljs-operator">-</span> Attacker builds a graph linking addresses that have been combined
  <span class="hljs-operator">-</span> Cluster grows <span class="hljs-keyword">as</span> more dust <span class="hljs-keyword">is</span> consolidated
  <span class="hljs-operator">-</span> Once a cluster <span class="hljs-keyword">is</span> linked to a real<span class="hljs-operator">-</span>world identity (via an exchange KYC leak,
    a <span class="hljs-keyword">public</span> transaction, or a known <span class="hljs-keyword">address</span>), the entire cluster <span class="hljs-keyword">is</span> de<span class="hljs-operator">-</span>anonymized
</code></pre><p>The genius of the attack is its cost asymmetry. Sending dust to 10,000 Bitcoin addresses costs roughly $50–200 in transaction fees. The intelligence gained — a mapped cluster of linked addresses — can be worth thousands of dollars to criminals, analytics firms, or state actors.</p><h2 id="h-the-utxo-problem-why-bitcoin-is-vulnerable" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The UTXO Problem: Why Bitcoin Is Vulnerable</h2><p>To understand why dusting works, you need to understand the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/utxo/">UTXO</a> (Unspent Transaction Output) model that Bitcoin uses.</p><p>In Bitcoin, your wallet doesn&apos;t hold a &quot;balance&quot; — it holds a collection of UTXOs, which are discrete chunks of bitcoin received in previous transactions. Think of them as individual dollar bills in a physical wallet. When you send bitcoin, your wallet selects one or more UTXOs to use as inputs, creates an output for the recipient, and returns any change to a new address you control.</p><p>Here is the critical vulnerability: <strong>when multiple UTXOs are combined in a single transaction, the blockchain publicly reveals that all those inputs belong to the same entity.</strong> This is called the &quot;common input ownership heuristic,&quot; and it is the foundation of blockchain analysis.</p><p>Imagine you have:</p><ul><li><p>Address A: 1.5 BTC (your main savings)</p></li><li><p>Address B: 0.3 BTC (your trading wallet)</p></li></ul><p>An attacker sends 0.00000547 BTC (the dust) to Address A. Weeks later, you make a payment. Your wallet software automatically selects the most efficient UTXOs — and if it includes the dust along with your main balance, the transaction shows inputs from both the dust and your real funds. Now the attacker knows that Address A belongs to the same person who received the dust. If Address B later interacts with Address A, the attacker can link B to the same cluster.</p><p>Repeat this across dozens or hundreds of addresses, and you can map a user&apos;s entire wallet footprint — even if they carefully used different addresses for every transaction.</p><h3 id="h-the-dust-limit" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">The Dust Limit</h3><p>Bitcoin defines a &quot;dust limit&quot; — the minimum output value that is considered economically spendable. Below this threshold, spending the output would cost more in transaction fees than the output is worth. On the Bitcoin network, the dust limit is calculated as:</p><pre data-type="codeBlock" text="dust_limit = fee_rate × input_serialized_size

For standard P2PKH outputs:
  dust_limit ≈ 546 satoshis (at 1 sat/vB fee rate)

For SegWit outputs:
  dust_limit ≈ 294 satoshis
"><code><span class="hljs-attr">dust_limit</span> = fee_rate × input_serialized_size

For standard P2PKH outputs:
  dust_limit ≈ 546 satoshis (at 1 sat/vB fee rate)

For SegWit outputs:
  dust_limit ≈ 294 satoshis
</code></pre><p>Dusting attacks deliberately use amounts at or just above this limit — enough to be a valid output, but small enough that spending it costs the victim money. This creates a dilemma: the dust sits in your wallet, and if your wallet software auto-selects it during a future transaction, your privacy is compromised.</p><h2 id="h-dusting-on-account-based-chains" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Dusting on Account-Based Chains</h2><p>Ethereum and most modern blockchains use an <strong>account-based model</strong> instead of UTXO. In this model, each address has a single balance, and transactions simply debit one account and credit another. There are no discrete &quot;inputs&quot; to combine.</p><p>This makes dusting far less effective on Ethereum:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Feature</p></th><th colspan="1" rowspan="1"><p>UTXO (Bitcoin)</p></th><th colspan="1" rowspan="1"><p>Account-based (Ethereum)</p></th></tr><tr><td colspan="1" rowspan="1"><p>Input linking</p></td><td colspan="1" rowspan="1"><p>Combining UTXOs reveals shared ownership</p></td><td colspan="1" rowspan="1"><p>No input mixing — one source per transaction</p></td></tr><tr><td colspan="1" rowspan="1"><p>Dust impact</p></td><td colspan="1" rowspan="1"><p>Dust UTXO can be bundled with main balance</p></td><td colspan="1" rowspan="1"><p>Dust just sits in account balance</p></td></tr><tr><td colspan="1" rowspan="1"><p>Tracing method</p></td><td colspan="1" rowspan="1"><p>Common input ownership heuristic</p></td><td colspan="1" rowspan="1"><p>Transaction graph analysis (heuristic-based)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Vulnerability</p></td><td colspan="1" rowspan="1"><p><strong>High</strong></p></td><td colspan="1" rowspan="1"><p><strong>Low</strong></p></td></tr></tbody></table><p>However, Ethereum is not immune to privacy attacks. While dusting in the UTXO sense doesn&apos;t work, attackers use related techniques:</p><ul><li><p><strong>ERC-20 token dusting</strong>: Sending tiny amounts of tokens (often fake tokens or airdropped tokens) to addresses. These appear in transaction history and can be used for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/address-poisoning/">address poisoning</a> attacks, where the fake token contract or transfer is designed to trick users into interacting with malicious contracts.</p></li><li><p><strong>Transaction graph analysis</strong>: Without input mixing, analysts still build transaction graphs by tracking which addresses transact with each other. Tools like Chainalysis and Arkham use machine learning to cluster Ethereum addresses based on behavioral patterns — timing, gas price preferences, interaction with specific DeFi protocols, and more.</p></li><li><p><strong>ENS and metadata leakage</strong>: Ethereum addresses linked to ENS names, Twitter profiles, or GitHub accounts are trivially de-anonymized without any dusting at all.</p></li></ul><h3 id="h-privacy-coins-are-different" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Privacy Coins Are Different</h3><p>Privacy-focused cryptocurrencies are designed to resist all forms of transaction tracing, including dusting:</p><ul><li><p><strong>Monero</strong> uses ring signatures, stealth addresses, and RingCT to hide the sender, receiver, and amount in every transaction. Dusting is completely ineffective because the attacker cannot determine which output in a ring belongs to the target.</p></li><li><p><strong>Zcash</strong> offers shielded transactions using zk-SNARKs. When both sender and receiver use shielded addresses, the transaction is invisible on the public ledger — no amount, no addresses, no metadata.</p></li></ul><h2 id="h-notable-real-world-dusting-campaigns" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Notable Real-World Dusting Campaigns</h2><p>Dusting attacks are not theoretical. Several large-scale campaigns have been documented:</p><p><strong>Binance Dusting (2018)</strong>: The exchange publicly warned users about a dusting attack that targeted Bitcoin addresses. The attacker sent 0.00000547 BTC to approximately 48,000 addresses. This remains one of the most widely reported dusting incidents and triggered widespread awareness of the attack vector.</p><p><strong>Litecoin Dusting (2019)</strong>: An attacker dusted roughly 300,000 Litecoin addresses, sending 0.000011 LTC to each. The scale suggested a commercial analytics operation or a state-sponsored surveillance program, though the perpetrator was never identified.</p><p><strong>Ethereum Token Dusting (2020–2024)</strong>: Thousands of Ethereum addresses received tiny amounts of unsolicited ERC-20 tokens. Many of these were phishing operations — the token contract included a fake &quot;claim&quot; mechanism that directed users to malicious websites designed to drain their wallets through <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing</a> or token approval scams.</p><p><strong>BSC Dusting (2023)</strong>: Binance Smart Chain&apos;s low transaction fees made dusting nearly free. Researchers identified campaigns sending micro-amounts of BEP-20 tokens to over 100,000 addresses, primarily to build wallet clusters for subsequent phishing or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/rug-pull/">rug pull</a> operations.</p><h2 id="h-dusting-vs-legitimate-micro-transactions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Dusting vs Legitimate Micro-Transactions</h2><p>Not every small transaction is an attack. The blockchain is full of legitimate micro-transactions, and distinguishing between them requires context:</p><table><colgroup><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Signal</p></th><th colspan="1" rowspan="1"><p>Likely Dusting Attack</p></th><th colspan="1" rowspan="1"><p>Likely Legitimate</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Sender</strong></p></td><td colspan="1" rowspan="1"><p>Unknown address, no prior history</p></td><td colspan="1" rowspan="1"><p>Exchange, mining pool, known service</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Recipients</strong></p></td><td colspan="1" rowspan="1"><p>Hundreds/thousands of addresses simultaneously</p></td><td colspan="1" rowspan="1"><p>One or a few recipients</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Amount</strong></p></td><td colspan="1" rowspan="1"><p>Below dust limit (546 sat)</p></td><td colspan="1" rowspan="1"><p>Variable, often meaningful</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Frequency</strong></p></td><td colspan="1" rowspan="1"><p>One-time, widespread</p></td><td colspan="1" rowspan="1"><p>Recurring or event-driven</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Token</strong></p></td><td colspan="1" rowspan="1"><p>Native chain token (BTC, LTC)</p></td><td colspan="1" rowspan="1"><p>Could be ERC-20 airdrop, exchange withdrawal</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Intent</strong></p></td><td colspan="1" rowspan="1"><p>No transaction following</p></td><td colspan="1" rowspan="1"><p>Often paired with a message or claim mechanism</p></td></tr></tbody></table><p>Common legitimate sources of small transactions include:</p><ul><li><p><strong>Exchange test withdrawals</strong> — Exchanges sometimes send a small test transaction before a large withdrawal to verify the destination address</p></li><li><p><strong>Mining pool payouts</strong> — Pools distribute mining rewards to thousands of workers, often in small amounts</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/airdrop/"><strong>Token airdrops</strong></a> — Projects distribute tokens to many wallets as a marketing or governance mechanism</p></li><li><p><strong>Lightning Network activity</strong> — Opening and closing payment channels generates small on-chain outputs</p></li></ul><p>If you receive a small deposit from a recognized exchange or mining pool, it is almost certainly legitimate. If it comes from an unidentified address and matches the amount sent to thousands of other addresses, treat it as dusting.</p><h2 id="h-how-to-detect-if-youve-been-dusted" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Detect If You&apos;ve Been Dusted</h2><p>Detecting dusting requires monitoring your wallet for unsolicited small deposits. Here is a practical detection workflow:</p><h3 id="h-step-1-check-your-transaction-history" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 1: Check Your Transaction History</h3><p>Open your wallet in a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/block-explorer/">block explorer</a> like mempool.space (Bitcoin) or Etherscan (Ethereum). Look for incoming transactions with:</p><ul><li><p>Amounts below 0.0001 BTC or equivalent</p></li><li><p>Senders you don&apos;t recognize</p></li><li><p>Transaction timestamps that coincide with known dusting campaigns</p></li></ul><h3 id="h-step-2-check-the-senders-activity" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 2: Check the Sender&apos;s Activity</h3><p>Click on the sender address in the block explorer. If it shows outgoing transactions to hundreds or thousands of addresses with similar small amounts, you have been dusted.</p><h3 id="h-step-3-monitor-for-cluster-linking" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 3: Monitor for Cluster Linking</h3><p>Use a blockchain analytics tool (Arkham Intelligence, OXT Research for Bitcoin) to check whether your addresses have been grouped into a cluster. If your previously separate addresses now appear in the same cluster, a dusting attack may have succeeded.</p><h3 id="h-step-4-review-utxo-state" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Step 4: Review UTXO State</h3><p>For Bitcoin wallets with coin control (Electrum, Sparrow), view your UTXO list. Dust will appear as a small UTXO from an unknown source. Mark it immediately to prevent accidental spending.</p><h2 id="h-how-to-protect-yourself" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How to Protect Yourself</h2><p>Protection against dusting falls into two categories: preventing the dust from being linked, and reducing your overall traceability.</p><h3 id="h-1-dont-spend-the-dust" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">1. Don&apos;t Spend the Dust</h3><p>The simplest and most effective defense. If you notice an unsolicited tiny deposit, do not include that UTXO in any future transaction. Most Bitcoin wallets support marking UTXOs as unspendable:</p><ul><li><p><strong>Electrum</strong>: Right-click the UTXO → &quot;Mark as spent&quot; (it won&apos;t be selected for future transactions)</p></li><li><p><strong>Sparrow Wallet</strong>: Go to UTXOs tab → select the dust → &quot;Freeze&quot; it</p></li><li><p><strong>Wasabi Wallet</strong>: The wallet automatically isolates dust inputs</p></li></ul><p>As long as the dust UTXO is never combined with your main funds, the attacker cannot link your addresses through that transaction.</p><h3 id="h-2-use-coin-control" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">2. Use Coin Control</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/utxo/">Coin control</a> is a wallet feature that lets you manually select which UTXOs to include in each transaction. Instead of letting the wallet auto-select inputs (which may accidentally include dust), you explicitly choose only the UTXOs you intend to spend.</p><p>Wallets with coin control support:</p><table><colgroup><col><col><col><col></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Wallet</p></th><th colspan="1" rowspan="1"><p>Platform</p></th><th colspan="1" rowspan="1"><p>Coin Control</p></th><th colspan="1" rowspan="1"><p>Auto-Dust Protection</p></th></tr><tr><td colspan="1" rowspan="1"><p>Sparrow Wallet</p></td><td colspan="1" rowspan="1"><p>Desktop (Win/Mac/Linux)</p></td><td colspan="1" rowspan="1"><p>Full</p></td><td colspan="1" rowspan="1"><p>Yes</p></td></tr><tr><td colspan="1" rowspan="1"><p>Electrum</p></td><td colspan="1" rowspan="1"><p>Desktop (Win/Mac/Linux)</p></td><td colspan="1" rowspan="1"><p>Full</p></td><td colspan="1" rowspan="1"><p>Manual freeze</p></td></tr><tr><td colspan="1" rowspan="1"><p>Wasabi Wallet</p></td><td colspan="1" rowspan="1"><p>Desktop (Linux)</p></td><td colspan="1" rowspan="1"><p>Full</p></td><td colspan="1" rowspan="1"><p>Automatic (CoinJoin)</p></td></tr><tr><td colspan="1" rowspan="1"><p>BlueWallet</p></td><td colspan="1" rowspan="1"><p>Mobile (iOS/Android)</p></td><td colspan="1" rowspan="1"><p>Limited</p></td><td colspan="1" rowspan="1"><p>No</p></td></tr><tr><td colspan="1" rowspan="1"><p>Ledger Live</p></td><td colspan="1" rowspan="1"><p>Desktop + Hardware</p></td><td colspan="1" rowspan="1"><p>Limited</p></td><td colspan="1" rowspan="1"><p>No</p></td></tr></tbody></table><h3 id="h-3-use-separate-wallets" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">3. Use Separate Wallets</h3><p>Maintain separate wallets for different purposes — one for savings, one for daily transactions, one for exchange interactions. If one wallet gets dusted and linked, the attacker only sees activity within that wallet, not your entire financial footprint.</p><p>For maximum separation, use a <strong>fresh address for every transaction</strong>. Most modern Bitcoin wallets generate a new address for each incoming payment by default. This is a Bitcoin best practice that limits the information an attacker can gain even if they successfully dust one address.</p><h3 id="h-4-use-privacy-wallets-and-techniques" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">4. Use Privacy Wallets and Techniques</h3><p>If financial privacy is critical, consider these tools:</p><ul><li><p><strong>CoinJoin</strong>: A mixing technique where multiple users combine their transactions into a single collaborative transaction, breaking the link between inputs and outputs. Wasabi Wallet and Samourai Wallet implement CoinJoin for Bitcoin. The mixed UTXOs are untraceable to specific inputs.</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/mixer/"><strong>Mixers</strong></a>: Services like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/tornado-cash/">Tornado Cash</a> (Ethereum) allow users to deposit funds and withdraw from a different address, breaking the on-chain link. Note that mixers face intense regulatory scrutiny — Tornado Cash was <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/sanctions/">sanctioned</a> by the US Treasury in 2022.</p></li><li><p><strong>Privacy coins</strong>: Monero and Zcash provide privacy at the protocol level, making all forms of tracing — including dusting — ineffective by design.</p></li></ul><h3 id="h-5-use-a-hardware-wallet-for-cold-storage" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">5. Use a Hardware Wallet for Cold Storage</h3><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/hardware-wallet/">Hardware wallets</a> like Ledger and Trezor keep your private keys offline. While they don&apos;t prevent dusting (anyone can send to your public address), they protect against the more dangerous follow-up attacks — phishing campaigns and wallet drainers — that often accompany dusting operations. Combined with proper address management, a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/cold-wallet/">cold wallet</a> setup significantly reduces your attack surface.</p><h2 id="h-dusting-in-law-enforcement-and-compliance" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Dusting in Law Enforcement and Compliance</h2><p>It is important to understand that dusting-like techniques are not exclusively used by criminals. Blockchain analytics firms — including Chainalysis, Elliptic, and TRM Labs — perform sophisticated versions of transaction clustering for law enforcement and compliance purposes. Their tools go far beyond simple dusting:</p><ul><li><p><strong>Heuristic clustering</strong>: Combining the common input ownership heuristic with temporal analysis, behavioral fingerprinting, and known-address databases to build comprehensive wallet maps.</p></li><li><p><strong>De-anonymization through off-chain data</strong>: Linking on-chain addresses to real-world identities via exchange KYC records, IP addresses from node connections, and public transaction disclosures.</p></li><li><p><strong>Real-time surveillance</strong>: Monitoring the blockchain in real-time for specific address patterns, flagging transactions involving <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/sanctions/">sanctioned</a> entities, and generating alerts for suspicious activity.</p></li></ul><p>Law enforcement agencies use these tools to trace ransomware payments, identify money laundering networks, and map criminal wallet clusters. The same techniques that protect your privacy against a criminal dusting attack also protect criminals from law enforcement — creating an inherent tension between personal privacy and public security that the crypto community continues to debate.</p><p>For most legitimate users, the concern is not law enforcement but rather commercial surveillance. Companies build wallet profiles to sell to advertisers, insurers, and lenders. A dusting attack by a commercial analytics firm can result in your wallet activity being included in a dataset sold to third parties without your knowledge or consent.</p><h2 id="h-frequently-asked-questions" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Frequently Asked Questions</h2><p><strong>Q: I received a tiny deposit from an unknown address. Was I dusted?</strong></p><p>A: Check the amount and sender. If it is below 0.0001 BTC (or equivalent on other chains) and the sender address has outgoing transactions to many other addresses with similar amounts, it is likely a dusting attack. If it is from a known exchange or mining pool, it is probably legitimate. Either way, do not spend that specific UTXO until you are certain.</p><p><strong>Q: Can dusting attacks steal my funds?</strong></p><p>A: No. Dusting is a privacy attack, not a theft attack. The dust sits in your wallet harmlessly. The risk is only that spending it alongside other funds reveals that those addresses belong to the same person. The actual danger comes from follow-up attacks — phishing campaigns targeting dusted addresses, or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning</a> attacks that exploit users who copy addresses from their transaction history.</p><p><strong>Q: Does dusting work on Ethereum?</strong></p><p>A: Minimally for ETH itself, because Ethereum&apos;s account model doesn&apos;t mix inputs the way Bitcoin&apos;s UTXO model does. However, ERC-20 token dusting is common and is typically used for <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/address-poisoning/">address poisoning</a> or phishing rather than transaction tracing. If you receive unsolicited tokens, do not interact with any contract those tokens link to — see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">how to prevent wallet drainers</a>.</p><p><strong>Q: How much does a dusting attack cost the attacker?</strong></p><p>A: Very little. Sending 546 satoshis to 10,000 Bitcoin addresses costs roughly 0.0546 BTC in dust (<s>$35 at $65K/BTC) plus transaction fees of approximately 0.01–0.05 BTC (</s>$650–$3,250). On low-fee chains like BSC or Polygon, the cost is under $10. The intelligence gained is worth far more.</p><p><strong>Q: Can I report a dusting attack?</strong></p><p>A: There is no central authority to report dusting to, since sending cryptocurrency to someone is not illegal. You can report it to your wallet provider or post about it on community forums to warn other users. If the dusting is accompanied by phishing links or malicious tokens, report those to the relevant blockchain security firms (e.g., Chainalysis, TRM Labs) and your wallet provider.</p><p><strong>Q: If I&apos;ve already spent dust by accident, is my privacy gone forever?</strong></p><p>A: Not necessarily, but the affected addresses are now linked in any transaction graph built from that transaction. The best response is to move remaining funds to new addresses and treat the old addresses as compromised for privacy purposes. Going forward, use coin control to prevent accidental dust inclusion, and consider using a privacy wallet for sensitive transactions.</p><h2 id="h-key-takeaways" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Key Takeaways</h2><ul><li><p><strong>Dusting attacks</strong> send tiny amounts of crypto to thousands of addresses, then monitor the blockchain to link wallets when the dust is consolidated with main balances.</p></li><li><p><strong>The UTXO model</strong> used by Bitcoin is the primary vulnerability — combining UTXOs in a single transaction publicly reveals shared ownership through the common input ownership heuristic.</p></li><li><p><strong>Account-based chains</strong> like Ethereum are less vulnerable to traditional dusting but face related threats like ERC-20 token dusting and address poisoning.</p></li><li><p><strong>Detection</strong> is straightforward: check transaction history for unsolicited micro-deposits from addresses that sent similar amounts to many recipients.</p></li><li><p><strong>Protection</strong> is primarily about not spending the dust: use coin control to manually exclude dust UTXOs, freeze them in wallets that support it, and use separate wallets for different activities.</p></li><li><p><strong>Privacy wallets</strong> (Wasabi, Sparrow) and <strong>privacy coins</strong> (Monero, Zcash) provide protocol-level protection against dusting and other tracing techniques.</p></li><li><p><strong>Law enforcement and analytics firms</strong> use dusting-like techniques for legitimate purposes — the same technology that catches criminals also compromises ordinary users&apos; financial privacy.</p></li><li><p><strong>The dust itself is harmless</strong> — the real danger is in follow-up attacks (phishing, address poisoning, wallet drainers) that target dusted addresses, and in the loss of pseudonymity that comes from wallet clustering.</p></li></ul><p>For related reading on protecting your crypto from surveillance and scams, see our guides on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/address-poisoning-attacks-explained/">address poisoning attacks explained</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-track-stolen-crypto/">how to track stolen crypto</a>, and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-prevent-wallet-drainers/">how to prevent wallet drainers</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-dusting-attacks-explained/"><em>https://theonchaindiary.com/articles/crypto-dusting-attacks-explained/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/19d2ab5f0375742d3334babfcc9c7feea2d5bab830135890a3b222abe476176a.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Anatomy of the Biggest Airdrop Scams: How Fake Claim Sites Actually Work]]></title>
            <link>https://paragraph.com/@onchaindiary/biggest-airdrop-scams-anatomy</link>
            <guid>qYttmYom0wXo6LfKJRgx</guid>
            <pubDate>Tue, 18 Aug 2026 09:48:55 GMT</pubDate>
            <description><![CDATA[Fake airdrops are not a boutique scam. They are the front counter of an industry. When Scam Sniffer published its 2024 annual report, the headline number was $494 million stolen through wallet drainers that year — a 67% increase over 2023 — with more than 300,000 wallet addresses targeted. In 2025, better wallet warnings and growing user awareness cut losses by 83%, to $83.85 million across roughly 106,000 victims. Both years, a large share of that machinery ran on the same fuel: pages that l...]]></description>
            <content:encoded><![CDATA[<p>Fake airdrops are not a boutique scam. They are the front counter of an industry.</p><p>When Scam Sniffer published its 2024 annual report, the headline number was $494 million stolen through wallet drainers that year — a 67% increase over 2023 — with more than 300,000 wallet addresses targeted. In 2025, better wallet warnings and growing user awareness cut losses by 83%, to $83.85 million across roughly 106,000 victims. Both years, a large share of that machinery ran on the same fuel: pages that looked like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/token-airdrop/">airdrop</a> claim sites.</p><p>This article takes the machine apart. Not the folklore version (&quot;greedy users got phished&quot;) but the operational version: who builds these sites, how they acquire victims, what actually happens at the moment of the fake claim, and what the biggest documented operations looked like. If you understand the supply chain, the defense becomes obvious — and it is never &quot;read the page harder.&quot;</p><h2 id="h-the-supply-chain-of-a-fake-claim-site" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The supply chain of a fake claim site</h2><p>A modern airdrop scam has four layers, and they are usually different actors:</p><p><strong>1. The kit developer.</strong> Drainer kits are rented, not built. The developer maintains the phishing page templates, the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/wallet-drainer/">wallet drainer</a> contracts, signature-bait logic, and infrastructure that adapts to wallet security warnings. According to reporting from The Record on Inferno Drainer, the service took a cut of around 20% of stolen funds — a commission structure that explains why kits keep improving.</p><p><strong>2. The operator.</strong> The renter picks a narrative (an upcoming token claim, a points program, a testnet reward), deploys the kit on stockpiled domains, and drives traffic. Operators are the customer-facing layer; they absorb the risk and keep most of the proceeds.</p><p><strong>3. The traffic supplier.</strong> Fake claim sites need eyes. Traffic comes from hijacked X accounts, compromised Discord and Telegram communities, paid search ads on branded keywords, and — in the most damaging cases — compromises of trusted media properties themselves.</p><p><strong>4. The cash-out layer.</strong> Stolen assets move through fresh wallets and mixers, then to exchanges. This layer is why recovery odds are poor; see our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-stolen-crypto-is-recovered/">how stolen crypto gets traced and recovered</a>.</p><p>Users only ever see layer 2: a polished page with a countdown, a &quot;connection strength&quot; meter, and a claim button. Everything behind it is invisible.</p><h2 id="h-case-study-1-inferno-drainer-the-franchise-model" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Case study 1: Inferno Drainer — the franchise model</h2><p>Inferno Drainer became the textbook example of the franchise model. Security researchers documented its rise through 2023: by June 2023 it had extracted roughly $6 million from almost 4,900 victims, and by November 2023, The Record reported the operation had surpassed $80 million by spoofing real blockchain projects — cloning the branding of legitimate protocols and standing up fake claim pages on lookalike domains.</p><p>In January 2024, Group-IB published analysis tying roughly <strong>16,000 malicious domains</strong> to Inferno Drainer&apos;s infrastructure. The scale is the point: a fake claim site is not a one-off artifact but a replaceable edge node in a domain arsenal. When one domain gets flagged or taken down, the operation rotates to the next.</p><p>The operation &quot;retired&quot; in late 2023, but that was a rebrand, not an exit. Check Point Research documented its return in 2025 with upgraded infrastructure — better at evading malicious-transaction warnings that wallets had added. The lesson: kit names come and go; the franchise model persists.</p><h2 id="h-case-study-2-the-dollar125m-polygon-nft-airdrop-phishing-wave" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Case study 2: the $1.25M Polygon NFT airdrop phishing wave</h2><p>Not every airdrop scam is a website. Scam Sniffer documented a campaign on Polygon where victims received <strong>unsolicited NFTs in their wallets</strong> — about 1,354 malicious NFTs impersonating legitimate airdrop campaigns. The NFTs&apos; names and metadata contained instructions and URLs: claim your reward here, verify your eligibility there.</p><p>The psychological trick is inversion. The user did not go looking for an airdrop; the airdrop found them. Receiving an asset feels like evidence of legitimacy (&quot;how would a scammer know my address?&quot;), when in reality bulk-minting NFTs to harvested addresses costs almost nothing. Anyone who followed the link landed on a drainer page.</p><p>We cover this vector in depth in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/unsolicited-airdrop-tokens/">our guide to unsolicited airdrop tokens</a> — the short version: an airdrop you never signed up for is not a gift, it is bait with your address on it. Related: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/crypto-dusting-attacks-explained/">crypto dusting attacks</a>.</p><h2 id="h-case-study-3-when-the-news-site-itself-is-the-phish" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Case study 3: when the news site itself is the phish</h2><p>The most efficient traffic source is one victims already trust. On June 23, 2025, CoinDesk reported that <strong>Cointelegraph&apos;s website had been hit by a front-end exploit</strong> that injected fake &quot;CTG token&quot; airdrop pop-ups urging readers to connect wallets. The same weekend, CoinMarketCap was compromised to serve similar pop-ups.</p><p>These incidents matter because they break the standard advice loop. &quot;Only trust official announcements&quot; assumes the official channel is intact. When a compromised media property or a hijacked project account serves the scam directly, verification has to happen one layer deeper — at the contract and signature level, not the page level. Our guide on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/fake-airdrop-distribution-channels/">how fake airdrops reach you</a> maps every major distribution channel and its failure mode.</p><h2 id="h-what-actually-happens-at-the-claim" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What actually happens at the &quot;claim&quot;</h2><p>The claim button is where <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/social-engineering/">social engineering</a> turns into a transaction. The sequence:</p><ol><li><p><strong>Connect.</strong> You connect a wallet — this alone leaks nothing but hands the site your address and confirms a live target.</p></li><li><p><strong>The pre-check.</strong> Many kits run a live balance scan. Wallets with no approved assets get a &quot;not eligible&quot; message; fat wallets get the full theater.</p></li><li><p><strong>The signature.</strong> The claim triggers not a transfer but a signature request — typically a <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/permit2/">Permit2</a> approval or a permit signature — that authorizes the drainer contract to move your tokens later. See <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-signature-scams/">airdrop signature scams explained</a>.</p></li><li><p><strong>The sweep.</strong> Off-site, the attacker&apos;s contract transfers every approved asset. You never see a &quot;send&quot; confirmation because no send ever appears in your wallet UI.</p></li></ol><p>That fourth step is why victims describe the theft as instant and invisible. The transfer is executed by the drainer contract under an approval you granted. If you want to audit what you have already granted, read <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/token-approval-safety/">token approval safety</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-audit-your-wallet-activity/">how to audit your wallet activity</a>.</p><h2 id="h-why-2025s-losses-fell-and-why-complacency-is-wrong" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why 2025&apos;s losses fell — and why complacency is wrong</h2><p>The 83% drop in 2025 drainer losses is real progress: wallets got better at flagging malicious signatures, and more users learned not to blind-sign. But two cautions.</p><p>First, the kits adapt. The 2025 drainer ecosystem re-tooled around new signature surfaces — most notably EIP-7702 delegations after Ethereum&apos;s Pectra upgrade, with the first documented victim losing roughly $147,000 to a single malicious batched transaction in May 2025. We break that vector down in <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/eip-7702-airdrop-phishing/">EIP-7702 airdrop phishing</a>.</p><p>Second, attack volume tracks airdrop seasons. Every major distribution event re-concentrates exactly the population scammers want: users who expect to connect wallets to unfamiliar claim sites. The <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/ai-powered-crypto-scams-2026/">2026 drainer ecosystem</a> is smaller per-victim but broader in reach — more sites, cheaper kits, AI-generated variants of the same core trick.</p><h2 id="h-the-defense-condensed" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The defense, condensed</h2><p>The machine has one load-bearing wall: <strong>the signature you give at claim time</strong>. Everything else — the page, the brand, the deadline, the pop-up — is set dressing.</p><ul><li><p>Treat every claim site as hostile until verified on-chain; start with our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-scam-checker/">5-step airdrop verification workflow</a>.</p></li><li><p>Never claim with a wallet that holds your main holdings — use a dedicated burner, per <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/how-to-claim-airdrops-safely/">how to claim airdrops safely</a>.</p></li><li><p>Read what a signature authorizes before signing anything; <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/blind-signing-explained/">blind signing</a> is how most drainer approvals slip through.</p></li><li><p>If tokens or NFTs appear that you never asked for, do not interact: that is the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/glossary/fake-token/">fake token</a> playbook.</p></li></ul><p>For a printable version of every check in one place, see <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/airdrop-safety-checklist/">the airdrop safety checklist</a>. This article is part of our <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/airdrop-safety/">Airdrop Safety series</a>.</p><hr><p><em>Originally published at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com/articles/biggest-airdrop-scams-anatomy/"><em>https://theonchaindiary.com/articles/biggest-airdrop-scams-anatomy/</em></a><em>. More Web3 security guides and risk-scoring tools at </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://theonchaindiary.com"><em>Onchain Diary</em></a><em>.</em></p>]]></content:encoded>
            <author>onchaindiary@newsletter.paragraph.com (Onchain Diary)</author>
            <category>security</category>
            <category>crypto</category>
            <category>onchaindiary</category>
            <enclosure url="https://storage.googleapis.com/papyrus_images/59e471bc95de214216cc24fbcd5c42a16198a1ee3f8d87c0dd7c9c583ed448f5.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>