meme-coin-audit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

MEME COIN & TOKEN SECURITY AUDIT

MEME COIN 与代币安全审计

Fast-kill rug pull detection and deep token security analysis for EVM and Solana meme coins.

快速淘汰式 Rug Pull(跑路盘)检测,以及面向 EVM 和 Solana meme coin 的深度代币安全分析。

PRE-DIVE KILL SIGNALS

审计前淘汰信号

Check these BEFORE reading a single line of code. If any are true, skip the audit — the token is likely a rug or not worth the time.
在阅读哪怕一行代码之前,先检查以下项目。如果任何一项成立,就跳过审计——该代币很可能是跑路盘,或不值得投入时间。

Hard Kills (Skip Immediately)

硬性淘汰项(立即跳过)

  • Contract not verified on Etherscan/Solscan → Cannot audit source = cannot trust
  • Deployer wallet has history of rug pulls (check Etherscan deployer page)
  • Token age < 1 hour AND no known team → Too early, wait for more data
  • Mint authority retained (Solana) AND no cap → Infinite mint = certain rug
  • Freeze authority retained (Solana) on meme coin → Honeypot confirmed
  • Transfer hook present (Token-2022) with mutable hook program → Honeypot vector
  • Permanent delegate extension (Token-2022) → Can steal all holder tokens
  • 合约未在 Etherscan/Solscan 上验证 → 无法审计源码 = 无法信任
  • 部署者钱包有 Rug Pull 历史(查看 Etherscan 部署者页面)
  • 代币创建时间 < 1 小时且无已知团队 → 为时尚早,等待更多数据
  • 保留 Mint Authority(Solana)且无上限 → 无限铸币 = 必然跑路盘
  • 在 meme coin 上保留 Freeze Authority(Solana)→ 已确认 Honeypot
  • 存在 Transfer Hook(Token-2022),且 hook program 可变 → Honeypot 攻击向量
  • Permanent Delegate 扩展(Token-2022)→ 可以盗走所有持有者的代币

Soft Kills (Proceed with Extreme Caution)

软性淘汰项(需极度谨慎地继续)

  • Top holder > 20% of supply (excluding DEX pools)
  • LP not burned or locked in verified contract
  • Contract is upgradeable / proxy with retained admin
  • Less than $5K liquidity in the pool
  • No social presence / anonymous deployer with no history

  • 最大持有者占供应量 > 20%(不包括 DEX 池)
  • LP 未销毁,也未锁定在已验证的合约中
  • 合约可升级/为代理合约,且仍保留管理员权限
  • 池中流动性低于 $5K
  • 没有社交媒体存在记录/部署者匿名且无历史记录

THE ONE RULE

唯一规则

"Check ALL authorities and owner functions. The retained authority IS the rug vector."
Every rug pull requires a privileged operation: mint, blacklist, fee change, LP removal, or authority abuse. If you find the privilege, you found the bug.

“检查所有权限和 owner 函数。保留的权限就是 Rug Pull 攻击向量。”
每一次跑路盘都需要一次特权操作:铸币、拉黑、手续费变更、移除 LP 或滥用权限。找到特权,就找到了漏洞。

BUG CLASSES (8 TOKEN-SPECIFIC)

漏洞类别(8 类代币专属漏洞)

1. HIDDEN MINT / UNLIMITED SUPPLY

1. 隐藏铸币/无限供应量

Common rug pattern. Deployer mints tokens post-launch, dumps on LP.
Quick grep (EVM):
bash
grep -rn "function mint\|_mint(\|_balances\[.*\] +=" src/ --include="*.sol" | grep -v "test\|lib\|node_modules"
Quick grep (Solana):
bash
grep -rn "MintTo\|mint_to\|mint_authority" src/ --include="*.rs" | grep -v "test\|target"
Kill if: MAX_SUPPLY enforced in every mint path, or mint function removed entirely.
常见跑路模式。部署者在上线后铸币,然后向 LP 抛售。
快速 grep(EVM):
bash
grep -rn "function mint\|_mint(\|_balances\[.*\] +=" src/ --include="*.sol" | grep -v "test\|lib\|node_modules"
满足以下条件即可排除此风险: 每条 mint 路径都强制执行
MAX_SUPPLY
,或已完全移除 mint 函数。

