在 Web3 里买新币,死法基本就三种,而且个个经典。第一种叫硬 rug:项目方直接把流动性池撤空卷款跑路,代币瞬间归零,从”因为相信所以看见”到”查无此币”只需要一笔交易。第二种叫软 rug:团队握着大份额代币按兵不动,看起来岁月静好,然后每天精准砸一点,温水煮青蛙,你甚至说不清自己是哪天死的。第三种最阴,叫貔貅盘(honeypot)——以只进不出的上古神兽命名:你买得进,卖不出,要么卖出直接 revert,要么卖出税高达 99%,1000 USDT 进去,50 USDT 出来,”客服”还会劝你长期持有必有回报。
很多人觉得识别这些骗局需要深厚的合约功底,其实不需要。发币的门槛低到令人发指:一段二三十行的 ERC-20 模板代码,复制粘贴改个名字,五分钟上线,全部成本就是几美元的 Gas 费。门槛越低,骗子密度越高。所以”上新币之前先做检查”不是选修课,是必修课——你不检查合约,合约就会检查你的钱包。
这篇文章不讲大道理,只讲五项买前检查:流动性安全、合约权限、卖出模拟、持仓分布、团队背景。每项都配一个菜市场、买房、相亲级别的类比——你哪怕记不住术语,把类比记住也能躲掉大半的坑——外加”为什么 + 怎么查”,最后用三段纯标准库的 Python 代码把检查思路自动化。学完至少能躲开 80% 明晃晃的坑,剩下 20% 属于《合约安全审计入门》的专业范畴,那篇是审计工程师视角,本文是你掏钱之前五分钟的快速体检。
三种死法:先认清对手
先别急着掏钱包,动手检查之前,得先搞清楚我们要防的是什么。三种死法,作案机制完全不同,你对号入座一下自己是怎么死的:
- 硬 rug:执行动作是”撤流动性”。项目方把手里的 LP token(流动性凭证)一撤,池子里的 ETH 和代币瞬间归项目方所有,价格图表直接跳崖。整个跑路过程通常一笔交易完成,你连挂单止损的机会都没有。
- 软 rug:执行动作是”卖币”。团队、早期投资人、做市商握着大份额筹码,等价格拉起来之后分批出货。没有戏剧性的跑路现场,只有漫长阴跌,最后项目”自然死亡”。
- 貔貅盘:执行动作在合约代码里。transfer 函数被植入逻辑——买入畅通无阻,卖出要么 revert 要么扣 95% 的税。它的营业逻辑一句话就能讲完:你买的时候店员满脸堆笑,你卖的时候老板直接抢。你的币还在钱包里,数字还显示着,但它的流动性已经死了,是名副其实的”数字纪念品”。
三种死法共用同一个作案工具——合约。所以五项检查的主线始终是围绕合约和链上数据取证。
买入前的五项检查
接下来是正菜。每一项检查我都给你配了一个生活类比,术语可以忘,类比请务必带走。
检查一:流动性安全——押金押在中介,才退不回去
先说类比:流动性锁仓,就是押金押在中介手里,不能退。租过房的人都懂:押金押在中介那里,租约没到期,谁也别想把它要回去。LP token(流动性凭证)就是币圈的”押金条”——锁进锁仓合约,项目方到期日之前一根手指都碰不到池子;烧进黑洞地址,等于押金条当着所有人的面撕了,永久作废。反过来,押金条要是还躺在项目方自己兜里呢?那这份”押金”就只是个态度,人家随时可以揣着钱走人。
为什么查:硬 rug 的执行机制就是撤流动性。你在 DEX 买币,本质是把自己的 USDT 换进了流动性池,池子的另一边躺着项目方注入的资产。谁掌握 LP token,谁就能随时把池子端走。流动性安全是硬 rug 的唯一防线。
怎么查:
- 看池子深度。在 DEXScreener 或 DEX 界面看池子里有多少真实资产(比如多少 ETH)。池子太浅的话,几千美元就能砸出 50% 的滑点——不用 rug,一根普通卖单就能让你腰斩。池子深度是体格,rug 是意外,体格太差的连意外的资格都没有。
- 看 LP token 去向。健康的做法有两种:锁仓(通过 UNCX、Team Finance 这类锁仓平台,锁仓合约地址和到期时间链上公开可查)或烧毁(LP token 转入
0x000...dead黑洞地址,永久无法撤出)。两者任选其一,跑路按钮就等于被拆掉了——押金进了中介,或者押金条当场撕了。 - 看撤流动性权限在谁手里。如果 LP token 躺在部署者钱包里,既没锁也没烧——这不叫安全,只叫”跑路按钮还没按”。要不要把手放上去,你自己决定。
检查二:合约权限——房东偷偷配了你的门钥匙
第二个类比:owner 权限,就是房东偷偷配了你的门钥匙。你搬进出租屋,自己换了锁,以为这就是你的家了——可房东手里还留着一把钥匙,想什么时候进来就什么时候进来。合约里的 owner,就是那个房东。
这把钥匙都能干什么?数给你看:mint,凭空加印筹码,你手里那份越攥越薄;pause,一键把全楼的门从外面锁死,谁都别想买卖;setTax,今天进出免费,明天先交 99% 的过路费;blacklist,把你的钥匙直接作废,你想卖币?系统查无此人;selfdestruct,房子不想要了,连地基一起爆破;delegatecall,把整栋楼的物业管理外包给一个外人,楼还是你的楼,规矩已经不是你的规矩。合约是法律,而 owner 是随时可以修法的人。
怎么查(Etherscan 实操):
- 打开代币的 Etherscan 页面,找 Contract 标签。
- 没有绿色对勾 = 合约未验证开源。不肯给你看源码,就像不肯给你看厨房的餐厅——你可以吃,但建议做好食物中毒的心理准备。未开源本身就是红旗,不用再往下查了。
- 绿色对勾 = 点开源码,
Ctrl+F搜关键词:onlyOwner、mint、blacklist、setTax、pause、selfdestruct、delegatecall。每个命中的关键词都要弄清楚:它控制什么功能、谁能调用、调用后果是什么。搜到mint不一定是灾难(有些项目有上限增发),但”无上限 + onlyOwner”的组合基本可以判定为劫案预谋。 - 看 owner 是不是普通钱包地址,以及有没有调用过
renounceOwnership(放弃所有权)。这一步相当于房东当着全体租客的面,把私配的钥匙咔嚓剪断——剪了之后,谁也没法再进屋改规矩,大加分项。但要确认真的调用过,”声称放弃”和”已经放弃”是两回事。
本文教你的是五分钟用户侧体检;想系统学习怎么从攻击者视角审合约,见文末的《合约安全审计入门》。
检查三:卖出模拟——买房前,先试着转手一次
第三个类比:卖出模拟,就是买房之前先试着转手一次。老手买大额资产,会先拿一小笔钱试水:挂出去,看有没有人接盘,看过户要被抽走多少。等全款砸进去才发现房子根本过不了户,那就晚了。买币同理——买入是项目方设计的欢迎仪式,卖出才是照妖镜。
先看清对手的营业逻辑。貔貅盘的日子是这样的:你进店买币,店员满脸堆笑,扫码、到账,还送你一面”钻石手”锦旗,一路畅通无阻;等你哪天想卖了,老板从柜台后面窜出来直接抢——那张 95% 的卖出税,就是明抢给你的收据。
怎么查:
- 先用检测工具扫一遍:GoPlus Security、Token Sniffer、honeypot.is 等,看卖出模拟结果和买卖税率。
- 但要明白工具的局限:有些貔貅盘只对”非白名单地址”revert,检测器用默认地址模拟,查不出来。工具会误报,也会漏报。
- 最硬核的办法:用测试钱包(小号)真买一小笔,然后立刻试着卖掉。买得起不算数,卖得掉才算数。测试钱包里只放你打算烧掉的零钱,这一步的学费是确定的,学费之后的安全是大概率确定的。
- 卖出后对比到手金额和账面金额。差距过大就是隐形税在作怪——记住下文卖出税模拟里的结论:5% 是慢性毒药,95% 是当场处决。
检查四:持仓分布——这个小区的房源攥在谁手里
第四个类比:持仓集中度,就是一个小区大部分房源握在一个人手里。你满心欢喜买了某小区一套房,入住才发现:小区八成的房子是同一个业主的。他哪天心情不好,集体挂售,房价当场崩给你看——你唯一能选的,是割肉跑,还是蹲着陪葬。筹码高度集中的币,就是这样一个小区。持仓分布决定了”谁能在什么时候杀死你”。
怎么查:
- Etherscan 的 Holders 标签看前 10 大地址占比。经验线:Top10 超过 50% 要警惕,超过 70% 基本可以告别了——这个小区的定价权,已经在人家手里了。
- 识别开发者钱包:从合约部署交易往前追,看头号地址是否从部署者或预售地址收币。开发者钱包持仓 20% 以上,等于把刀递到对方手里还把后背转过去。
- 警惕单地址巨鲸:一个地址握着 20% 以上流通量,它进出场都会砸出瀑布,不管它是不是项目方。
- 记得排除流动性池地址和锁仓合约地址——它们占大头是正常现象,别看见占比就腿软。
- 持仓监控是门进阶手艺,想深挖可以看《如何查看鲸鱼挂单数据》,那是本文检查四的加强版;代币分配的其他红旗(团队份额、解锁曲线、FDV 陷阱)则见《代币经济学:如何判断一个代币值不值得买》。
检查五:团队与背景——相亲对象连身份证都不敢给你看
最后一项查人。类比:团队背景,就是相亲对象连身份证都不敢给你看。处对象可以不打听收入,但对方连身份证都捂着,你还敢把彩礼打过去?代码不会撒谎,但人会让代码撒谎。匿名团队不一定 rug,但匿名意味着跑路零成本——没有身份,就没有声誉破产这回事。
怎么查:
- 匿名团队三件套:GitHub 提交历史(是不是开工前一周临时堆出来的)、推特建号时间、域名注册时间。三件套都是上周注册的,你面对的就不是项目,是魔术道具店的新货架——身份证、学历证、履约能力,全套新办,随用随取。
- 审计报告也可能是假的。伪造一张”已通过 XXX 审计”的图片成本为零,就像相亲简历上的”名企高管”可以自己印。看出报告方:审计公司是否真实存在、官网能否对上号、该公司是否在自己的页面承认审计过这个项目。看 scope:审计范围有没有覆盖你担心的那些函数,还是只审了个 ERC-20 模板就宣布全境和平。记住:审计报告不等于资金安全保险单。
- 社交热度不等于安全。Telegram 人数可以买,KOL 喊单可以收费,”万人社区”和”万人稳定亏损”之间只隔着一个 KOL 产业链。热度是营销指标,不是安全指标——介绍人再热情,身份证也得本人掏。
用 Python 把检查思路自动化
五项检查里凡是”看数据、算比例、打分”的活儿,本质上都是数据处理,这正是 Python 的主场。下面三段代码全部纯标准库,复制就能跑——本文写作时已在 Python 3 环境真实跑通,后面的输出都是真跑出来的,不是手打的。
一、合约风险扫描器:给合约做一次体检
先说直觉。检查二里”读源码找红旗”,人肉版是开着 Etherscan 按 Ctrl+F 搜关键词;机器版思路一模一样——列一张红旗体检表,命中一项加几分,锁仓、放弃权限这类好行为减刑减分,最后按总分给个评级。跟体检报告一个逻辑:逐项打分,汇总,出结论。
1 | #!/usr/bin/env python3 |
代码说明:灵魂就是那张 RISK_RULES 体检表——每条规则是 (特征, 权重, 说明) 三元组,权重代表危险程度,负分是减刑项(锁仓、放弃所有权)。scan 把特征清单和体检表对一遍,命中就累计风险分;rate 按总分出评级;report 负责把报告打印成人话。LULU 和 PIPI 都是虚构币种:一个清单干净还主动锁仓,一个凑齐了作恶全家桶。
真实运行输出:
1 | ========================================================== |
对着输出读:LULU 只命中两条减刑项,总分负 4,放行;PIPI 凑齐 mint、黑名单、动态税率,总分 15,直接拉黑。同一张体检表,两种人生。想接真实数据也简单:用正则从开源合约源码里把函数名和修饰符抽出来,替换 features 清单就行。
二、持仓集中度分析:数一数房源攥在几个人手里
还是先说直觉。怎么用数字描述”小区房源是不是攥在一个人手里”?借反垄断领域的老工具 HHI(赫芬达尔-赫希曼指数):把每个地址的持仓份额平方后求和。为什么要平方?为了狠狠惩罚大头——一个地址攥 41.5%,平方完是 1722;散户那点零头,平方完约等于没有。集中度立刻现形。
1 | #!/usr/bin/env python3 |
代码说明:HEALTHY 和 PRE_RUG 是两套模拟的前 20 大地址持仓(虚构口径)。HHI = Σ 份额的平方;”剩余散户”那部分按 others_n 个地址均摊后计入,避免把几千个散户挤成一个假巨鲸。判定口径在文件头写着:HHI < 500 健康,500~1000 警惕,> 1000 危险。
真实运行输出:
1 | —— 健康样本:虚构的 LULU 币 —— |
对着输出读,两套数据的差距非常直观:健康样本 LULU,Top10 占 42%、HHI 只有 228,谁也吞不掉谁;rug 前夕的 PIPI,Top10 占 79.1%、头号地址一家攥着 41.5%、HHI 飙到 2008——差了一个数量级。这就是”房源攥在一个人手里”的数学版。真实场景下,持仓数据可以从 Etherscan 的 Holders 接口或链上索引协议直接拉。

