应用对其内部的每一笔兑换收取 0.85%,这就是它的营收。这笔钱去了哪里,没有任何地方公布过,但链上看得一清二楚。我们从一笔兑换出发,追到链条的尽头。手续费以交易所用的币种留存,卖成 USDC,此后一分为二:四分之三进入 Rainbow 在 Coinbase 的账户,四分之一经跨链桥离开本网络。
环节自上而下排列,右侧是每一环各自打交道的对象,下方是交易所钱包的分叉。箭头上的数字覆盖各地址的全部存续期,每天更新。任何一个方块都可点开区块浏览器。
这里的合约名称取自区块浏览器,不是我们推断的。Depositor 与 SmartVault 是 Mimic Finance 的现成组合,用于归集和处理手续费:这部分 Rainbow 并非自己编写,而是直接接入。归属仍按合约创建者判定,详见下文。
这是本文最要紧的结论,而且不是猜测。第五环不属于 Rainbow,而属于 Coinbase,有三条互相独立的证据。
手续费收集地址和中间地址,是同一个钱包 0x14c108d0… 部署的。而充值地址是另一个 0x628d8ac0… 部署的。这些代理所指向的实现合约,作者也各不相同。这是两套系统,不是一套。
它有 35 687 笔交易,而前两个地址的创建者只有 850 笔。这不像一家公司给自己部署两个服务合约,而像一台按万计量产地址的机器——交易所正是这样给客户发放充值地址的。
余额为零,流出的百分之百都进了 Coinbase 的钱包群。这是在归集充值,而不是所有者在支配自己的钱。
这三个环节都是 45 字节的 EIP-1167 最小代理:只负责把调用转发出去的小合约。构造一模一样而创建者不同,正是「归属不能靠肉眼判断」的原因所在。
SmartVault 把 74.9% 的 USDC 付给 Coinbase 充值地址,另有 24.4% 付给 CircleRelayer——Wormhole 集成下 Circle CCTP 的自动中继合约。后一个方向意味着资金前往另一条网络,从 Base 链上再也看不到它的去向。真正抵达充值地址的那部分,确实百分之百分散进了九个交易所钱包。
经由 SmartVault 流转的代币有数千种,而且每一种的转入与转出几乎完全相等——它在卖出这些代币。资金来源也印证了这一点:86.4% 的 USDC 来自 1inch 和 ParaSwap 这两个兑换聚合器。入口处根本没有美元,美元是卖出之后才出现的。
那个在市场上回购 RNBW 的地址,另外还往同一个充值地址打 USDC,金额都是 5 千、1.2 万、2.5 万这样的整数。也就是说,这个交易所账户有两个来源:应用的手续费,以及直接充值。
返现以 RNBW 的形式回到质押者手上,由质押合约内部的储备记账发放,完全不发生代币转账。美元的流向和返现的记账是两件互不相干的事,二者从不交汇。
再往后,钱由交易所支配,而它的钱包是有着成千上万对手方、数以万计转账的公共池子。从那里流出的东西,已经不能算在这笔手续费头上。我们曾往深处又走了三环,结果落进了 LI.FI 和 CoW Protocol——全市场共用的公共基础设施。
进账就只是进账而已。工资、代币回购、提现到银行,链上都看不到,关于这些资金的用途也无从断言。
最初的版本把第 03、04 环标成「无标注」,可它们是有名字的——只需向区块浏览器问一次。同一版还断言「全部资金流向 Coinbase」:当时占比是从收款方一侧算的,第二个方向根本没有进入视野。占比必须从付款方一侧算——只有在那里,它付出去的一切才看得全。
每天依据 USDC 转账记录重算,以 /api/feepath.json 对外提供。中间地址的转账超过一万笔,因此它的历史需要按区块分窗读取——没有这一步,合计会少算将近三分之一。各方向的占比按 SmartVault 的支出计算,而不是按收款方的收入计算。