2. HONEYPOT / TRANSFER RESTRICTION

2. Honeypot/转账限制

Common scam pattern. Buy works, sell blocked.
Quick grep:
bash
grep -rn "blacklist\|isBlacklisted\|_bots\|maxTxAmount\|approve.*override\|tradingEnabled" src/ --include="*.sol"
Solana equivalent:
bash
grep -rn "freeze_authority\|transfer_hook\|TransferHook\|permanent_delegate" src/ --include="*.rs"
Kill if: No blacklist mapping, no transfer hooks, no freeze authority.
常见骗局模式。可以买入,但卖出被阻止。
快速 grep:
bash
grep -rn "blacklist\|isBlacklisted\|_bots\|maxTxAmount\|approve.*override\|tradingEnabled" src/ --include="*.sol"
Solana 等效检查:
bash
grep -rn "freeze_authority\|transfer_hook\|TransferHook\|permanent_delegate" src/ --include="*.rs"
满足以下条件即可排除此风险: 不存在 blacklist 映射、不存在 transfer hook,也不存在 freeze authority。

3. FEE MANIPULATION

3. 手续费操纵

Common rug pattern. Sell fee set to 99% after initial buys.
Quick grep:
bash
grep -rn "setFee\|setSellFee\|_taxFee\|_sellFee" src/ --include="*.sol"
grep -rn "function set.*Fee" -A5 src/ --include="*.sol" | grep -v "require\|MAX\|<="
Kill if: Fee setter has
require(fee <= MAX_FEE)
with MAX_FEE <= 10%.
常见跑路模式。初始买入后,将卖出手续费设置为 99%。
快速 grep:
bash
grep -rn "setFee\|setSellFee\|_taxFee\|_sellFee" src/ --include="*.sol"
grep -rn "function set.*Fee" -A5 src/ --include="*.sol" | grep -v "require\|MAX\|<="
满足以下条件即可排除此风险: Fee setter 包含
require(fee <= MAX_FEE)
,且
MAX_FEE <= 10%
。

4. LIQUIDITY POOL DRAIN

4. 流动性池抽干

LP removal, migration, or manipulation to crash price.
Quick grep:
bash
grep -rn "migrateLP\|emergencyWithdraw\|\.sync()\|setPair\|setRouter" src/ --include="*.sol"
Kill if: LP tokens burned to dead address, no migration function, no pair setter.
移除 LP、迁移或操纵流动性池,以使价格暴跌。
快速 grep:
bash
grep -rn "migrateLP\|emergencyWithdraw\|\.sync()\|setPair\|setRouter" src/ --include="*.sol"
满足以下条件即可排除此风险: LP token 已销毁至 dead address、不存在迁移函数,也不存在 pair setter。

5. BONDING CURVE MANIPULATION

5. Bonding Curve 操纵

Exploits in pump.fun-style bonding curves.
Quick grep:
bash
grep -rn "virtualReserve\|setCurve\|graduate\|bonding_curve" src/ --include="*.sol" --include="*.rs"
Kill if: Curve parameters immutable, graduation permissionless.
pump.fun 风格 bonding curve 中的漏洞利用。
快速 grep:
bash
grep -rn "virtualReserve\|setCurve\|graduate\|bonding_curve" src/ --include="*.sol" --include="*.rs"
满足以下条件即可排除此风险: Curve 参数不可变,且 graduation 无需许可。

6. AUTHORITY RETENTION (SOLANA)

6. 权限保留(SOLANA)

Retained mint/freeze/update authorities on Solana tokens.
Quick grep:
bash
grep -rn "mint_authority\|freeze_authority\|update_authority\|close_authority" src/ --include="*.rs"
grep -rn "set_authority.*None" src/ --include="*.rs"  # Good sign: revocation
Kill if: All authorities = None, verified on-chain.
Solana 代币仍保留 mint/freeze/update authority。
快速 grep:
bash
grep -rn "mint_authority\|freeze_authority\|update_authority\|close_authority" src/ --include="*.rs"
grep -rn "set_authority.*None" src/ --include="*.rs"  # Good sign: revocation
满足以下条件即可排除此风险: 所有权限均为
None
,并已在链上验证。

7. FAKE RENOUNCE / HIDDEN OWNERSHIP

7. 虚假放弃/隐藏所有权