三、卖出税模拟:老板抢钱的收据
现在把检查三那个店员与老板的故事,翻译成数学。公式只有一行:到手金额 = 账面金额 x(1 - 税率)。就这一行,能算出三种人生。
1 | #!/usr/bin/env python3 |
代码说明:sell_with_tax 就是那一行公式本体。三个场景:单次卖出的 5% 温和税、单次卖出的 95% 明抢、双边各 5% 往返 5 次。简化口径:不考虑价格冲击和 Gas,只为把税本身看清楚。
真实运行输出:
1 | 场景一:卖出税 5%(温和税) |
逐个场景读。场景一,1000 进 950 出,像付了笔小费,很多人因此放松警惕——这就是慢性毒药,单看人畜无害。场景二,就是老板从柜台后面窜出来那一下:1000 进 50 出,账面上币还在,实际到手 5%,等于间接归零。场景三最值得回味:双边各 5%,单看还是温和,可往返 5 次、过 10 次闸之后只剩 598.74,磨掉 40%——税是按过闸次数复利收的,不是按你持有的时间。波段玩家对高税币深恶痛绝,就是被这道闸反复收割过了。

复盘一个典型 rug 的 72 小时
五项检查和三段代码都是”静态”的体检工具,最后把它们装进时间轴,完整复盘一个 rug 从开盘到归零的全过程。先把口径说死:这是一个虚构的合成案例,由真实 rug 的常见套路拼合而成,所有数字取典型量级,并与本文三段模拟的口径对齐——对号入座可以,拿去查地址就是我的不对了。
| 时刻 | 发生了什么 | 关键数字 |
|---|---|---|
| T+0 | 开盘建池,宣传”公平发射,社区共有” | 流动性约 8 万美元 |
| T+3h | 社媒造势,KOL 齐喊”百倍金狗” | 市值拉到开盘的 5 倍 |
| T+10h | 官推晒”LP 已锁仓”截图 | 锁在一个没人查证过合约的地址里 |
| T+24h | 开发者钱包悄悄吸筹,筹码加速集中 | Top10 合计 79.1%,HHI 冲到 2008 |
| T+30h | owner 调用 setTax 把卖出税改到 95%,顺手拉黑名单 |
早期买家发现:买得进,卖不出 |
| T+72h | 撤池跑路,代币归零 | 群里最后一条消息,是”客服”劝你长期持有 |
把一位”标准受害者”的账摊开算:假设他在 T+3h 被”5 倍”的气氛裹挟着投入 1000 USDT 买入,扛到 T+30h 想止盈——即便币价一分没跌,按 95% 的卖出税,到手也只有 50 USDT;真拖到 T+72h,连这 50 也没了,那 8 万美元的池子连同所有人的本金一起消失,全部汇进开发者钱包。而回看这 72 小时,五项检查每一项都有红旗飘过:流动性没锁进可查证的锁仓合约,是检查一的红旗;owner 留着 setTax 和 blacklist,是检查二的红旗;卖出模拟会当场翻车,是检查三的红旗;Top10 79.1%、HHI 2008 早在 T+24h 就亮了灯,是检查四的红旗;”公平发射”配上周新注册的官推,是检查五的红旗。rug 不是没有信号,是绝大多数人从来不看。
免责声明
先说清楚边界:这五项检查降低风险,但不消除风险。骗局也在通过对拍升级——锁仓可以作假(锁了小池子、藏了大池子),审计可以伪造,卖出模拟可以设白名单。清单能帮你过滤掉 80% 明晃晃的坑,但剩下 20% 需要,也只能需要,你自己承担。
其次,本文不构成任何投资建议。买不买、买多少、亏了找谁哭,都是你自己的决策。DYOR(Do Your Own Research)不是一句口号,是字面意思。
最后提醒:项目方跑路不是唯一的死法。买完新币记得顺手检查一下钱包里的授权——rug 的姊妹篇是无限授权钓鱼,见《Web3 中的授权与撤销授权》;而另一种经典死法不是项目方动手,是你自己被钓鱼站偷了私钥,见《我是一个区块链黑客(第一篇)》。防住了项目方,别忘了防自己。
总结
上新币之前的五项检查,浓缩成一张口袋清单——每项带走一个类比就够:
- 流动性安全:押金押在中介了吗?池子深度够不够,LP token 是否锁仓或烧毁,撤流动性权限在谁手里。
- 合约权限:房东有没有私配你的门钥匙?源码开没开源,
onlyOwner能不能 mint、暂停交易、改税率、拉黑名单,所有权有没有真的放弃。 - 卖出模拟:买房前先试着转手一次。检测工具扫一遍,再用小号真买真卖一笔——买得起不算数,卖得掉才算数。
- 持仓分布:这个小区的房源攥在谁手里?Top10 占比、开发者钱包持仓、单地址巨鲸,排除池子地址再看。
- 团队与背景:相亲对象的身份证掏出来看看。匿名程度、GitHub 和域名的”工龄”、审计报告的出报告方与 scope、社交热度的含金量。

三段 Python 代码演示了检查背后的数学:风险评分把红旗变成数字,HHI 把筹码集中度变成数字,卖出税把跑路成本变成数字。数字不会说谎,说谎的是宣传海报。
检查花的这五分钟,可能是你在币圈最划算的五分钟。
相关阅读
- 《如何查看鲸鱼挂单数据》:持仓与鲸鱼监控的进阶版
- 《Web3 中的授权与撤销授权》:rug 的姊妹篇是无限授权钓鱼,买完记得检查授权
- 《代币经济学:如何判断一个代币值不值得买》:分配红旗与 FDV 陷阱
- 《我是一个区块链黑客(第一篇)》:另一种死法——不是项目方跑路,是你自己被钓鱼
- 《合约安全审计入门》:本文是用户侧的快速检查,那篇是专业审计视角