Superfluid怎么流式付款?速率、余额与停付

 / 
2

Superfluid 的流式付款在操作层面只有三个动作:设速率、看余额、停掉。但余额不是一个"存款数字",而是一个每秒都在变的计算值。理解这个计算方式,是避免"明明有钱却突然被清算"的关键。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

速率:把月付换算成每秒多少 wei

Superfluid 的流率(flow rate)单位是 wei/秒,不是"每月多少"。你计划每月付 10 DAIx,需要换算成 10 / (365/12) / 24 / 60 / 60,大约是 3805175038052 wei/秒。

这里有一个换算精度的坑:如果你的月付金额用"30 天"而不是"365/12 天"来算,得到的结果会和 Superfluid 界面上显示的数字对不上。Superfluid 官方文档特别提醒了这一点,因为界面和浏览器用的是精确的秒数除法。

实际操作中,你不需要自己算这个数字。Superfluid Dashboard 和大多数 SDK 都提供了"按月付多少钱"的反向计算器,你输入月付金额,它自动生成对应的 wei/秒 流率。

余额:每秒都在变,但不需要每秒发交易

Superfluid 的余额计算方式是这个协议最需要理解的部分。

你的账户余额由两部分组成:静态余额(Static Balance)和实时余额(Real-Time Balance)。

当你创建、更新或删除一个流时,协议会记录一个 CRUD 时间戳,并把你的当前余额"快照"成静态余额。从那之后,实时余额以 净流率 × 经过的秒数 的方式自动变化。

净流率是你所有流入和流出的流率之和。如果你同时在收两个流、付一个流,净流率就是这三个数的代数和。

不需要每秒发交易。查看余额只是读取一个公式的结果:静态余额 + 净流率 × 经过秒数。唯一在变的变量是时间,所以余额会自动"流动",但链上不产生每秒的交易。

这意味着你在钱包或 Dashboard 里看到的余额,是一个实时估算值。如果你有流出的流,它会每秒减少;有流入的流,它会每秒增加。

停付:deleteFlow 是唯一动作

停掉一个流只需要一个操作:deleteFlow。在 SDK 里是 setFlowrate(0),在 Dashboard 上通常是一个"Cancel"或"Stop"按钮。

停付是立即生效的。当你调用 deleteFlow 时,协议会先把你的实时余额结算到那一刻,更新静态余额,然后清空这个流。之后你的净流率会重新计算,不再包含被停掉的那一笔。

如果你只是想减少金额而不是完全停掉,用 updateFlow 或者 setFlowrate 设置一个新的(更小的)流率。原来的流被"更新",而不是被删除。

最需要警惕的场景:余额归零

Superfluid 的流是永续的,直到你主动停掉它,或者你的余额耗尽。

当你的余额降到零时,流不会自动停止。协议会进入一个叫 Critical 的状态:你的缓冲存款(Buffer)开始被消耗,用来继续支付给接收方。

缓冲存款是你在开流时锁定的准备金,通常是几小时的流金额。在 Critical 期间,任何人都可以调用清算函数来关闭你的流,并拿走剩余的缓冲作为奖励。如果你在"Patrician Period"内自己关掉,缓冲还给你;如果拖到"Plebs Period"才被别人关掉,缓冲就归对方了。

如果缓冲也被耗尽,协议进入 Insolvent 状态。此时流还在继续,但链上已经产生了"赤字"。最终清算时,赤字会从 PIC(Patrician in Charge,每个 Super Token 有一个负责账户)的质押中扣除并销毁,而关掉你流的人(Pirate)会获得奖励。

实际结论:如果你在 Superfluid 上有流出的流,不要等到余额接近零才去处理。保持余额高于缓冲要求,或者提前停掉流。Superfluid 的清算机制依赖外部"哨兵机器人"(Sentinels)来监控和关掉资不抵债的流,如果哨兵延迟,你的缓冲会被消耗得更多。

实际操作顺序

  1. 确认 Super Token 余额。你的流用的是 Super Token(比如 USDCx、DAIx),不是原生 USDC 或 DAI。如果钱包里只有普通 ERC-20,需要先 wrap 成 Super Token。

  2. 在 Dashboard 或 SDK 里设置流率。输入你希望的目标(比如"每月 100 USDCx"),系统会换算出 wei/秒。

  3. 确认缓冲要求。开流时协议会自动扣除一笔缓冲。Superfluid 官方建议保持余额至少能覆盖 4 小时的所有流出流。

  4. 监控净流率。在 Dashboard 上看你的"Net Flow"是正还是负。负值意味着余额在减少,需要定期补充。

  5. 停付用 Cancel/Stop。不要只是把钱包里的 Super Token 转走,那不会停掉流。必须显式调用 deleteFlow。

  6. 如果流还在,余额接近零,立刻手动关掉。不要等哨兵来关。自己关在 Patrician 阶段关掉,缓冲能拿回来。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

参考资料