# Civic Auth 登录了却没有钱包地址？检查创建状态、连接器和恢复支持

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

用原应用已有状态分清认证与钱包创建，检查 EVM/Solana 接入差异，确认外部钱包不等于 Civic 钱包及 SSO 恢复限制。

## 使用工具
- [Civic Auth（含嵌入钱包）](https://lianxiaozhi.com/tools/civic-auth) · [官方入口](https://www.civic.com/)

## 前置条件
- 准备原应用名称、登录方式、需要的 EVM/Solana 网络、已知公开地址及已有脱敏 SDK 状态；不提交 ID token 或邮箱验证码。
- 本教程排查已有账户，钱包创建与连接是实际操作；先读取状态，不为排查重复创建账户。
- 前端 React/Next.js 与服务端读取使用不同字段。没有内部记录时，将本页字段交给应用支持核对。

## 1. 确认应用启用了钱包功能

Civic Auth 仅登录和 Web3 wallet 是不同配置。查看应用说明或已有设置记录是否启用了 Web3 wallet，并接入 @civic/auth-web3；只看用户头像不能确定钱包已创建。

当前正文指出 X 登录没有所需邮箱，不能 provision 嵌入钱包。若使用 X 登录却无钱包，先记录这个限制；不要通过另一个身份新建钱包后声称原钱包已找回。

核对结果：确认认证方式和 Web3 配置，已知限制与未知接入分别记录。
依据：[Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)

## 2. 读已有钱包创建状态

Civic 文档区分 userContext.user 的认证状态与 userHasWallet(userContext) 的钱包状态；没有钱包时有 createWallet 和 walletCreationInProgress。用已有脱敏状态判断未创建、创建中或已存在，不能把加载空白填成零余额。

EVM 的 useAutoConnect 可同时处理创建与连接；Solana 无 adapter 需要显式创建，有 adapter 时用户选择 Civic 可触发创建。这些是不同接入路径，先确认原应用走哪一条，再请应用处理相应失败。

核对结果：认证、创建、连接三阶段分别明确，没有以重复创建代替排查。
依据：[Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)
依据：[Civic Auth：Solana](https://docs.civic.com/web3/solana)
依据：[Civic Auth：Ethereum / EVM](https://docs.civic.com/web3/ethereum-evm)

## 3. 检查实际地址与连接器

Solana 已有钱包上下文可读 solana.address；EVM 查看当前 SDK 类型及 wagmi useAccount 的地址/连接状态。当前 EVM 正文有 ethereum 与示例 eth.address 差异，按应用已安装 SDK 的类型定义核对，不直接复制可能过时字段。

若界面同时列 Phantom 或 MetaMask，这些可以是另一条连接器。当前文档说外部自托管钱包不能关联 Civic 账户；切换到外部钱包显示的余额不是 Civic 嵌入地址的余额。服务端应通过 getWallets() 返回 walletAddress，不从 JWT 自行猜地址。

核对结果：地址、实际链和当前连接器对应，外部钱包与 Civic 地址没有混并。
依据：[Civic Auth：Solana](https://docs.civic.com/web3/solana)
依据：[Civic Auth：Ethereum / EVM](https://docs.civic.com/web3/ethereum-evm)
依据：[Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)

## 4. 把恢复支持与密钥备份分开

Civic 的当前嵌入钱包由 MetaKeep 提供，身份提供方认证是访问条件；文档明确无传统 seed phrase 导出或手动备份。无助记词菜单不能被解释为已经自动拥有一份离线备份。

若失去原 SSO 凭据，保存原应用、公开地址、登录方式和错误，通过官方文档给出的 MetaKeep 支持或 Civic 开发者支持渠道确认恢复流程。支持存在不代表已验收能恢复，也不要求向对话或工单发送私钥。

核对结果：恢复所需身份与支持路径明确，恢复资格、进展或未知状态没有写成必能找回。
依据：[Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)

## 5. 核对网络与费用后整理问题

EVM 应用可通过 chains 与 initialChain 限定网络；Solana 的 RPC/adapter 路径独立。记录错误属于无钱包、未连接、链不匹配或 RPC 读取失败；不因文档列多个网络就认定当前应用都启用了。

服务价格分别统计 Auth Only 与有钱包的 MAU，链上费用另算。默认 EOA 不等于自动有 Gas 赞助，账户抽象升级及赞助需另确认。交应用支持的材料包含上述状态和公开地址，避开 token、验证码与秘密。

核对结果：输出具体失败阶段、网络和费用未知项，未将登录成功当钱包可签名或到账证明。
依据：[Civic Auth：Ethereum / EVM](https://docs.civic.com/web3/ethereum-evm)
依据：[Civic Auth：Solana](https://docs.civic.com/web3/solana)
依据：[Civic Auth：Pricing](https://docs.civic.com/overview/pricing)
依据：[Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)

## 常见错误
- 登录用户不一定已经有钱包；自动连接可能包含创建副作用。
- 外部 connector 可以并列，不能据此认定与 Civic 账户合并。
- SSO 支持恢复、非托管产品说明和独立离线恢复是不同能力。

## 完成检查
- 登录、钱包创建和连接状态已分开，地址与目标链对应或保留具体失败。
- 恢复材料边界及支持路径有官方依据，实际恢复与赞助条件仍按当前账户核查。
- 本教程依据官方文档，未开户、登录、创建、连接、签名或进行恢复验收。

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

## 官方依据
- [Civic Auth：Embedded Wallets](https://docs.civic.com/web3/embedded-wallets)
- [Civic Auth：Solana](https://docs.civic.com/web3/solana)
- [Civic Auth：Ethereum / EVM](https://docs.civic.com/web3/ethereum-evm)
- [Civic Auth：Pricing](https://docs.civic.com/overview/pricing)