Ownership appears renounced but backdoor control retained.
Quick grep:
bash
grep -rn "renounceOwnership.*override\|_shadowAdmin\|_backupOwner\|selfdestruct" src/ --include="*.sol"
Kill if: renounceOwnership NOT overridden, no second admin role, no selfdestruct.
所有权看似已放弃,但后门控制仍然保留。
快速 grep:
bash
grep -rn "renounceOwnership.*override\|_shadowAdmin\|_backupOwner\|selfdestruct" src/ --include="*.sol"
满足以下条件即可排除此风险:
renounceOwnership
未被 override、不存在第二个 admin role,也不存在 selfdestruct。

8. SANDWICH AMPLIFICATION BY DESIGN

8. 设计上的 Sandwich 放大

Contract makes holders maximally sandwichable.
Quick grep:
bash
grep -rn "swapExactTokensForETH" -A5 src/ --include="*.sol" | grep "0,"
grep -rn "swapThreshold\|_rebase\|mandatoryPool" src/ --include="*.sol"
Kill if: Auto-swap has proper slippage, no rebase mechanics.

合约让持有者最大程度暴露于 sandwich 攻击。
快速 grep:
bash
grep -rn "swapExactTokensForETH" -A5 src/ --include="*.sol" | grep "0,"
grep -rn "swapThreshold\|_rebase\|mandatoryPool" src/ --include="*.sol"
满足以下条件即可排除此风险: Auto-swap 设置了适当的 slippage,且不存在 rebase 机制。

FAST RED-FLAG SWEEP

快速红旗扫描

Run the 8 bug-class greps above across the source tree for fast red-flag detection. Together they catch:
  • Direct mint/balance manipulation
  • Blacklist and transfer restriction patterns
  • Unbounded fee setters
  • LP migration and emergency withdraw functions
  • Fake renounce overrides
  • Zero slippage auto-swaps
  • All Solana authority patterns
  • Token-2022 dangerous extensions
Source grep does NOT check (verify these out-of-band):
  • On-chain state (use Etherscan/Solscan for authority verification)
  • Holder distribution (use DEXTools/Birdeye)
  • LP lock status (use Unicrypt/PinkLock/Solscan)
  • Deployer wallet history (manual check)

对整个源码树运行上述 8 类漏洞的 grep,可快速检测红旗。它们共同捕获:
  • 直接 mint/余额操纵
  • blacklist 与 transfer restriction 模式
  • 无上限的 fee setter
  • LP migration 与 emergency withdraw 函数
  • fake renounce override
  • 零 slippage 的 auto-swap
  • 所有 Solana authority 模式
  • Token-2022 危险扩展
源码 grep 无法检查(需通过其他方式验证):
  • 链上状态(使用 Etherscan/Solscan 验证权限)
  • 持币分布(使用 DEXTools/Birdeye)
  • LP 锁定状态(使用 Unicrypt/PinkLock/Solscan)
  • 部署者钱包历史(手动检查)

FOUNDRY POC TEMPLATE (TOKEN EXPLOITS)

FOUNDRY POC 模板(代币漏洞利用)

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "forge-std/Test.sol";
import "../src/Token.sol";

contract TokenExploitTest is Test {
    Token token;
    address owner = makeAddr("owner");
    address victim = makeAddr("victim");
    address attacker = makeAddr("attacker");

    // Uniswap V2 router (mainnet fork)
    address constant ROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    function setUp() public {
        vm.createSelectFork("mainnet");
        // Deploy token as owner
        vm.startPrank(owner);
        token = new Token();
        // Add liquidity...
        vm.stopPrank();
    }

    function test_hiddenMint_rug() public {
        // Step 1: Victim buys tokens
        vm.startPrank(victim);
        // ... buy tokens on Uniswap
        vm.stopPrank();

        // Step 2: Owner mints and dumps
        vm.startPrank(owner);
        uint256 supplyBefore = token.totalSupply();
        token.mint(owner, 1_000_000_000e18);
        assertGt(token.totalSupply(), supplyBefore, "Supply should increase");
        // ... sell minted tokens
        vm.stopPrank();

        // Step 3: Victim's tokens are now worthless
        // Assert token price crashed
    }

    function test_honeypot_blacklist() public {
        // Step 1: Victim buys
        vm.startPrank(victim);
        // ... buy tokens
        vm.stopPrank();

        // Step 2: Owner blacklists victim
        vm.startPrank(owner);
        token.blacklist(victim);
        vm.stopPrank();

        // Step 3: Victim cannot sell
        vm.startPrank(victim);
        vm.expectRevert("Blacklisted");
        token.transfer(address(1), 100e18);
        vm.stopPrank();
    }

    function test_fee_manipulation_rug() public {
        // Step 1: Verify initial fee is low
        assertEq(token.sellFee(), 3); // 3%

        // Step 2: Owner sets fee to 99%
        vm.prank(owner);
        token.setFees(3, 99); // Buy 3%, Sell 99%

        // Step 3: Victim sells — loses 99% to fees
        vm.startPrank(victim);
        uint256 balanceBefore = address(victim).balance;
        // ... sell tokens
        // Assert: received almost nothing
        vm.stopPrank();
    }
}

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "forge-std/Test.sol";
import "../src/Token.sol";

