# Yearn V3 收益为何未全计入：核对Accountant费用与利润锁定

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/yearn-v3-accountant-report-fee-profit-lock-record
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

从已有报告和配置区别年化管理费、绩效费、protocol fee 与锁定份额，避免将报告利润、share增长或收益率当即时到账。

## 使用工具
- [Yearn V3 金库与策略](https://lianxiaozhi.com/tools/yearn) · [官方入口](https://yearn.fi/v3)

## 前置条件
- 准备已有 V3 金库/策略实际版本、asset和share精度、Accountant/Factory配置、报告事件、last_report/current_debt 与利润解锁记录的区块/时间。
- 只阅读已有配置与官方固定实现；不调用report、管理配置、提款或RPC。没有配置时不套用固定费率。

## 1. 先定位收费发生在哪一层

把多策略 Vault、内部 Tokenized Strategy、Accountant 与 Factory 地址分别写入盘点表。V3 core 不设置 Accountant 时该层 fees/refunds 为0；这不代表底层策略、协议、界面和Gas全部免费。

Accountant 是可选可定制合约，不能把通用 Accountant 公式套给任意自定义地址。Tokenized Strategy 有自身 performanceFee/recipient；已读固定实现按自身利润计算，区别于上层 Accountant 的管理费配置。

核对结果：收费层与实际合约类型明确，未把一层零费推为整条路径零费。
依据：[Yearn V3：Allocator Vault 与 Tokenized Strategy](https://docs.yearn.fi/developers/v3/overview)
依据：[Yearn V3 可选 Accountant 与外围合约](https://docs.yearn.fi/developers/v3/periphery)
依据：[固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)
依据：[固定 TokenizedStrategy.sol：API 3.1.0、损失及利润锁定](https://raw.githubusercontent.com/yearn/tokenized-strategy/90514f120fc3f500a2c8796da45a267dff5b8dce/src/TokenizedStrategy.sol)

## 2. 保留默认和金库自定义配置

对于与固定358d074…通用 Accountant 匹配的记录，抄 customConfig(vault) 的 custom 标志；未启用时才使用 defaultConfig。保留 managementFee、performanceFee、maxFee、refundRatio 等原数值，bps 除10000才是比例。

不要把 managementFee/performanceFee 常见宣传数字当本仓位配置，也不要因旧默认存在就忽略自定义覆盖。原配置来源或版本不明时费额仍未知。

核对结果：每项费率有实际记录和单位，自定义覆盖状态已保存。
依据：[固定 Accountant.sol：年化管理费与报告绩效费](https://raw.githubusercontent.com/yearn/vault-periphery/358d074ce333f149b5046b4e949c196881523d22/src/accountants/Accountant.sol)
依据：[Yearn V3 可选 Accountant 与外围合约](https://docs.yearn.fi/developers/v3/periphery)

## 3. 按报告间隔核管理与绩效费用

固定 Accountant 管理费基数是 strategyParams.current_debt × (报告时间-last_report) × managementFee /10000/31556952，属于按年折算和报告间隔结算，不是直接按钱包全部余额每日扣款。

绩效费仅在gain>0时按 gain×performanceFee/10000 加入；maxFee>0 时又将总费用限制在 gain×maxFee/10000 内。公式中的原整数遵守asset精度和截断；亏损报告、健康检查及refund需另核，不机械把两项上限前数字当最终费用。

核对结果：报告时间、债务基数、gain与配置对应，公式中间值和最终返回分开。
依据：[固定 Accountant.sol：年化管理费与报告绩效费](https://raw.githubusercontent.com/yearn/vault-periphery/358d074ce333f149b5046b4e949c196881523d22/src/accountants/Accountant.sol)

## 4. 避免重复计算Protocol Fee

当前 Protocol Fees 说明该费用取 Accountant 总fees的份额，不再直接从全部利润按同样比例收一次。文档100利润、20%绩效、10%protocol的例子是总费20中分2给协议、18给费用接收方，不是20+10。

文档列 default及per-vault override的Factory接口，而固定Vault3.1.1调用 protocol_fee_config()；按原Factory ABI判断使用方式，不虚构所有版本都有相同重载。事件 protocol_fees 与 total_fees 属asset口径，实际分配还会转换成share，保留舍入差异。

核对结果：Protocol Fee的基数和包含关系明确，Factory版本未知不补配置。
依据：[Yearn V3 Protocol Fee 的计费基数](https://docs.yearn.fi/developers/v3/protocol_fees)
依据：[固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)

## 5. 分开报告资产与锁定份额

在固定Vault报告中分别列 gain/loss/current_debt/total_fees/total_refunds；fee share铸给Accountant和协议收款人，剩余利润可通过铸给金库自身的share逐步解锁，不能把这些share说成用户钱包新资产。

核已有 profitMaxUnlockTime、fullProfitUnlockDate、profitUnlockingRate、lastProfitUpdate。时间为秒/Unix时点；固定Vault rate 使用1e12扩展比例，未完全解锁时 unlockedShares=rate×经过秒数/1e12，结果是share原单位，不是USDC每秒或APR。

核对结果：事件资产、fee shares与锁定/解锁share使用各自单位和时点。
依据：[固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)

## 6. 解释PPS变化而非承诺收益

锁定利润期间 effective totalSupply 扣除逐步已解锁的share，转换率随时点变化；后续报告可能重设加权解锁期限，不能把一次fullProfitUnlockDate永远当最终日期。

固定Tokenized Strategy3.1.0还含持续accrual相关路径，不把多策略Vault的lastProfitUpdate公式和只在report收费判断套给所有策略。亏损可先冲利润缓冲，再影响PPS；锁定机制不是保本，也不表示底层资金闲置或用户提款全额成功。

核对结果：PPS/解锁解释限定具体版本，未外推全产品固定收益或全额可提。
依据：[固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)
依据：[固定 TokenizedStrategy.sol：API 3.1.0、损失及利润锁定](https://raw.githubusercontent.com/yearn/tokenized-strategy/90514f120fc3f500a2c8796da45a267dff5b8dce/src/TokenizedStrategy.sol)

## 7. 形成费用与接收证据清单

保存报告时点、配置版本、gross gain/loss、fees/refunds、锁定份额与转换估算；与原界面显示比较时用同一读取时间和币种。只看到年化显示或新报告不标用户收益已到账。

只有既有退出事件及接收记录能支持兑现阶段；费用管理者的收款也不能替代个人收款。配置、报告或接收缺证时列为待核，保留策略、合约和市场风险。

核对结果：已将报告收益、费分配、估值和兑现拆开，并注明缺少的记录。
依据：[固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)
依据：[固定 Accountant.sol：年化管理费与报告绩效费](https://raw.githubusercontent.com/yearn/vault-periphery/358d074ce333f149b5046b4e949c196881523d22/src/accountants/Accountant.sol)
依据：[Yearn V3：Allocator Vault 与 Tokenized Strategy](https://docs.yearn.fi/developers/v3/overview)

## 常见错误
- Protocol Fee 是总fees中的份额，不能重复加成全部profit费用。
- profitUnlockingRate 的扩展单位、share精度和asset精度不同。

## 完成检查
- 已还原已知配置下的计费基数与版本。
- 利润锁定/解锁和兑现分开，不承诺APY、保本或当前提款流动性。

## 相关知识
- [Yearn Vault 的策略、费用和收益怎样核对？](https://lianxiaozhi.com/learn/yearn-strategy-and-fees)
- [ERC-4626 Vault 份额是什么？钱包余额怎样对应底层资产](https://lianxiaozhi.com/learn/erc4626-vault-shares)

## 官方依据
- [Yearn V3：Allocator Vault 与 Tokenized Strategy](https://docs.yearn.fi/developers/v3/overview)
- [Yearn V3 可选 Accountant 与外围合约](https://docs.yearn.fi/developers/v3/periphery)
- [固定 VaultV3.vy：API 3.1.1、预览/提款/报告](https://raw.githubusercontent.com/yearn/yearn-vaults-v3/89ab996bf94a16878e174e50e9862d69c6495875/contracts/VaultV3.vy)
- [固定 TokenizedStrategy.sol：API 3.1.0、损失及利润锁定](https://raw.githubusercontent.com/yearn/tokenized-strategy/90514f120fc3f500a2c8796da45a267dff5b8dce/src/TokenizedStrategy.sol)
- [固定 Accountant.sol：年化管理费与报告绩效费](https://raw.githubusercontent.com/yearn/vault-periphery/358d074ce333f149b5046b4e949c196881523d22/src/accountants/Accountant.sol)
- [Yearn V3 Protocol Fee 的计费基数](https://docs.yearn.fi/developers/v3/protocol_fees)
