# v0.51 余额基准与持仓确认

入口：我的资产 → 原始交易流水 → 选择文件 → 余额基准与持仓确认。

## 使用步骤

1. 在“添加个人账户”中保存手工账户，返回向导选择该账户。
2. 选择文件中的来源账户与子账户范围，明确原始记录使用的UTC固定偏移时区。文件名中的时区不作为记录时区依据。UTC_Time列仅允许UTC。
3. 可先保存期初基准，时间必须早于该文件首笔记录。期初基准不会进入持仓汇总。
4. 选择“已核对余额”，填写不早于文件末笔记录的实际余额时间。填全该范围的资产数量，已清仓填0；可补充文件未出现的资产。内部资产代码必须明确映射，目标币种不能重复。数量不会按文件净变动自动填写。
5. 可选同文件、同范围、同时区的已确认期初记录。预览显示“期初＋文件变更”与实际数量的差异。缺少部分期初显示未知，不当作0；存在差异时需明确确认后重新预览。
6. 核对范围、时区、说明和完整余额后确认保存。已核对余额成为该手工账户的完整持仓快照，资产概览刷新。价格留空的资产保留数量、标记估值缺失；USDT按1计价。

## 范围与数据含义

余额由用户声明，尚非交易所认证。数量相符不证明成交、充提、转账和理财分类正确，也不证明流水完整。本版本只做数量对账，不计算成本、历史收益、历史净值或自动推算当前持仓。参考市值仍可能包含不同时间的快照；15分钟以上标记过期。

每个手工账户一旦保存基准就绑定来源范围，后续通过本向导更新。已绑定账户不能绕过向导另导无范围持仓。需要其他来源范围时另建账户。不同手工账户的同一来源子账户不能重复汇总；已核验Binance UID的API现货账户与相同UID的手工Spot范围双向互斥。未核验API UID及旧式无来源手工快照无法自动判断是否重复，请在范围确认时核实。

每次保存保留文件哈希、来源身份摘要、子账户范围、时区、映射、余额时间、用户说明及确认审计。余额基准与快照原子写入；同一确认编号重试不会新增记录。修改表单后需重新预览。余额时间必须递增。上限每人2000条基准、2000份快照，10个账户。

## 数据接口

仅当前登录个人身份可用，禁止工作区选择和工作区API Key：

- `GET /api/console/wealth/baselines`：本人的基准历史。
- `POST /api/console/wealth/baselines/preview`：校验原件、归属、范围、时区、映射和数量，返回预览哈希，不写持仓。
- `POST /api/console/wealth/baselines/confirm`：提交同一请求和预览哈希；余额记录、快照、账户版本和审计同事务保存。
- 原有账户导出接口新增 `balanceBaselines`，包含确认依据和历史。

写入请求包括独立UUID、accountId/revision、importId、sourceIdentity、accounts、utcOffsetMinutes、kind（opening/current）、asOf（毫秒）、mappings（sourceAsset/asset/quantity/unitPriceUsdt）、openingId、scopeConfirmed、balancesConfirmed、acknowledgeDifferences、note。两项确认必须true；差异确认按需true。确认接口另要求previewHash。

## 备份与恢复

当前数据库64张业务表、31个迁移，44个独立恢复文件，模型 `personal-balance-baseline-v1`。恢复工具核对个人归属、文件元数据、哈希、范围、精度、数量对账、期初引用和持仓快照关联；不能认证原始文件真实性或业务分类。恢复后基准标记为“需重新确认”，原件需重传，交易所凭证清除。重新核对实际余额后以新编号、更晚余额时间保存新记录；历史记录保留。

当前兼容清单：`release-v051.json`。旧v0.50的43个恢复文件在 `/integration/v050/`。新增数据库结构后不支持直接回退到v0.50程序；应用回退和数据回退需分别验证。