contract TokenExploitTest is Test {
    Token token;
    address owner = makeAddr("owner");
    address victim = makeAddr("victim");
    address attacker = makeAddr("attacker");

    // Uniswap V2 router (mainnet fork)
    address constant ROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    function setUp() public {
        vm.createSelectFork("mainnet");
        // Deploy token as owner
        vm.startPrank(owner);
        token = new Token();
        // Add liquidity...
        vm.stopPrank();
    }

    function test_hiddenMint_rug() public {
        // Step 1: Victim buys tokens
        vm.startPrank(victim);
        // ... buy tokens on Uniswap
        vm.stopPrank();

        // Step 2: Owner mints and dumps
        vm.startPrank(owner);
        uint256 supplyBefore = token.totalSupply();
        token.mint(owner, 1_000_000_000e18);
        assertGt(token.totalSupply(), supplyBefore, "Supply should increase");
        // ... sell minted tokens
        vm.stopPrank();

        // Step 3: Victim's tokens are now worthless
        // Assert token price crashed
    }

    function test_honeypot_blacklist() public {
        // Step 1: Victim buys
        vm.startPrank(victim);
        // ... buy tokens
        vm.stopPrank();

        // Step 2: Owner blacklists victim
        vm.startPrank(owner);
        token.blacklist(victim);
        vm.stopPrank();

        // Step 3: Victim cannot sell
        vm.startPrank(victim);
        vm.expectRevert("Blacklisted");
        token.transfer(address(1), 100e18);
        vm.stopPrank();
    }

    function test_fee_manipulation_rug() public {
        // Step 1: Verify initial fee is low
        assertEq(token.sellFee(), 3); // 3%

        // Step 2: Owner sets fee to 99%
        vm.prank(owner);
        token.setFees(3, 99); // Buy 3%, Sell 99%

        // Step 3: Victim sells — loses 99% to fees
        vm.startPrank(victim);
        uint256 balanceBefore = address(victim).balance;
        // ... sell tokens
        // Assert: received almost nothing
        vm.stopPrank();
    }
}

SOLANA QUICK CHECKS (NO SOURCE CODE NEEDED)

SOLANA 快速检查(无需源代码)

When you don't have source code, check on-chain:
1. MINT AUTHORITY → solana account <MINT> --output json | check mint_authority
   - Should be null
   - If Some(pubkey) → CRITICAL: can mint infinite tokens

2. FREEZE AUTHORITY → same as above, check freeze_authority
   - Should be null
   - If Some(pubkey) → CRITICAL: honeypot

3. LP STATUS → Check Raydium/Orca pool
   - LP burned? (tokens sent to 1111...1111)
   - LP locked? (in verified locker with no backdoor)
   - LP held by deployer? → CRITICAL: instant rug

4. TOP HOLDERS → Birdeye/Solscan holders tab
   - Top 10 < 30% of supply (excluding pools)
   - Creator wallets (check first transactions)

5. PROGRAM UPGRADEABILITY
   - Is the program upgradeable? → can change any logic
   - Upgrade authority should be None for immutable programs

6. TOKEN-2022 EXTENSIONS
   - Any transfer hook? → potential honeypot
   - Permanent delegate? → CRITICAL

1. MINT AUTHORITY → solana account <MINT> --output json | check mint_authority
   - Should be null
   - If Some(pubkey) → CRITICAL: can mint infinite tokens

