Magic 邮箱钱包能用手机恢复吗?核对预设因素与新版导出入口
链小知 · 入门 · 核验 · 依官方文档整理
检查邮箱主登录、恢复手机和应用套餐资格,再按 EVM/非 EVM 与 SDK 版本判断导出入口,分开 Gas 赞助配置。
开始前准备
- 准备原应用名称、已安装客户端/SDK 版本、原钱包公开地址、原登录类型和已有设置记录;验证码、私钥及手机完整号码不写入检查材料。
- 适用 Magic Embedded Wallets 的邮箱账户;Express/Core server wallets、OAuth 或 SMS 主登录不能自动套用本页邮箱恢复流程。
- 只核对已配置因素和恢复资格,不为了检查退出全部设备或删除应用数据。
1. 确认产品和原账户身份
从原应用说明确认使用 Embedded Wallets,并记下原登录方式和公开地址。官方主登录可有 email、SMS 或 OAuth,但手机恢复文档有自己的前提,不能把这三种登录类型当同一流程。
若进入了 Magic Express/Core server-wallet 文档,先回到应用实际产品说明;开发者 server-wallet API 不是普通读者通用的找回入口。
检查结果:产品、原登录类型和钱包地址已对齐,不按相同邮箱跨产品合并账户。
2. 核对手机号恢复的资格
手机恢复要求原主登录因素是邮箱,例如 loginWithMagicLink/loginWithEmailOTP,并能证明恢复手机归属;官方列为 Startup 或 Growth 套餐功能。让应用确认套餐及 SDK 是否接入,而不是只看账户页有没有手机号码。
有联系人手机号、收到普通 SMS 登录码都不能证明该号码已作为此邮箱钱包的恢复因素。资格未确认、原主因素不为邮箱时,状态写成不适用或待核。
检查结果:邮箱主因素、恢复手机和应用功能资格三项都有依据。
3. 查看预先设置的恢复项
在原应用的账户设置或其提供的 recovery 页面检查已有恢复方式。对应 SDK 入口是 magic.user.showSettings() 或 showSettings({page:'recovery'}),具体按钮名称由应用决定。
添加或更新恢复手机是修改操作,官方会先要求邮箱 OTP 来证明账户所有权。已经无法访问邮箱时,不能假设临时补一个新手机号就能找回原账户;缺已设因素应交应用支持核对。
检查结果:区分已保存的恢复因素和待设置手机,没有把显示表单当设置成功。
4. 按原邮箱判断恢复与导出路径
恢复流程使用 magic.user.recoverAccount({email}),以原邮箱和预设因素定位;失败时保留应用错误、支持的平台和因素状态,不重建新钱包来冒充旧钱包已恢复。
如应用提供密钥导出,JS 31.0.0、React Native 32.0.0 起 EVM 方法名为 revealEVMPrivateKey;非 EVM 使用 Solana/Bitcoin 等扩展的 revealPrivateKey,Android 方法另有差异。先成功认证是文档条件,导出入口存在不证明已经得到可用备份。
检查结果:恢复对象及导出链/版本明确,恢复失败与导出能力缺失分别列出。
5. 检查赞助条件并形成结果
如果应用声称免 Gas,核对是否使用 @magic-ext/smart-account、Alchemy 配置与 paymasterPolicyId,以及规则允许的链、合约和每用户额度。该 EIP-7702 路径沿用 EOA 地址,不由手机恢复功能自动启用。
已有交易记录中 id 是 call bundle ID,transactionHash 可能为空;只有 ID 不能确认链上执行。输出恢复资格、已设因素、导出入口及赞助条件四项,缺规则时费用仍未知。
检查结果:恢复与导出能力和链上费用分开说明;没有因同地址或 call ID 推断已执行。
怎样确认完成
- 确认手机恢复是否适用于原邮箱钱包,记录原应用现有因素或具体缺口。
- 导出方法按链与版本核对,赞助条件有配置依据或标未知。
- 教程为官方文档核验;未登录、修改恢复因素、导出密钥或发送交易。
常见错误与边界
- 新手机号登记可能要求原邮箱 OTP,不能作为失去邮箱后的自动补救。
- 旧 revealPrivateKey 示例不能直接适用于新版 EVM SDK。
- 预设恢复因素、导出能力、实际恢复成功是三个不同结果。