貔貅盘:只能买不能卖是怎么写进合约的
貔貅盘不是行情差到卖不出去,而是合约把卖出能力交给了部署者。五种常见写法、历次换过的马甲、买入前能核对的七项和仍然看不见的三项,以及卖不出去时该怎样留证。
先说结论
5 条- 貔貅盘的内核是权限不是行情:你能不能卖,由部署者手里的开关决定,跟盘口有没有人接没关系。
- 常见合约实现有五类:卖出方向直接 revert、买入后拉黑、卖出税可事后调高、交易总开关、可升级代理换掉逻辑。
- 这套结构从 ICO 时代一路换到 meme、铭文、AI 代币,包装词每轮都换,「部署者事后能改规则」这一条没变过。
- 买之前能核对七项:是否开源、owner 权限、能否升级、税率是否可变、LP 锁定情况、持仓集中度、有没有人真的卖出过。
- 核对不出三项:部署者的意图、他未来的动作、链下的安排。七项全查干净也不等于安全。
貔貅盘骗不到老玩家,不是因为老玩家眼力更好,是因为他们买完之后会先卖 1 枚试一下。貔貅盘,是指在合约里写了卖出限制、买得进卖不出的代币盘子,名字取自传说中只进不出的貔貅。它的内核是一个权限问题:你能不能卖,取决于部署者手里的一个开关,跟盘口上有没有人接单没有关系。
貔貅盘到底是行情问题还是合约问题?
貔貅盘是合约问题,不是行情问题——卖不出去的原因写在代码里,跟有没有买单无关。这个区别不是抠字眼。行情差意味着规则公平但结果不好,你可以等;合约限制意味着规则本身对你关着,等多久都一样。多数人在钱包提示交易失败时的下意识动作是调高滑点再试一次,这个反应本身就说明这两件事在他脑子里还没分开。
「卖不出去」的五种常见写法
这些写法都是公开安全研究里反复出现的模式,不是什么秘密:
- 卖出方向直接 revert。合约在
transfer或_beforeTokenTransfer里判断转账方向,如果是非白名单地址在卖出,直接让交易失败。你看到的是一个失败的交易,不是一个成交的坏价格。 - 买入即拉黑。合约维护一个黑名单 mapping,你买入的那笔交易顺手把你的地址记进去。买的时候一切正常,这是它比前一种更难被试出来的地方。
- 卖出税是可变参数。上线时设成 5%,等池子里有钱了再调高到接近上限。这一种在链上看起来最像”行情”:交易没失败,只是卖出来的钱几乎不剩。
- 交易总开关。owner 保留一个
setTradingEnabled之类的方法,或者把单笔卖出上限设成 0。一行调用就能让全部人同时卖不动。 - 可升级代理。上线时部署的是一份干净逻辑,审计也能过;事后把实现合约替换掉。你今天读到的代码,明天可以不算数。
它们的共同点:部署者事后能单方面改规则
五种写法的表面差别很大,剥掉之后剩下同一句话:合约里留了一个位置,让部署者在你买入之后,还能单方面改变你的卖出能力。
这句话就是本篇要认的那个结构。它不依赖任何叙事,不依赖赛道,也不依赖币的名字。反过来说,一份把权限交出去了的合约——owner 已经放弃、不可升级、税率写死成常数——就算它的叙事再土,也做不出貔貅盘这个动作。看权限,不看故事。
这套手法换过哪些名字?
同一种结构在过去几年里换过至少五轮马甲,每一轮的包装词都跟着当时的热点走,合约层那段代码基本没动。按手法而不是按项目名记更有用:项目名会消失,结构还会再出现。
内核那句话,剥掉包装
卖出能力由部署者的开关决定,而不是由市场决定。
十二个字,五轮马甲里没有一次变过。下面这张表变的全在中间那一列。
历次马甲与当时的包装词
| 时期 | 当时的包装词 | 盘子长什么样 |
|---|---|---|
| 2017 前后 | 白皮书、路线图、基金会、生态 | 一个 ERC-20 合约加一份 PDF,卖不出表现为”交易所迟迟不上” |
| 2020–2021 | 流动性挖矿、通缩销毁、持币分红 | DEX 上线即交易,高卖出税包装成”销毁”和”分红给持币人” |
| 2021–2022 | 社区共识、meme 文化、名人转发 | 黑名单机制包装成”防机器人""防女巫""防科学家” |
| 2023–2024 | 铭文、符文、公平发射 | 用”公平发射”回避审计话题,权限仍握在部署者地址里 |
| 2025–2026 | AI 代理、DePIN 设备、RWA 背书 | 叙事换成算力与实体资产,合约层的写法照旧 |
上表是我们按公开安全研究中的常见模式做的归类,用来说明包装规律,不针对任何具体项目。每一轮都变的是名字、故事和赛道热词;每一轮都不变的是那个开关。
每次都不变的那部分
- 有一个地址部署了合约,并且在部署时保留了某种事后干预能力。
- 买入路径畅通无阻——这是必需的,钱得先进来。
- 卖出路径存在一个条件判断,而条件的一端握在别人手里。
- 叙事负责解释”为什么值得买”,从不解释”为什么有这个开关”。
第四条格外好用。一个项目的宣传材料花多少篇幅讲愿景,通常和它花多少篇幅讲合约权限成反比。
买之前能自己核对什么?核对不出什么?
能核对的是合约的公开事实,核对不出的是人。把这两半分清楚,比清单本身更重要——只给清单不给边界,会制造一种”我查过了所以安全”的错觉,那比不查更危险。
能查的七项
- 合约是否开源?去区块浏览器的合约页看。未开源意味着没法核对,到这一步就可以停了。
- owner 是谁、有哪些权限?读合约。出现
setTax、setBlacklist、setTradingEnabled这类方法,说明部署者能单方改规则。 - 合约是否可升级?读合约看是不是代理模式。可升级 = 你今天读的逻辑明天可能被换掉。
- 卖出税是固定常数还是可变参数?可变就意味着事后能调到接近上限。
- LP 锁没锁、锁多久、锁在哪、谁能提前解锁?只说一句”已锁 LP”等于没说。
- 持仓集中度?浏览器的 holders 页。少数地址握着绝大部分筹码,一个人就能决定盘面。
- 有没有人成功卖出过?看 transfers 记录。只有买入没有卖出,是强信号。
七项里有六项在区块浏览器上就能看完,花不了十分钟。真正拦住人的从来不是难度,是不想在兴奋的时候停下来。
查不出的三项(这段更重要)
- 部署者的意图。代码干净不代表人干净。一份现在没有后门的合约,说明的是现在。
- 未来的动作。只要合约可升级,“现在安全”这个结论的有效期就是零。
- 链下的安排。合约之外的私下承诺、场外协议、多个地址背后是不是同一个人——链上看不到。
这些迹象能提示风险,不能证明意图;查得干净也不等于安全。审计报告同理——审计有范围也有时点,通过审计说明的是那个范围在那个时点没发现问题。
已经买进去卖不出来了,还能做什么?
先把发生了什么确认清楚,再决定下一步,不要在没弄明白之前反复试单——每试一次都在付 Gas。说实话,这一步能拿回钱的情况不多,本站不打算在这里给你希望。
先确认发生了什么
- 交易是失败(revert)还是成功但换回来的钱极少?前者指向转账限制或黑名单,后者指向税率被调高。
- 换个新地址小额买入再卖出,看看是不是全部人都卖不动,还是只有你。这一步只是为了判断类型,不是为了解套。
- 去区块浏览器翻合约的近期交易,看 owner 地址最近调用过什么方法、什么时间调的。
保留证据与报案
- 保留交易哈希、合约地址、你的地址、时间戳,以及推广材料的截图与链接。链上记录不会消失,但推广页面会。
- 检查并撤销相关的代币授权,避免损失继续扩大。
- 境内对虚拟货币相关业务活动有明确规定,相关交易炒作被定性为非法金融活动,参与相关投资交易活动存在法律风险、损失自担;具体规则以官方发布为准。涉及诈骗、非法集资的,可向公安机关报案,并保留上述材料。
下次遇到新盘,先记住哪一条?
不用记貔貅盘这三个字,记那个动作:**看到一个新盘,先找它的合约权限页,再找它的宣传页。**如果宣传页写了三千字愿景,权限页写着 owner 未放弃、合约可升级、税率可调,那么这两页说的不是同一个东西,而权限页说的那个才会兑现。
「貔貅盘」这个名字明年可能就不流行了,会有新词。但只要还有人在部署合约时保留那个开关,这份档案就还能用。
常见问题
Q: 貔貅盘和 rug pull 是一回事吗?
答: 不是,卡住你的环节不一样。貔貅盘卡在「卖不出」——合约不让你卖;rug pull 卡在「卖得出但没人接」——池子里的钱被撤走了,你的卖单换不回东西。两者的技术前提也不同:貔貅盘靠转账函数里的条件判断,rug pull 靠 LP token 没锁没销毁。同一个盘可以两样都占,但认的时候要分开认,因为核对的地方不在一处。
Q: 合约通过审计了,还会是貔貅盘吗?
答: 会。审计有两个边界必须说清楚:一是范围,报告只覆盖送审的那几份合约、那个版本;二是时点,审计完成之后合约如果可升级,逻辑随时能被替换掉。另外还有一类情况是审计报告本身就是伪造的,或者引用了别的项目的报告改个名字。核对审计的做法是去审计机构官网找到这份报告的原始页面,对合约地址,而不是看项目方贴的截图。
Q: 「LP 已锁」能说明合约不是貔貅盘吗?
答: 不能,这两件事管的是不同的东西。锁 LP 管的是”池子里的钱能不能被抽走”,貔貅盘管的是”你的币能不能转出去”。一个 LP 锁得死死的合约,照样可以在转账函数里拦你的卖出。而且”已锁”本身也需要展开:锁多久、锁在哪个合约、谁能提前解锁——这三个问题没答案的时候,这句话不带信息量。
Q: 用那些在线的貔貅检测工具查一下不就行了?
答: 可以查,但要知道它的原理和边界。这类工具多数是做模拟交易(模拟买入再模拟卖出),看能不能成功。它对第 1、2 种写法有效,对”税率可事后调高”和”合约可升级”这两种基本无效——因为在检测的那个时点,合约的行为是正常的。工具查的是现在,改开关的是以后。
Q: 为什么明明能看出来,还是这么多人踩?
答: 因为核对需要在兴奋的时候停下来,而这类盘的推广节奏就是设计来不让你停的。「还有 10 分钟」「已经涨了 3 倍」「群里都在冲」——这些话的作用不是提供信息,是压缩你的决策时间。真正的防线不在技术上,在于把”先查合约权限”变成一个不需要意志力的固定动作。
Q: 我可以自己读合约代码吗?看不懂 Solidity 怎么办?
答: 不用看懂全部。区块浏览器的合约读写页会把方法名列出来,你只需要扫一眼有没有 setTax、setBlacklist、setTradingEnabled、setMaxSellAmount 这类带 set 前缀又跟交易能力有关的方法,以及 owner 是不是零地址(放弃了)。方法名是英文的,含义基本能猜到。这一步不需要编程能力,只需要肯花五分钟。
参考资料
- ERC-20 代币标准原文 —— 转账与授权接口的定义
- 以太坊官方文档 · 智能合约 —— 合约部署与可升级性说明
- Uniswap V2 官方文档 —— 流动性池与 LP token 机制
- 慢雾 SlowMist 安全事件库 —— 中文安全事件归档与分析
- CertiK 安全研究与审计资源 —— honeypot 与 rug 事件的公开分析
- SEC investor.gov · 骗局类型官方定义 —— 美国法域的投资者警示,不构成境内可参与依据
版本 1.0 · 更新于 2026-07 · 文中的马甲归类基于公开安全研究中的常见模式,不针对任何具体项目;机制描述长期有效,具体案例请以权威报道或司法认定为准。
接着看
币圈骗局有哪几种:按手法认不按名字认
骗局的名字每个月都在换,手法就那么几种。按合约层、资金层、社交层三类归档,说清每一类卡在哪一环、该去哪里核对,并给出一套遇到新盘时的通用识别顺序和它的边界。
假空投:骗的不是私钥,是你那一次授权
多数钱包被搬空的案例里,受害者并没有交出私钥,而是在页面上确认了一次授权。approve 给了什么权限、空投投毒怎样引流、签名前如何分清转账和授权,以及发现异常后的止损顺序。
Rug pull:撤池子跑路的技术前提是 LP 没锁
撤池子不是漏洞或攻击,而是持有 LP token 的地址调用正常函数。这里拆清它的技术前提、换过的名字、链上能看到的信号、「LP 已锁」为什么仍不够,以及出事后怎样更稳妥地核对和留证。