2. FREEZE AUTHORITY → same as above, check freeze_authority
   - Should be null
   - If Some(pubkey) → CRITICAL: honeypot

3. LP STATUS → Check Raydium/Orca pool
   - LP burned? (tokens sent to 1111...1111)
   - LP locked? (in verified locker with no backdoor)
   - LP held by deployer? → CRITICAL: instant rug

4. TOP HOLDERS → Birdeye/Solscan holders tab
   - Top 10 < 30% of supply (excluding pools)
   - Creator wallets (check first transactions)

5. PROGRAM UPGRADEABILITY
   - Is the program upgradeable? → can change any logic
   - Upgrade authority should be None for immutable programs

6. TOKEN-2022 EXTENSIONS
   - Any transfer hook? → potential honeypot
   - Permanent delegate? → CRITICAL

Related Skills & Chains

相关 Skills 与链路

  • web3-audit
    — When the target is a DeFi protocol (not just a token). Workflow primitive: this skill's 8 token-specific bug classes are a subset of
    web3-audit
    's scope; if the target has lending / vault / oracle logic beyond the token contract itself, also load
    web3-audit
    for the broader 10 DeFi bug classes.
  • triage-validation
    — When deciding if a rug-pull finding qualifies as a bug bounty submission. Workflow primitive: many "rug vector" observations are pre-rug warnings, not exploitable bugs in a deployed protocol; run 7Q gate to distinguish "the deployer COULD rug" (informational) from "the contract IS exploitable now" (reportable).
  • report-writing
    — When writing up a confirmed token security finding for Immunefi / private bounty. Workflow primitive: Foundry PoC template here feeds into
    report-writing
    's Immunefi body template.
  • offensive-osint
    — When the token has off-chain infrastructure (project website, Telegram, deployer doxxing). Workflow primitive: on-chain audit is this skill's domain; deployer wallet history, social presence, and project legitimacy checks route to
    offensive-osint
    .
  • bb-methodology
    — When confirming engagement mode. Workflow primitive: PART 0 separates "pre-investment due diligence" (this skill's primary use) from "Immunefi bug bounty submission" (different reporting + severity standards); the answer routes which post-audit handoff is correct.

  • web3-audit
    — 当目标是 DeFi 协议(而非仅代币)时使用。工作流基元:本 skill 的 8 类代币专属漏洞是
    web3-audit
    范围的一部分;如果目标除 token 合约本身外还包含 lending / vault / oracle 逻辑,还应加载
    web3-audit
    ,以覆盖更广泛的 10 类 DeFi 漏洞。
  • triage-validation
    — 在判断某项跑路盘发现是否符合 bug bounty 提交条件时使用。工作流基元:许多“跑路向量”观察结果只是 pre-rug warning,而非已部署协议中可利用的漏洞;运行 7Q gate,区分“部署者可以跑路”(信息性)与“合约当前可利用”(可报告)。
  • report-writing
    — 用于撰写面向 Immunefi/私有 bounty 的已确认代币安全发现。工作流基元:此处的 Foundry PoC 模板可填入
    report-writing
    的 Immunefi 正文模板。
  • offensive-osint
    — 当 token 存在链下基础设施(项目网站、Telegram、部署者 doxxing)时使用。工作流基元:链上审计属于本 skill 的领域;部署者钱包历史、社交媒体存在情况和项目合法性检查应转交
    offensive-osint
    。
  • bb-methodology
    — 用于确认合作模式(engagement mode)。工作流基元:PART 0 区分“投资前尽职调查”(本 skill 的主要用途)与“Immunefi bug bounty 提交”(采用不同的报告要求和严重性标准);答案决定正确的审计后交接路径。

Operator Notes (Claude-BugHunter)

操作者备注(Claude-BugHunter)

Engagement-derived + 2026-specific additions to the vendored foundation. Wisdom from real authorized engagements + Phase 2 verification across this repo's 31+ skill-area live tests. The upstream content covers the WHAT; this layer covers the WHEN-IT-WORKS-vs-WHEN-IT-DOESN'T.
源自实际项目经验,并针对 2026 年场景补充到内置基础内容中。 这些经验来自真实授权项目与本仓库 31+ 个 skill 领域 实际测试的 Phase 2 验证。上游内容讲解“做什么”; 本层讲解“何时有效、何时无效”。

Solana-specific signals — 2025-2026 reality

Solana 专属信号——2025-2026 年现实

Token-2022 transfer hooks are the new rug-pull vector. Hook authority can be set to a single key; that key can pause / blacklist / fee-on-transfer arbitrary addresses post-launch. Always check hook authority + permanent-delegate authority for Token-2022 mints:
bash
undefined
Token-2022 transfer hooks 是新的跑路盘攻击向量。Hook authority 可设置为单个密钥;该密钥可在上线后暂停交易、拉黑任意地址或对转账收取费用。对于 Token-2022 mint,始终检查 hook authority 和 permanent-delegate authority:
bash
undefined

get mint extensions for a Token-2022 mint

get mint extensions for a Token-2022 mint

spl-token display <MINT_ADDRESS> --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
spl-token display <MINT_ADDRESS> --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb

look for: TransferHook { authority: ... }, PermanentDelegate { delegate: ... }

look for: TransferHook { authority: ... }, PermanentDelegate { delegate: ... }


If TransferHook authority is non-null → the holder of that key can revoke transfer rights mid-trade. If PermanentDelegate is non-null → that delegate can move any holder's tokens at any time (effectively a built-in confiscation). Either alone is rug-class.

pump.fun bonding curves can be manipulated via the curve's K-parameter; mint authority retained beyond bonding-curve completion is the classic exit-scam shape. Check `mintAuthority` AFTER the curve completes — legitimate launches null it, scams retain it for the post-graduation dump.

如果 TransferHook authority 非 null → 该密钥持有者可在交易中途撤销转账权限。如果 PermanentDelegate authority 非 null → delegate 可随时转移任何持有者的代币(实质上是内置的没收机制)。任一情况单独出现都足以构成跑路盘级风险。

pump.fun bonding curves 可通过 curve 的 K 参数操纵;在 bonding curve 完成之后仍保留 mint authority,是经典的退出骗局形态。检查 curve 完成后的 `mintAuthority`——合法 launch 会将其置为 null,骗局则保留它,以便在毕业后抛售。

Honeypot detection — beyond the obvious

Honeypot 检测——超越明显迹象

transfer()
succeeds in dry-run but fails on certain addresses (sender allowlist / blocklist). Test with: simulated buy → simulated transfer to a different address → simulated sell. If buy + transfer succeed but sell fails, it's a honeypot.
Quick triage matrix:
TestHoneypot Signal
Buy from random walletSucceeds (must — or no one would touch it)
Transfer to second random walletOften fails on honeypot
Sell from original walletFails or applies > 50% tax
Sell from team-controlled walletSucceeds (the giveaway)
Cross-source verification: solana-rugcheck, rugcheck.xyz, dexscreener risk signals, honeypot.is (EVM). Never trust a single source — rug-checkers can be fooled by deferred-malice patterns (clean for first 7 days, hook activates later).
transfer()
在 dry-run 中成功,但对某些地址失败(sender allowlist / blocklist)。测试方式:模拟买入 → 模拟转账到另一地址 → 模拟卖出。如果买入和转账成功但卖出失败,则为 Honeypot。
快速分诊矩阵:
测试Honeypot 信号
从随机钱包买入成功(必须如此——否则没人会碰它)
转账到第二个随机钱包在 Honeypot 中经常失败
从原始钱包卖出失败或收取 > 50% 税费
从团队控制的钱包卖出成功(所谓的 giveaway)
交叉来源验证:solana-rugcheck、rugcheck.xyz、dexscreener 风险信号、honeypot.is(EVM)。绝不要只相信单一来源——rug-checker 会被延迟恶意模式欺骗(前 7 天看起来干净,之后 hook 才激活)。

LP lock claims — verify, don't trust

LP 锁定声明——验证,不要相信

LP-lock badges on DexScreener mean nothing without on-chain verification. Check the actual lock contract (Unicrypt, TeamFinance, Bonkbot, PinkLock) for:
  • Unlock date — the on-chain timestamp, not the badge text
  • Lock owner — is it the deployer's wallet? Are there multiple lockers fragmenting the LP?
  • Extension / shortening permission — some lock contracts allow the owner to SHORTEN the lock; that's an exit hatch dressed as a lock
  • Lock contract bytecode — verify it's the canonical locker, not a fork with backdoors
Some "locked" LPs are 1-day locks renewed weekly — visually the same as a year lock to the buyer, but the deployer can let it lapse on any Tuesday. Always read the lock contract source on the chain explorer.
DexScreener 上的 LP 锁定徽章,如果没有链上验证就毫无意义。检查实际锁仓合约(Unicrypt、TeamFinance、Bonkbot、PinkLock)中的:
  • 解锁日期——链上时间戳,不是徽章文字
  • 锁仓所有者——是部署者钱包吗?是否有多个 locker 分散 LP?
  • 延期/缩短权限——某些 lock contract 允许 owner 缩短锁定期;这是伪装成锁仓的逃生口
  • 锁仓合约字节码——验证其为标准 locker,而不是带后门的 fork
有些所谓“已锁定”的 LP 实际只锁 1 天并每周续期——买家看来与锁 1 年无异,但部署者可以任选某个星期二让锁仓失效。始终在区块浏览器上阅读锁仓合约源码。

Pre-investment due diligence in under 5 minutes

5 分钟内完成投资前尽职调查

The 6-question fast filter:
  1. Mint authority null?
  2. Freeze authority null?
  3. Update authority null (for metadata immutability)?
  4. LP locked in a verified contract for > 6 months?
  5. Top 10 holders concentration < 30% (excluding pools/burn addresses)?
  6. Bonding curve completed (for pump.fun) AND post-completion mint authority null?
Five "no"s = walk away. Three "no"s = high risk, only enter with size you'd walk away from. Two "no"s with strong narrative + thin liquidity = the canonical retail trap.
6 问快速筛选:
  1. Mint authority 是否为 null?
  2. Freeze authority 是否为 null?
  3. Update authority 是否为 null(以保证 metadata 不可变)?
  4. LP 是否在已验证的合约中锁定超过 6 个月?
  5. 前 10 大持有者的集中度是否低于 30%(不包括池/销毁地址)?
  6. Bonding curve 是否已完成(对于 pump.fun),且完成后的 mint authority 是否为 null?
5 个“否” = 立即离开。3 个“否” = 高风险,只能投入你愿意直接放弃的金额。2 个“否”且项目叙事强势 + 流动性稀薄 = 典型的散户陷阱。

MEV / sandwich amplification on illiquid mints

低流动性 Mint 上的 MEV/Sandwich 放大

Buying into a mint with < $50K liquidity guarantees you'll be sandwiched. The bot infrastructure on Solana and Ethereum is institutionalized in 2026 — Jito MEV-share and private order-flow auctions. If your trade size > 1% of available liquidity, expect sandwich loss > 5%; > 5% of liquidity, expect > 20% slippage from sandwich alone.
Mitigations (rank by 2026 effectiveness):
  1. Jito bundles (Solana) — submit with priority tip, atomic with no MEV window
  2. Flashbots Protect RPC (Ethereum) — private mempool submission
  3. MEV-protected DEX aggregators — Jupiter's slippage protection, 1inch Fusion, CoWSwap
  4. Splitting orders — N smaller trades vs 1 large; reduces sandwich profitability per trade
If the mint is so illiquid that even split orders sandwich — that's the signal to skip the trade, not the signal to use better tooling.
买入流动性低于 $50K 的 mint,几乎必然会遭到 sandwich。2026 年 Solana 和 Ethereum 的 bot 基础设施已高度产业化——Jito MEV-share 和私有订单流拍卖。如果你的交易规模 > 可用流动性的 1%,预计 sandwich 损失 > 5%;> 5% 时,预计仅 sandwich 就会造成 > 20% slippage。
缓解措施(按 2026 年有效性排序):
  1. Jito bundles(Solana)——附带 priority tip 提交,交易原子执行,不留 MEV window
  2. Flashbots Protect RPC(Ethereum)——通过私有 mempool 提交交易
  3. MEV 保护型 DEX 聚合器——Jupiter 的 slippage protection、1inch Fusion、CoWSwap
  4. 拆单——将 1 笔大额交易拆为 N 笔小额交易;降低每笔交易的 sandwich 获利空间
如果 mint 的流动性低到连拆单也会遭到 sandwich——这表明应跳过该交易,而不是寻找更好的工具。