我见过很多人在这儿犯过一个代价不小的错误:扫码后页面一直转圈,等得不耐烦直接关了页面,然后发现钱包那边其实已经连上了,但自己再也回不去那个会话了。
答案是:不一定丢失,但你会陷入一个更麻烦的境地——钱包会话已经建立了,DApp页面却没有任何入口让你恢复它。 这时候你只能去钱包里手动断开,再重新扫码,相当于白等了一场。
为什么关闭页面不等于取消请求
WalletConnect 的配对流程是独立于 DApp 页面的。你扫码这个动作,本质上是在手机钱包和 WalletConnect 中继服务器之间建立了一个配对(Pairing)。这个配对在钱包里会处于"等待会话提议"的状态,直到它收到 DApp 发来的会话请求,或者等到 5 分钟超时自动失效。
当你关闭 DApp 页面时,DApp 那边停止发送会话请求了,但钱包那边已经处在"等待"状态,它不知道你关了页面。这个状态会持续到 5 分钟配对过期,或者你手动去钱包里把它清掉。
如果页面已经关了,先别急着重新开
情况 A:你在钱包里看到了"连接请求"或"待处理"的提示
这时候直接关掉页面,钱包那边还在傻等。如果你直接重新开页面扫码,钱包会认为你在用同一个配对 ID 发起第二次连接,直接报错"不允许重复配对"。
[做什么]:彻底清理掉这个卡住的会话 [怎么做]:打开钱包 App,进入设置 → 找到 WalletConnect 或已连接站点列表,把当前卡住的这个 DApp 条目删除。然后回到浏览器,重新打开 DApp 页面,刷新二维码,再扫码。 [完成标准]:钱包的已连接站点列表里没有这个 DApp 的条目
情况 B:钱包什么都没弹,扫码后手机那边就静默转圈
这种情况说明配对请求压根没发起。DApp 页面一关,请求链直接断了。
[做什么]:重新走一遍完整流程 [怎么做]:回到 DApp 页面(可能需要刷新一次),点击"连接钱包"生成新二维码,扫码时确保手机钱包处于前台且已解锁,扫完后观察钱包是否弹出确认窗口。按照 WalletConnect 最佳实践,钱包应该在扫码后立即显示加载指示,然后弹出确认对话框。
[完成标准]:钱包弹出连接确认窗口,显示 DApp 名称和请求的权限
转圈超过 10 秒怎么办
AlphaWallet 的开发者实测过,WalletConnect 成功的连接通常只需 2-3 秒。如果超过这个时间还在转,大概率卡住了。不要干等,直接刷新二维码。
这里的正确操作是:DApp 页面点"刷新二维码"生成新码(不是刷新整个浏览器页面),然后重新扫码。老码作废了,新码才能建立新配对。
高危风险:有一种情况是钱包虽然没弹窗,但后台已经建立了连接,只是 DApp 没收到回调。这时候你盲目关页面再开新码,会导致一个地址在同一个 DApp 上挂着两个会话。下次你发起交易时,钱包可能让你在两个会话里选,选错了 Gas 费照扣但交易状态不更新。
什么情况可以放心关页面
- 你已经在钱包里点了"拒绝"或"取消"——这时候连接请求已经被主动终止,关页面没事。
- 二维码已经显示"已过期"——配对时间到了,会话自动失效。
- DApp 页面显示"连接超时"或"Request expired"——DApp 端已经放弃了这次请求,会话被标记为无效。
校验方式: 重新扫码后,手机钱包应弹出连接确认窗口。点击确认后,DApp 页面右上角显示你的钱包地址。如果 3 秒内没反应,按上面说的——刷新二维码重来,而不是关页面。



