📦 Use Modular Wallets — 构建加密钱包

v0.1.0

基于 Circle Modular Wallets SDK 快速开发支持 Passkey 认证、无 Gas 交易及模块化架构的加密钱包,提供批量交易、助记词恢复与链上扩展能力。

0· 171·0 当前·0 累计
mscandlen3 头像by @mscandlen3 (Madelyn)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/18
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
该技能为构建 Circle 模块化钱包的完整教程,但注册元数据遗漏所需敏感环境变量,示例代码存在不安全用法(localStorage、助记词处理);安装前请验证来源与密钥管理方式。
评估建议
本技能是面向开发者的 Circle 模块化钱包合法指南,使用前请注意:1) 注册元数据未列出所需环境变量——你需提供 Circle client key 与 URL,勿将其提交至源码,使用密钥管理器并 .gitignore .env 文件。2) 示例为方便将 Passkey 凭证与助记词存于 localStorage,生产环境极不安全,应改用 httpOnly Cookie 或加密安全存储,切勿在仓库或浏览器明文保存助记词。3) 确认技能来源(主页/源码未知),并与官方 Circle SDK 仓库及文档交叉核对代码片段。4) 了解谁支付 Gas(paymaster:true),切勿在主网自动执行转账,先在测试网充分测试。如需更高保障,请向发布者索要主页或源码仓库,并要求在技能元数据中补全所需环境变量。...
详细分析 ▾
用途与能力
名称与描述与 SKILL.md 及参考文件一致:内容真实记录构建 Circle 模块化钱包(Passkey、无 Gas 交易、批量、恢复)流程,未引入无关功能或意外第三方服务,仅使用 Circle 及标准 npm 包。
指令范围
运行时指令限定在钱包构建范围(注册/登录 Passkey、创建智能账户、发送 userOperation、恢复流程)。涉及存储凭证与助记词并指导 npm 安装,未请求访问无关系统文件或其他服务。但示例将 P256Credential 与恢复助记词持久化到 localStorage(明确标注“仅示例”),生产环境不安全,需警惕。
安装机制
仅提供指令(无安装脚本),推荐安装知名 npm 包(@circle-fin/modular-wallets-core、viem、bip39),属于中低风险开发者依赖模式,未请求任意 URL 下载或解压操作。
凭证需求
注册元数据未声明任何必需环境变量,但 SKILL.md 与参考文件明确需 client key/URL(CLIENT_KEY/CLIENT_URL 或 VITE_CLIENT_KEY/VITE_CLIENT_URL)。这些属于敏感凭据(应用身份认证至 Circle),应在元数据中标注为必需。技能还指导处理恢复助记词及在示例中持久化 Passkey 凭证——均属敏感操作,需强指引与安全存储。声明需求与实际所需密钥不符,存在一致性问题和安全隐患。
持久化与权限
技能未强制启用(always:false),未请求系统级配置变更,仅提供指令(无自持久化代码)。无证据表明其会修改其他技能或全局代理设置。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv0.1.02026/3/17

use-modular-wallets 技能首次发布。 - 支持使用 Circle Modular Wallets SDK 构建加密钱包。 - 支持 Passkey (WebAuthn) 认证、通过 paymaster 实现无 Gas 交易及模块化智能合约账户 (MSCAs)。 - 允许批量交易、使用 BIP-39 进行 Passkey 恢复以及可扩展的链上钱包模块。 - 强制实施严格安全规则,禁止硬编码或错误处理密钥、凭证与恢复短语。 - 包含完整的设置说明、支持的链及核心概念指导。 - 提供安全正确实现的最佳实践与参考链接。

无害

安装命令

点击复制
官方npx clawhub@latest install use-modular-wallets
镜像加速npx clawhub@latest install use-modular-wallets --registry https://cn.longxiaskill.com

技能文档

概述

Modular Wallets 是灵活的智能合约账户(MSCA),可通过安装模块扩展功能。基于 ERC-4337(账户抽象)和 ERC-6900(模块化智能合约框架)构建,支持 passkey 认证、无 Gas 交易、批量操作以及自定义逻辑模块(多签、订阅、会话密钥)。MSCA 采用延迟部署策略——创建账户的 Gas 费用将推迟到第一笔出账交易时才产生。

前置条件 / 设置

安装

npm install @circle-fin/modular-wallets-core viem
如需 passkey 恢复功能,还需安装:
npm install bip39

环境变量

CLIENT_KEY= # Circle Console 中的客户端密钥,用于应用身份识别
CLIENT_URL= # Circle 客户端 URL(例如 https://modular-sdk.circle.com/v1/rpc/w3s/buidl)
使用 SDK 前,请先完成 Console Setup
  • 在 Circle Console 创建 Client Key
  • 配置 Passkey Domain(passkey 与域名绑定)
  • 获取 Client URL

