团队分账用哪类合约:Splits 协议 Split、Waterfall 与 Swapper 的分工 图 1
团队分账用哪类合约:Splits 协议 Split、Waterfall 与 Swapper 的分工 · 图 1

一个三人小团队接了一单活,报酬是 2 枚 ETH,约定按 50/30/20 分。最原始的做法是一个人收款再手动转给另外两个,问题不难想象:拖延、算错、谁也不掌握对方的收款记录。Splits 是解决这个问题的一族开源合约,0xSplits 组织在 GitHub 上维护主体仓库,官网 splits.org 把它概括为”把收到的钱按比例实时分给多方的开源合约”。这一族里有三类各司其职的合约——Split、Waterfall、Swapper——搞清楚分工,团队分账这个场景基本就覆盖了。

先说主角 Split。部署时写入一组收款地址和一组权重(权重是任意整数,合约按占总和的比例分配),任何进入这个合约的 ETH 都会按权重记到每个收款人的可提余额上,收款人自己调用领取函数把钱提走。关键设计是”分账动作由收款人的领取触发”:有人付款时合约不做逐人分发,省 gas;权重结构创建后不可更改,除非整个重新部署一个新合约——想临时调比例,只能换合约并通知所有付款方换地址。合约是开源并经过审计的(官方文档自述,是否复核以你信任的审计报告为准),部署出来的实例不需要许可、没有人能暂停或升级,这类”部署即定格”的特性是分账信任的最小化来源。

第二类 Waterfall 处理的是”不是按比例,而是按顺序”的场景:先回本、再付固定报酬、最后分利润。它的参数是一串带优先级的水位——比如前 10 ETH 全部转给出资人,之后每单先给某成员固定 0.5 ETH,剩下的才按比例给所有人。创作收入、合伙回本结构常用它。和 Split 一样,水位设定后不可改。第三类 Swapper 补的是币种缝隙:收入是 A 币、开销用 B 币时,Swapper 把收到的 A 在配置时兑换成 B 再交给下游的 Split 或 Waterfall,避免每个收款人自己找换币渠道。官方文档明确这三类是独立可组合的积木:Swapper 常搭在 Split 前面,Waterfall 可以嵌套,复杂结构由部署时的参数决定。

工程与部署侧还有两个常被问到的点。一是多链部署:仓库与文档说明 Split 部署在以太坊及多条 EVM 兼容链上(具体链清单以官方文档当前列出的为准,链上地址逐链核对),同一套比例在不同链上是不同实例,互相不感知——跨链收款必须逐链部署、逐链配置,不存在一个合约管多链。二是 ERC-20 支持:Split 合约不仅收 ETH,也登记任何 ERC-20 转账的入账余额,领取逻辑同样按权重;但某些带转账回调税或复杂逻辑的代币会计账可能出现偏差,官方文档对非标准代币的兼容性持保守提示。

给参与分账的一方,核对应做的就三件:拿到分账合约地址后在区块浏览器看它是否源码已验证、是否确实叫 Split/Waterfall 的开源实现;确认自己的地址在收款人列表里、权重与谈判结果一致——这一步必须在有人打款之前做,因为权重不可改;在 Etherscan 上跑一次自己的可提余额查询,对得上账再谈信任。反过来,任何人声称”合约里给你留了 30%“但地址里没有你的记录,都不成立。对团队自己部署的一方,提醒同样直白:地址写错、权重写反,修复手段只有换新合约重发通知,部署前用测试网和小额真实转账各验一遍,是唯一可靠的保险。分账合约消灭的是”中间人拖延”,消灭不了”配置时手滑”。

本文为机制说明,不构成任何投资建议。

团队分账用哪类合约:Splits 协议 Split、Waterfall 与 Swapper 的分工 图 2
团队分账用哪类合约:Splits 协议 Split、Waterfall 与 Swapper 的分工 · 图 2