# Superfluid 流显示正常但余额不符：核对流率、buffer与取消

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/superfluid-cfa-flowrate-balance-cancel-records
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

从已有CFA记录区分单流、账户净流和动态可用余额，排查读取时点、清算及撤销operator后仍在运行的流。

## 使用工具
- [Superfluid CFA 与 SuperToken](https://lianxiaozhi.com/tools/superfluid) · [官方入口](https://www.superfluid.finance/)

## 前置条件
- 已有去敏chainId、Host/CFA/Forwarder/SuperToken、sender/receiver、读取块/时间、流变更及operator/取消回执。
- 只整理已有记录；不登录App、运行SDK/demo、读取RPC/Graph、授权、签名或发送删除请求。

## 1. 确认CFA及同链SuperToken

用原记录的token/sender/receiver定位CFA单流；官方当前接口为CFAv1Forwarder。链/协议版本与地址需对应原部署，固定metadata只例示配置，不代表任意token或所有App支持。GDA/IDA分配、pool claim或NFT流记录不能套CFA元组。

核对结果：同链、同token和CFA双方已确定，未把不同协议的claim当本流余额。
依据：[CFAv1Forwarder：流读取与控制ABI](https://docs.superfluid.org/docs/technical-reference/CFAv1Forwarder)
依据：[固定官方主网Host与CFA部署配置](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/metadata/networks.json)
依据：[Superfluid：Wrapper与Pure SuperToken](https://docs.superfluid.org/docs/concepts/overview/super-tokens)

## 2. 读单流率和原更新时间，核对单位

原getFlowInfo(token,sender,receiver)输出lastUpdated、flowrate、deposit、owedDeposit；flowrate按wad/秒，18位。lastUpdated是最后流更新时刻，另保留这次读取块/时间。

月显示值不能当raw flowrate，也不把最新流率乘整个创建以来时长。概览的月/秒示例不作为精确换算依据；采用原整数和实际秒数，变速/删除/重建分段核对。

核对结果：原流率、原更新时间、读取时间与单位分别清楚。
依据：[CFAv1Forwarder：流读取与控制ABI](https://docs.superfluid.org/docs/technical-reference/CFAv1Forwarder)
依据：[固定CFAv1Forwarder读取、取消与授权](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/utils/CFAv1Forwarder.sol)
依据：[Superfluid：CFA流率与余额变化](https://docs.superfluid.org/docs/concepts/overview/money-streaming)

## 3. 区分账户净流与可用余额

getAccountFlowInfo/getAccountFlowrate针对账户聚合入流减出流，可为负，不等于这条收款流。realtimeBalanceOf(account,timestamp)给signed availableBalance和deposit/owedDeposit，Now方法还返回对应timestamp。

固定SuperToken.balanceOf动态反映可用余额，却把负available截成0；0不说明没有流、已安全停流或不欠款。deposit是buffer、owedDeposit与SuperApp借用储备有关，不作为累计已收或平台手续费。

核对结果：单流、净流、signed可用额与储备按相同资产/时点分列。
依据：[固定CFAv1Forwarder读取、取消与授权](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/utils/CFAv1Forwarder.sol)
依据：[固定ISuperfluidToken可用余额接口](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.sol)
依据：[固定SuperToken余额及精度转换](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/superfluid/SuperToken.sol)
依据：[Superfluid：buffer、critical与清算](https://docs.superfluid.org/docs/protocol/advanced-topics/solvency/liquidations-and-toga)

## 4. 核已有累计索引与实际余额的范围

若原索引有streamedUntilUpdatedAt/currentFlowRate/updatedAtTimestamp，只在同一流率区间与索引时点估后续增量，变速需对应变更记录。单流累计是流的历史量，不是账户当前可用余额。

不能只加ERC20 Transfer事件：流余额变化不每秒发Transfer。普通转入转出、包装/解包和其它agreements也影响余额；已读余额指南的示例没有包含IDA并用旧Mumbai/parseInt，不能当完整当前查询或安全大整数计算代码。

核对结果：索引累计、估计增量和账户余额各有范围，缺区间不补全历史。
依据：[Superfluid：余额与索引记录范围](https://docs.superfluid.org/docs/sdk/super-tokens/super-token-balances)
依据：[Superfluid：CFA流率与余额变化](https://docs.superfluid.org/docs/concepts/overview/money-streaming)
依据：[固定SuperToken余额及精度转换](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/superfluid/SuperToken.sol)

## 5. 分别核撤销operator与实际停止流

已有revokePermissions只撤销operator控制，固定Forwarder明确不undo/reset此前创建或变更的流。需另对照对应deleteFlow回执和后续同tuple流率；只退出网站或撤销ERC20allowance不证明流停止。

按本篇CFAv1Forwarder入口区分：caller是sender或receiver时分派CFA.deleteFlow，其他caller分派deleteFlowByOperator；后者先检查DELETE权限，缺权限报CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS，不会因critical状态跳过这层。

permissionless critical或jailed SuperApp例外属于经Host调用CFA.deleteFlow的另一入口；在其内部_deleteFlow中，无权限且双方App未jailed、availableBalance非负时可报CFA_NON_CRITICAL_SENDER。两入口及错误分别记录，不能把该例外套给无权限Forwarder调用。清算判断用signed available<0，不凭UI截0判断。buffer可随治理、token/链/流率变化，不保证清算后全退。

核对结果：权限撤销、删除成功、后续流率与清算/储备结果分别有记录。
依据：[固定CFAv1Forwarder读取、取消与授权](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/utils/CFAv1Forwarder.sol)
依据：[固定CFA流与清算条件实现](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/agreements/ConstantFlowAgreementV1.sol)
依据：[Superfluid：流operator权限与流率预算](https://docs.superfluid.org/docs/sdk/money-streaming/acl-user-data)
依据：[Superfluid：buffer、critical与清算](https://docs.superfluid.org/docs/protocol/advanced-topics/solvency/liquidations-and-toga)

## 6. 用同一时点的余额与变更记录交付结论

对原创建/变速/删除回执逐项核token、sender、receiver、成功状态及后续读取；Flow存在或方法返回bool不是底层资产已到账。收到的是该SuperToken余额，底层币或原生币收款需另有解包回执。

getFlowInfo没有累计paid/可claim字段；缺完整历史时只交当前原记录与误差层。形成单流率、净流率、可用额、buffer、取消/权限和资产身份清单，不承诺自动停流或当前余额已独立查证。

核对结果：最终结论只限已有SuperToken记录，底层资产和历史累计待核可见。
依据：[CFAv1Forwarder：流读取与控制ABI](https://docs.superfluid.org/docs/technical-reference/CFAv1Forwarder)
依据：[固定CFAv1Forwarder读取、取消与授权](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/utils/CFAv1Forwarder.sol)
依据：[固定ISuperfluidToken可用余额接口](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.sol)
依据：[Superfluid：ERC20与Native包装路线](https://docs.superfluid.org/docs/sdk/super-tokens/wrap-unwrap)

## 常见错误
- lastUpdated当读取时间、单流累计当账户余额。
- balanceOf=0当停流或无清算风险，buffer/owedDeposit当平台手续费。
- 撤销operator/断开钱包/底层allowance当删除已存在流；套旧Mumbai或示例数字为当前支持/准确换算。

## 完成检查
- 能够区分同链token单流/净流/可用余额、buffer、operator权限与已有停止结果。
- 没有运行当前查询或确认真实用户余额、底层到账和全部历史收入。

## 相关知识
- [链上指标历史数值为什么会变？](https://lianxiaozhi.com/learn/point-in-time-metrics)
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)
- [代币授权是什么？断开钱包与撤销授权有什么区别](https://lianxiaozhi.com/learn/token-approvals)

## 官方依据
- [CFAv1Forwarder：流读取与控制ABI](https://docs.superfluid.org/docs/technical-reference/CFAv1Forwarder)
- [固定官方主网Host与CFA部署配置](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/metadata/networks.json)
- [Superfluid：Wrapper与Pure SuperToken](https://docs.superfluid.org/docs/concepts/overview/super-tokens)
- [固定CFAv1Forwarder读取、取消与授权](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/utils/CFAv1Forwarder.sol)
- [Superfluid：CFA流率与余额变化](https://docs.superfluid.org/docs/concepts/overview/money-streaming)
- [固定ISuperfluidToken可用余额接口](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/interfaces/superfluid/ISuperfluidToken.sol)
- [固定SuperToken余额及精度转换](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/superfluid/SuperToken.sol)
- [Superfluid：buffer、critical与清算](https://docs.superfluid.org/docs/protocol/advanced-topics/solvency/liquidations-and-toga)
- [Superfluid：余额与索引记录范围](https://docs.superfluid.org/docs/sdk/super-tokens/super-token-balances)
- [固定CFA流与清算条件实现](https://raw.githubusercontent.com/superfluid-org/protocol-monorepo/0567de227327800b81ecaa34cba6d417c62bd4e3/packages/ethereum-contracts/contracts/agreements/ConstantFlowAgreementV1.sol)
- [Superfluid：流operator权限与流率预算](https://docs.superfluid.org/docs/sdk/money-streaming/acl-user-data)
- [Superfluid：ERC20与Native包装路线](https://docs.superfluid.org/docs/sdk/super-tokens/wrap-unwrap)