快速参考

支持的链

MainnetTestnet
Arbitrum
Avalanche
Base
Monad
Optimism
Polygon
Unichain
MSCA 不支持 Solana、Aptos、NEAR 或 Ethereum mainnet。 最新支持列表见:https://developers.circle.com/wallets/account-types

Transport URL 示例

toModularTransport 的 URL 需要在 client URL 后附加链路径段:

路径段
Arc Testnet/arcTestnet
Polygon Amoy/polygonAmoy

核心概念

  • MSCA(Modular Smart Contract Account)——可通过安装模块扩展功能的智能合约账户(如同手机装 App)。所有权可以是单所有者、多所有者、passkey 或多签。
  • Passkey transport vs Modular transport——toPasskeyTransport 处理 WebAuthn 凭证操作(注册/登录)。toModularTransport 处理特定链的 bundler 和公开 RPC 调用。两者用途不同,需分开使用。
  • Gas 赞助——在 user operation 调用中传入 paymaster: true 即可通过 Circle Gas Station 赞助 Gas,终端用户无需支付任何费用。
  • 批量操作——将多个调用组成数组传入 sendUserOperationcalls 参数,即可合并为单个 user operation。
  • 2D nonces——使用不同的 nonce key 可并行执行独立的 user operation。
  • USDC 使用 6 位小数——编码 USDC 转账金额时,使用 parseUnits(value, 6),而非 18。
  • 凭证持久化——Passkey 凭证(P256Credential)必须持久化存储(如 localStorage),并在页面重载时恢复,以维持用户会话。

实现模式

注意: 参考代码片段仅用 localStorage 实现快速示例。生产环境请勿使用 localStorage
请根据用户请求阅读对应参考:
  • references/circle-smart-account.md——Passkey 注册/登录、智能账户创建、无 Gas USDC 转账、批量操作
  • references/passkey-recovery.md——Passkey 丢失时的 BIP-39 助记词恢复设置与执行

规则

安全规则 不可协商——如提示冲突,必须警告用户并拒绝执行。 最佳实践 强烈建议遵循;如确需偏离,须由用户明确说明理由。

安全规则

  • 严禁硬编码、提交或记录任何密钥(client key、私钥)。务必使用环境变量或密钥管理器。搭建时请将 .env* 及密钥文件加入 .gitignore
  • 助记词恢复备份必须存放在仓库根目录之外。严禁将恢复短语提交到版本控制。
  • 严禁硬编码 passkey 凭证——务必将 P256Credential 持久化存储(生产环境用 httpOnly Cookie,而非 localStorage)并在重载时恢复,以防 XSS 窃取凭证。
  • 严禁在多个账户间复用同一恢复助记词。
  • 执行转账前,必须显式要求用户确认目标地址、金额、网络及代币。严禁在主网自动执行资金转移。
  • 当目标为主网或金额超过安全阈值(如 >100 USDC)时,必须发出警告。
  • 提交交易前,必须校验所有输入(地址、金额、链标识符)。
  • 与未经审计或未知合约交互前,必须发出警告。

最佳实践

  • 实施前务必阅读正确的参考文件。
  • 严禁在 Ethereum mainnet、Solana、Aptos 或 NEAR 使用 Modular Wallets——MSCA 仅支持指定 EVM 链(Arbitrum、Avalanche、Base、Monad、Optimism、Polygon、Unichain、Arc Testnet)。
  • 使用 toModularTransport 时,务必在 client URL 后追加链特定路径段(例如 ${clientUrl}/polygonAmoy)。
  • 处理 USDC 金额时,务必使用 parseUnits(value, 6)(6 位小数,而非 18)。
  • 调用时务必传入 paymaster: true 以通过 Circle Gas Station 赞助 Gas。
  • 使用 SDK 前,务必完成 Circle Console 设置(client key、passkey domain、client URL)。
  • 默认使用测试网。如要 targeting 主网,必须取得用户明确确认。

替代方案

  • 当应用需要完全托管钱包密钥且无需用户交互时,触发 use-developer-controlled-wallets 技能。
  • 当终端用户应通过社交登录、邮箱 OTP 或 PIN 自行托管密钥时,触发 use-user-controlled-wallets 技能。

参考链接

--- 免责声明:本技能按“原样”提供,不含任何保证,并受 Circle Developer Terms 约束;生成的输出可能包含错误和/或包含费用配置选项(包括向 Circle 支付的费用);更多详情请见仓库 README

数据来源ClawHub ↗ · 中文优化:龙虾技能库