# Crossmint signer 显示 pending？按链核对签名者、恢复方法和付费方

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

审核已有 wallet details 或 SDK 结果，分开日常签名者与恢复方法，检查导出按钮缺失及 Solana 费用条件。

## 使用工具
- [Crossmint Wallets](https://lianxiaozhi.com/tools/crossmint) · [官方入口](https://www.crossmint.com/)

## 前置条件
- 准备本人公开地址、目标链、staging/production 标识及已有脱敏 wallet details 或 signer 结果；可由应用支持提供，勿粘贴 API key 或 JWT。
- 官方读取接口需要 wallets.read 权限；本教程可审核已有结果，公开地址不是匿名调用认证接口的许可。
- 检查对象是 Crossmint Wallets；Checkout、onramp、身份验证和项目成员管理的权限不能代替钱包 signer 权限。

## 1. 先对齐环境、链与钱包

记录已有结果来自 staging.crossmint.com 还是 www.crossmint.com，以及 Base Sepolia 等测试链还是主网。两环境的项目、密钥和钱包独立，不按同一个邮箱认定地址相同。

用完整 wallet address 和 chain 定位这份记录；不匹配或只有测试环境结果时，不能解释生产账户的权限或余额。环境总览的赞助描述留待具体产品费页核对。

核对结果：环境、链和地址形成同一组查询对象，没有跨环境合并结果。
依据：[Crossmint：Staging vs Production](https://docs.crossmint.com/introduction/platform/staging-vs-production.md)

## 2. 读 signer 字段与状态

SDK wallet.signers() 的结果查看 type、locator、status；REST wallet details 在 config.delegatedSigners。把 success、pending、awaiting-approval、failed 分开记录，pending 或等待恢复批准不能记成已激活。

EVM 列表只返回当前钱包链的批准项，其他链另查。服务端 getWallet 处于 read-only 时 wallet.signer 可为 undefined，但读取 signers 仍可用；这不自动证明没有注册 signer。

核对结果：逐项记录类型、唯一定位符和状态，并明确该结果只覆盖所选链。
依据：[Crossmint：List Wallet Signers](https://docs.crossmint.com/wallets/guides/signers/list-signers.md)

## 3. 另查恢复方法及控制方

读取 SDK wallet.recoveryMethods 或 REST config.recoveryMethods，避免从 signers 列表推断恢复方式为空。记录 email、phone、passkey、server、external wallet 或 KMS 的方法及谁能使用。

恢复方法可授权增删 signer，也可能发送交易；因此本人持有 device signer 并不排除组织通过自己的恢复方法操作。将具体可执行权限写清楚，不根据登录名称单独认定托管或非托管。

核对结果：日常 signer 与恢复方法分成两张明确记录，未看见完整恢复配置时标待核。
依据：[Crossmint：Recovery Methods](https://docs.crossmint.com/wallets/concepts/recovery.md)
依据：[Crossmint：Custody Models](https://docs.crossmint.com/wallets/concepts/custody-models.md)
依据：[Crossmint：List Wallet Signers](https://docs.crossmint.com/wallets/guides/signers/list-signers.md)

## 4. 排查导出按钮为何没出现

ExportPrivateKeyButton 针对 email/phone signer；客户端 key 需 wallets.export，钱包已创建且可访问。passkey、external-wallet 等类型按设计不走该私钥导出入口，组件可能不渲染。

核对应用的 signer 类型、导出 scope 与钱包加载状态，不为出现按钮改 signer 或重复注册。已有 wallets.signer.exported 事件只会在每个钱包首次导出时发送，不含密钥；缺第二次事件不能证明第二次导出失败。

核对结果：按钮缺失被归入类型、权限、加载或未知原因；没有把一次 webhook 当完整恢复验收。
依据：[Crossmint：Export Private Key](https://docs.crossmint.com/wallets/guides/export-private-key.md)

## 5. 按 Solana 产品检查费用与失败

目标是 Solana smart wallet 时，在应用提供的项目设置记录中核对 Wallets → Settings 的 Fee Payer：You 使用项目 credits 并计入项目账单，Executing Wallet 由执行钱包付款，可有 SOL/USDC 选项。

具体费页说明 staging 默认赞助、新 production 默认 Executing Wallet，生产项目赞助需开通；每用户 spending limits 属 private access。这些条件不适用于所有链。费用不足、未开通或 signer 状态失败时，保留错误和待办，勿将环境总览的赞助表述当本次免费保证。

核对结果：报告 signer 当前阶段、恢复控制方、导出资格和目标产品付费方；费用与权限失败单独列出。
依据：[Crossmint：Solana 费用承担方](https://docs.crossmint.com/wallets/guides/gas-sponsorship.md)
依据：[Crossmint：Staging vs Production](https://docs.crossmint.com/introduction/platform/staging-vs-production.md)
依据：[Crossmint：List Wallet Signers](https://docs.crossmint.com/wallets/guides/signers/list-signers.md)

## 常见错误
- 多恢复方法存在不等于每次操作都要所有方法共同确认。
- EVM 链过滤、SDK/REST 字段差异和 read-only wallet 都可能造成误读。
- 项目付费的赞助不是基础设施或网络总成本为零。

## 完成检查
- 保存同环境、同链、同地址的 signer 及恢复记录，区分所有状态。
- 导出资格与 Solana Fee Payer 有具体配置依据或明确待核；不扩大成所有链覆盖。
- 本文核验为文档，没有认证接口查询、signer 变更、导出或交易回执。

## 相关知识
- [钱包签消息与签交易有什么区别？不付 Gas 的签名也要读内容](https://lianxiaozhi.com/learn/wallet-message-vs-transaction)
- [代币授权是什么？断开钱包与撤销授权有什么区别](https://lianxiaozhi.com/learn/token-approvals)

## 官方依据
- [Crossmint：Staging vs Production](https://docs.crossmint.com/introduction/platform/staging-vs-production.md)
- [Crossmint：Custody Models](https://docs.crossmint.com/wallets/concepts/custody-models.md)
- [Crossmint：Recovery Methods](https://docs.crossmint.com/wallets/concepts/recovery.md)
- [Crossmint：List Wallet Signers](https://docs.crossmint.com/wallets/guides/signers/list-signers.md)
- [Crossmint：Export Private Key](https://docs.crossmint.com/wallets/guides/export-private-key.md)
- [Crossmint：Solana 费用承担方](https://docs.crossmint.com/wallets/guides/gas-sponsorship.md)
