看任何一个 DEX 代币的成交量排行,你都会发现一些币种 24 小时交易量轻松突破几千万美元,可社群安静得像停尸间。这种情况十有八九是 MEV 机器人为了套利、抢跑、刷三明治攻击而制造出的巨量噪声。想看到真实用户到底贡献了多少成交,你手里只需要一个链上数据查询工具和一整套剔除逻辑。
我把剔除流程拆成四个步骤,所有操作围绕以太坊主网及 EVM 链展开,工具就用 Dune Analytics 的公开仪表板和你自己能够运行的 Etherscan 查询。不搞复杂模型,只筛掉三类最典型的机器人成交量。
步骤 1:拉取代币的原始 Swap 记录并打上 MEV 标记
你要做的不只是看成交量数字,而是把每一笔 DEX 兑换记录逐条拎出来,确认哪些交易带有明显的 MEV 特征。
怎么做:
- 打开 Dune Analytics,在搜索栏输入该代币的合约地址,找到社区维护的"DEX trades"类仪表板(例如 @hildobby 的 DEX 量价看板),或自己新建一个查询。
- 在查询中关联 dex.trades 表,筛选 token_bought_address 或 token_sold_address 等于目标代币地址。
- 加上一个关键字段:tx_hash 的前后关联分析。MEV 套利和抢跑交易几乎都发生在同一个区块内,且经常出现相同的 from 地址在同一区块里先买后卖或先卖后买。
完成标准:
你能在查询结果里区分出两类交易:同一地址在同一区块内完成一对反向 swap 的记录(典型的套利或清算),以及短时间、同一区块内多个地址连续攻击同一个交易对的记录(三明治攻击的边带交易)。
⚠️ 风险提醒:不要随意点击第三方声称能"一键剔除 MEV 成交量"的不知名网站并要求连接钱包。筛选 MEV 只需要读数据,永远不需要你交出私钥或签名任何链上信息。如果某个仪表板要求连接钱包才能"显示真实数据",立即关掉网页。
步骤 2:剔除纯套利类 MEV 机器人的成交量
纯套利机器人的动作模式非常固定:借助闪电贷或在同一个原子交易中完成 "买入 → 卖出" 闭环,赚取微小价差。这部分成交量对真实用户毫无参考价值,必须整笔剔除。
怎么做:
- 利用步骤 1 已经打好的标记,筛选出同一个 tx_hash 内同时包含买入和卖出目标代币的记录。
- 进一步筛除那些买入金额与卖出金额高度接近(比如差值 < 0.5%),且买入与卖出数量几乎完全相等的 swap。这些几乎可以确定是机器人套利。
- 在 Dune 查询中加入过滤条件:abs(buy_amount - sell_amount) / buy_amount < 0.005,同时 buyer = seller。
- 剔除这些交易的全部成交量,不保留任何部分。
完成标准:
套利类交易的美元价值从原始日成交额中被减掉后,剩余数字会明显"冷静"下来。如果一个代币的原成交量在剔除后直接腰斩甚至去掉 80%,说明之前的大额放量基本是 MEV 刷出来的,真实用户盘子很小。
步骤 3:剥离三明治攻击产生的被夹用户与机器人边带交易
三明治攻击会同时留下三类足迹:攻击者的抢跑交易、受害者的真实用户 swap、攻击者的追跑交易。三者加起来会放大成交量,但受害者那笔才是真实用户产生的,需要保留;攻击者两侧的边带交易必须剔除,否则成交量虚高一倍以上。
怎么做:
- 仍基于步骤 1 的查询,这次筛选出同一区块内针对同一交易对存在三笔及以上 swap 的记录组。
- 识别有"抢-夹-追"模式的组:攻击者地址 A 先买入(或卖出),受害者地址 B 紧接着买入(或卖出),攻击者地址 A 立刻反方向卖出(或买入)。这里攻击者可能用不同 nonce 或同 bot 的不同 signer,因此单看地址不够,还需要核对调用合约的 from 是否为已知 MEV bot 合约。
- 实操上,可以直接使用 EigenPhi 或 Dune 上已标注 MEV 交易的仪表板(例如 @eigenphi 的 MEV 数据),它们已经把三明治攻击打包标记。若你要自己查,可在 Etherscan 中打开这几笔相邻交易,手动比对 Input Data 和调用的路由合约是否为 MEV bot 常用者(如香蕉枪、Flashbots builder 等)。
- 剥离时,仅保留受害者那一笔,其余攻击者的买卖量全部从成交量中扣除。
完成标准:
把单点受害者交易保留后,该代币被三明治攻击啃掉的虚假成交量就会消失。你会得到一个更干净的 "非 MEV 边带成交量" 数字。如果发现某个交易对 90% 的 swap 都嵌套在三明治模式中,说明这个池子的用户几乎全都暴露在夹子下,流动性真实度极差。
步骤 4:过滤高频刷量但非 MEV 的"伪用户"地址(可选)
有些刷量地址不是 MEV 机器人,而是做市商或项目方雇的"自成交"地址群。它们不会在同一区块内完成闭环,而是分散在数小时到数天内反复、小额、同价买卖。这种情况常见于新上线代币或低流动性土狗池。
这种情况分支:
情况 A:你只想剔除 MEV 机器人,对人为刷量不关心。
- 结束于步骤 3 即可。步骤 4 非必需。
情况 B:你想进一步筛掉疑似自成交地址,得到"高度可信的真实散户成交量"。
- 提取所有发生过该代币 swap 的地址,计算每个地址的买卖比例。如果某个地址在 24 小时内买卖次数超过 20 次,且每笔金额几乎一致,或每次买入后立刻在价格几乎不变时全额卖出,将其标记为疑似自成交。
- 还可以查这些地址是否与项目方 deployer、early LP 地址存在资金关联(用 Etherscan 的地址上下游追踪工具,免费可用)。如果有直接转入初始代币或 ETH 的关系,视作关联刷量地址。
- 将此类地址的全部成交量剔除。
完成标准:
剔除后,若成交量进一步下降但缓慢平稳,那剩下的就很大概率是真实持币用户和散户的主动交易。此时你可以拿这个数字去和中心化交易所同一代币的现货成交量对比,如果两者偏差在 5 倍以内算正常范围;如果仍超过 10 倍,可能还有其他隐蔽刷量手段在起作用。
常见失败原因:
很多人会直接在 Dune 上用"滤掉同一区块反向交易"就认为清干净了 MEV。问题在于一些套利机器人会把交易拆分成多笔,甚至跨多个区块用不同 bundler 完成(虽然不常见)。纯靠区块内反向剔除会漏掉跨区块的复杂套利。如果出现剔除后成交量仍然虚高但找不到原因,可以检查这个代币是否被用作多个无直接关联交易对的中转币,被环形套利路径绕过去了。这种情形在长尾代币上尤其常见,需要查看套利合约的完整调用树才能彻底识别。
下一步:等待链上数据稳定并交叉验证
剔除操作完成后,不要马上认定手里的成交量就是真相。MEV 机器人活跃度会随市场波动剧烈变化。你需要等待至少 4 小时,再用同样的剔除逻辑跑一遍数据,观察剔除比例是否稳定。如果同一日不同时段剔除比例从 30% 跳到 90%,说明机器人正在集中进攻该代币,此时真实用户成交量甚至可能比剔除后的数字还要低。
交叉验证渠道:
- 将剔除后的 DEX 成交量,与 CoinGecko 或 CoinMarketCap 上该代币中心化交易所的日交易量对比(来源:CoinGecko,2025-04-10)。如果 CEX 只有几万美元但 DEX 剔后仍有几百万美元,大概率还有你没筛干净的噪声。
- 查看该代币的官方 Discord/TG 社群活跃度,真实交易量与社群讨论热度通常呈正相关,如果成交量还在但社群彻底沉默,保持怀疑。
FAQ
问:直接在 DexScreener 上看交易,手动辨别哪些是机器人,可行吗?
答:只能粗略估计。DexScreener 会显示同一地址连续 swap,但没有区块级前后关联分析能力。你可以用它将可疑地址记下来,再放进 Etherscan 里查看该地址在同一区块的全部交易。如果这些交易都调用同一个合约且金额规律,可以人工判定为机器人,但批量处理几百个地址时效率很低。适合小币种抽查,不适合持续跟踪。
问:MEV 机器人会伪装成散户吗?
答:目前大部分 MEV 机器人为节省 gas 不会刻意伪装交易金额和数量,而是争取在极短时间内完成闭环。但在竞争激烈的链上,一些新型私有交易通道(如 Flashbots Protect)允许机器人隐藏自己的 intent,会使得链上留下的痕迹看起来更像是普通用户交易。针对这种高级伪装,仅靠链上公开数据无法 100% 剔除,这时只能用预言机数据与成交量做相关性分析来间接判断。
问:有没有不需要自己写 SQL 的 MEV 剔除工具?
答:可以尝试使用 Zerion 或 DeBank 的代币详情页,它们默认会对部分明显套利交易做降权展示。不过它们的过滤规则不透明,实际剔除率偏低。如果你只在手机上看个大概,足够;如果是做研究或交易决策依据,必须回到 Dune 或 Flipside 里自定义查询拿到原始底表。



