# SeedSigner 核对已有 PSBT：收款、费用和找零检查后停在批准前

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

用已有钱包会话扫描协调钱包的未签名交易二维码，复核所有收款和找零；区分旧教程菜单与 0.8.7 当前批准按钮，不生成签名。

## 使用工具
- [SeedSigner](https://lianxiaozhi.com/tools/seedsigner) · [官方入口](https://seedsigner.com/)

## 前置条件
- 已有符合官方硬件清单的 SeedSigner、本人已加载目标密钥的会话、兼容协调钱包中已有未签名 PSBT 及其二维码。本教程从复核开始，不涉及新建钱包、秘密输入或转账构造。
- 准备独立记录的收款人完整地址、金额、可接受费用及钱包网络；多签另备创建时核对过的完整公开描述符，不能只信任当前协调钱包重新导出的副本。
- 按官方签名与哈希指南完成适配镜像核验；以下名称以 0.8.7 英文菜单与官方托管示例对照，其他版本应先对照文档。

## 1. 确认版本、网络和已有交易资料

先对照发布页中的 Pi 型号与镜像名，核对当前版本。协调钱包打开已有 unsigned transaction 的 Show QR，保留原始收款与费用记录；官方托管例子是 Testnet 多签，不应把示例网络套入自己的 Mainnet 钱包。

核对结果：设备版本、网络与拟议 PSBT 的来源已明确，不复制教程测试钱包资料。
依据：[SeedSigner 0.8.7：硬件镜像及菜单改名](https://github.com/SeedSigner/seedsigner/releases/tag/0.8.7)
依据：[SeedSigner：独立托管、描述符与 PSBT 复核](https://seedsigner.com/seedsigner-independent-custody-guide/)

## 2. 扫描未签名 PSBT 并选择已加载签名者

SeedSigner 主页进入 Scan QR，扫描协调钱包的动态二维码。出现 Select Signer 时只选择本会话中已加载的目标指纹；带 (?) 的候选或无法解析的二维码先停止，返回核对钱包资料。

核对结果：进入交易复核，未扫描 SeedQR 或输入助记词，未误选不匹配的签名者。
依据：[SeedSigner：独立托管、描述符与 PSBT 复核](https://seedsigner.com/seedsigner-independent-custody-guide/)
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)

## 3. 读输入、收款总额、费用和找零

在交易概览及金额计算页逐项读输入总额、支出、Fee 和 Change，检查输入减收款减费用是否等于找零。Full Spend 表示没有找零，须与原记录一致；Unsupported Script Type 表示相关验证受限，不能按正常通过继续。

核对结果：金额与预期相符；全额花费或不支持脚本的警告已明确处理。
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)

## 4. 逐个核对完整收款地址

Will Send 展示每个收款地址和金额；存在多个收款人时使用 Next recipient 逐项核对独立记录，不能只比较首尾几个字符。意外出现的新收款人、少收或多付均返回检查原 PSBT。

核对结果：所有外部收款地址与金额已逐项核对；找零、自转账和数据输出继续分别检查。
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)

## 5. 核对找零或自转账的归属

在 Your Change 或 Self-Transfer 读地址和金额。多签缺描述符时，找零页用 Verify multisig change，自转账页用 Verify multisig addr，加载此前核对过的公开描述符；Skip verification 不能算验证成功。Address Verification Failed 应停止并 Discard transaction。

核对结果：所有找零/自转账输出完成对应钱包验证；未以跳过代替验证。
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)
依据：[SeedSigner：独立托管、描述符与 PSBT 复核](https://seedsigner.com/seedsigner-independent-custody-guide/)

## 6. 核对存在的 OP_RETURN 数据输出

交易含 OP_RETURN 时，0.8.7 会在批准页前展示其数据。将可见数据与原交易用途及独立记录对照；非预期数据、无法解释的内容或不匹配应停止，返回协调钱包检查原 PSBT。没有此类输出时略过本步，不把数据展示误认为另一个收款地址。

核对结果：存在的数据输出均与预期一致；未解释的 OP_RETURN 不进入批准页。
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)

## 7. 在批准按钮前结束复核

停在 Approve transaction 前并返回，保存无秘密的检查结果。旧托管教程称 Approve PSBT；0.8.7 的批准动作会调用签名，不是单纯关闭检查。完成这一任务不需要签名二维码，更不需要协调钱包 Broadcast Transaction。

核对结果：没有批准、签名导出或广播；记录仅表达此 PSBT 的复核范围。
依据：[SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)
依据：[SeedSigner：独立托管、描述符与 PSBT 复核](https://seedsigner.com/seedsigner-independent-custody-guide/)

## 常见错误
- 加载正确指纹不替代逐个核对收款、金额与找零策略。
- 多签描述符只来自同一个可能被篡改的协调钱包，无法建立独立核验；缺少可信副本时应暂停。
- SeedQR 编码助记词，不能当公开描述符上传、截图分享或让联网设备扫描。
- 临时密钥断电后丢失不等于钱包已备份；恢复仍依赖独立保管的秘密与多签策略。

## 完成检查
- 版本/网络、各收款输出、拟议费用、全部找零验证状态及存在的 OP_RETURN 数据已记录，有任何未解释项则任务未通过。
- 任务止于批准前；verification 为 documentation，仅核对官方文档与版本源码，没有硬件实测、秘密导入、签名或到账验证。

## 相关知识
- [硬件钱包保护什么？设备签名不能替你判断交易内容](https://lianxiaozhi.com/learn/hardware-wallet-signing)
- [比特币 UTXO 与找零：为什么转一笔账会出现多个输出](https://lianxiaozhi.com/learn/utxo-and-change)

## 官方依据
- [SeedSigner 0.8.7：硬件镜像及菜单改名](https://github.com/SeedSigner/seedsigner/releases/tag/0.8.7)
- [SeedSigner：独立托管、描述符与 PSBT 复核](https://seedsigner.com/seedsigner-independent-custody-guide/)
- [SeedSigner 0.8.7：交易复核与批准按钮定义](https://raw.githubusercontent.com/SeedSigner/seedsigner/0.8.7/src/seedsigner/views/psbt_views.py)
- [SeedSigner：硬件、临时密钥与设置存储](https://github.com/SeedSigner/seedsigner)
