概览
KaleidoSwap 扩展会把标准钱包提供方注入浏览器页面,DApp 在获得用户授权后即可调用钱包能力。它沿用与其他浏览器钱包(例如 Alby)相同的提供方约定,因此大多数现有的 WebLN、WebBTC 和 Nostr 应用无需为 KaleidoSwap 做任何专门集成即可使用。 扩展注入以下对象:window.webln— 面向 Lightning 的 WebLN 提供方(发票、支付、消息签名、keysend、LNURL)。window.webbtc— 面向链上比特币的 WebBTC 提供方(地址、PSBT 签名、BIP-322 消息签名、广播)。window.nostr— 完整的 NIP-07 提供方,用于 Nostr 事件签名与加密。window.bitcoin— Bitcoin Wallet Standard 提供方(Unisat/OKX/Leather 风格),部分 DApp 会探测它来获取链上账户。
工作原理
- KaleidoSwap 扩展的内容脚本被注入网页
- 内容脚本加载注入脚本,添加
window.webln、window.webbtc、window.nostr和window.bitcoin - DApp 调用这些提供方上的方法
- 请求被路由到 KaleidoSwap 扩展的后台 service worker
- 敏感操作会触发确认或权限提示
提供方就绪事件
提供方安装完成后,注入脚本会派发就绪事件(同时提供带冒号和不带冒号两种写法,以兼容各类 SDK):webln:ready/weblnReadywebbtc:ready/webbtcReadynostr:readybitcoin:ready
WebLN 提供方
window.webln 遵循 WebLN 规范,可用于:
- 请求节点信息
- 创建闪电发票
- 发送闪电支付
- 签名和验证消息
- 发送 keysend 支付
- 处理 LNURL 请求
- 读取余额详情
支持的方法
用法示例
WebBTC 提供方
window.webbtc 是链上比特币提供方,可以:
- 返回接收地址
- 签名并终结 PSBT
- 签名消息(BIP-322)
- 广播原始交易
- 发送链上支付
支持的方法
部分 DApp 会探测
window.bitcoin(Bitcoin Wallet Standard 提供方),替代或同时配合 window.webbtc 使用。它基于同一套钱包密钥暴露 connect()、getAccounts()、getPublicKey()、signMessage()、signPsbt()、pushPsbt() 和 sendBitcoin()。PSBT 确认
批准signPsbt、finalizePsbt 或 pushPsbt 绝不是盲签:确认提示会解码 PSBT,在你批准之前展示目标地址、金额和网络费用。如果无法从 PSBT 中解码出金额,提示会改为给出明确警告。

Nostr 提供方(NIP-07)
KaleidoSwap 扩展在window.nostr 上注入完整的 NIP-07 提供方,Nostr 网页应用可以请求钱包公钥、签名事件,以及加密或解密私信。Nostr 身份由钱包助记词派生(若已设置,则使用导入的身份)。
支持的方法
用法示例
Nostr Connect(NIP-46)
除了页面内的 NIP-07 签名,扩展还可以为支持 NIP-46(nsecBunker)的 Nostr 应用充当远程签名器。在设置 > Nostr Connect(Settings > Nostr Connect)中生成bunker:// 连接字符串,粘贴到客户端应用中,签名请求随后会通过 Nostr 中继传输,并在扩展中批准。活跃的 NIP-46 会话会出现在已连接应用(Connected Apps)中,可在那里查看和撤销。

Nostr Wallet Connect(NWC)
扩展也可以通过 Nostr Wallet Connect 把钱包暴露给外部应用:扫描配对二维码完成配对,再用按金额生效的预算限定它能做什么。通过 NWC 发起的 Zap 支付(NIP-57)会被校验,并与钱包交易记录关联。权限提示与已连接应用
当已连接的站点发起敏感请求时,KaleidoSwap 扩展会要求用户批准或拒绝该操作。已连接的 Nostr 客户端默认采用「合理」(Reasonable) 授权级别(与其他 NIP-07 钱包相当):已连接应用的常规低风险操作直接放行,而支付和其他敏感操作仍会弹出提示。

Nostr 身份
KaleidoSwap 扩展从钱包助记词(或导入的身份)派生 Nostr 身份,并同时通过window.nostr 暴露给网页,以及在扩展设置中展示。
Nostr 密钥管理
你的 Nostr 密钥对在设置 > Nostr 账户(Settings > Nostr Account)中管理:- 查看公钥(
npub) - 钱包处于解锁状态时查看/复制会话私钥
- 从钱包助记词重新派生身份
nsec1… 或 64 位十六进制字符串);它会被加密存储,并在所有原本使用派生身份的场景中生效。
浏览器授权流程
KaleidoSwap 扩展让 DApp 授权始终由用户驱动:- 受信任的站点请求连接、支付、发票、资产或签名操作
- KaleidoSwap 扩展通过内容脚本和后台 service worker 转发请求
- 用户核对详情,批准或拒绝该操作
安全注意事项
申请测试版访问权限
申请加入 KaleidoSwap 扩展的封闭测试。