关于 agent-wallet-policy
agent-wallet-policy 是用于管理 Circle Agent 钱包消费限额的 CLI 技能,支持查看、设置和重置限额,并规定更改时由用户在自己的终端输入邮件 OTP。
主要功能
- 01查看单笔及周期限额
- 02设置自定义消费限额
- 03将限额重置为默认值
- 04更改时由用户输入邮件 OTP
- 05更新后核验限额
适用场景
- 01查看 Agent 钱包当前消费限额
- 02在用户终端设置已确认的限额
- 03重置策略并核验结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ circlefin/ skills --skill agent-wallet-policy安装后在 Claude Code 中输入/agent-wallet-policy确认已加载。
附带文件references/commands.md
详细介绍
概述
如需了解 Circle CLI 的全部功能,请参阅 use-circle-cli 主技能。此技能仅涵盖支出策略流程。
Circle Agent 钱包支持支出策略——CLI 会对每个钱包的支付和转账强制执行限额。共有三种操作:
| 操作 | 命令 | 是否需要 OTP? |
|---|---|---|
| 查看当前限额 | circle wallet limit --address <addr> --chain ARC --output json | 否 |
| 设置自定义限额 | circle wallet limit set ... | 是 — 需由用户本人在自己的终端中输入 OTP |
| 重置为默认值 | circle wallet limit reset ... | 是 — 需由用户本人在自己的终端中输入 OTP |
支出策略仅适用于主网(测试网链会被拒绝;请参阅“故障排除 / 规则”)。
前提条件
有两个辅助命令用于设置此流程:会话检查(circle wallet status)和钱包地址查询(circle wallet list ... --output json)。有关确切命令,请阅读 references/commands.md。
如果 circle wallet status 报错,提示“Not logged in”或“Terms acceptance is required”,请转交给 use-agent-wallet 技能——该技能涵盖安装、条款、登录和创建钱包。
查看当前限额(在 Agent 中执行,无需 OTP)
circle wallet limit --address <addr> --chain ARC --output json
显示每笔交易、每日、每周和每月的 USDC 限额(未设置的层级显示为 null)。可放心随时调用——此操作为只读,不会转移资金,也不需要 OTP。
设置或重置限额(在交互式终端中执行 — 转交给用户)
circle wallet limit set 和 circle wallet limit reset 都是交互式命令。执行过程中,系统会向用户的电子邮箱发送一个 6 位 OTP,并等待用户在 CLI 的标准输入提示符处输入验证码。
**OTP 等同于密码。Agent 绝不能接收、存储或转发 OTP。**此处 Agent 的任务是向用户提供一条可原样运行的命令,让用户在自己的终端中执行,然后等待用户反馈执行结果。
1. 与用户确认数值
限额必须按递增顺序设置:per-tx ≤ daily ≤ weekly ≤ monthly。
一种较为保守的常见配置:
| 层级 | 建议的 USDC 数值 |
|---|---|
--per-tx | 1 |
--daily | 5 |
--weekly | 20 |
--monthly | 50 |
根据用户所述的风险承受程度进行调整。生成命令前,务必取得用户明确同意。
2. 向用户提供命令
告诉用户:
设置支出限额需要使用我不应查看的 OTP。请在你自己的终端中运行此命令——CLI 会向你发送一封包含 6 位验证码的电子邮件;请在提示符处输入验证码。完成后请告知我。
circle wallet limit set \ --address <addr> --chain ARC \ --policy-type stablecoin \ --per-tx 1 --daily 5 --weekly 20 --monthly 50
重置时,命令如下,需原样提供:
circle wallet limit reset --address <addr> --chain ARC --yes
如果希望用户在发送 OTP 前看到确认提示,请省略 --yes。
3. 用户报告完成后进行验证
运行只读限额命令以确认新限额,然后告知用户。有关确切命令,请阅读 references/commands.md。
故障排除
| 症状 | 原因 | 解决方法 |
|---|---|---|
| 用户收到多封 OTP 邮件 | 上一次命令仍在等待时,命令被再次运行 | 告知用户只使用最新的 OTP。较早的 OTP 均已失效。 |
| OTP 被拒绝,提示“prefix mismatch” | 用户输入了上一次请求的 OTP | 重新开始——每次调用 set / reset 都会生成新的前缀。 |
Spending policies are mainnet-only | 尝试在测试网链上设置策略 | 使用主网 --chain 值(例如 BASE、MATIC)重新运行。 |
Limits must be monotonic | per-tx > daily、daily > weekly 等 | 重新检查数值。per-tx ≤ daily ≤ weekly ≤ monthly。 |
Only agent wallets support spending policies | 尝试在本地(非 Agent)钱包上操作 | 支出策略仅适用于通过 circle wallet create 创建的 Agent 钱包。 |
规则
- 绝 NEVER ask the user to share the OTP with you. The OTP must go directly from the user's email to the CLI prompt in their own terminal — it should never touch the agent's context, tool calls, or any local file.
- 如果已连接电子邮件或消息集成工具(例如通过 MCP 连接的 Gmail 或 Slack),也可以通过这些工具获取 OTP——请告知用户这一选项;如何处理由用户决定。
- 始终向用户提供一条原样的
circle wallet limit set/reset命令,让他们在自己的终端中运行。不要尝试通过聊天来协调 OTP。 - 生成命令前,始终与用户确认拟定的限额值。明确列出每笔交易/每日/每周/每月的数值,并等待用户明确同意。
- 消费策略仅适用于主网——测试网链会被拒绝。不要引用测试网示例。
- 只有 Agent 钱包支持消费策略,本地钱包不支持。
- 用户报告更改已完成后,运行
circle wallet limit --address <addr> --chain ARC --output json,以便用户查看新的限额。
参考链接
- 完整策略说明(扩展示例、边界情况):https://agents.circle.com/skills/wallet-policy.md
- Circle 开发者文档:https://developers.circle.com/llms.txt
替代方案
遇到以下情况时,改为触发 use-agent-wallet 技能:
- 用户尚未登录 CLI 或接受条款。
circle wallet status报错,提示“未登录”或“需要接受条款”。- 用户询问的是钱包设置、登录或会话状态,而不是策略。
遇到以下情况时,改为触发 pay-via-agent-wallet 技能:
- 用户想调用、付费使用或使用付费 x402 服务。
- 已设置限额,且用户准备开始消费。
遇到以下情况时,改为触发 fund-agent-wallet 技能:
- 用户想在设置限额前添加 USDC。
- 用户提到存款、法币入金、法币购买、二维码转账或 Gateway 存款。
免责声明:此技能按“原样”提供,不附带任何保证,且受 Circle 开发者条款约束。生成的输出可能包含错误,和/或包含费用配置选项(包括支付给 Circle 的费用);更多详情请参阅仓库的 README。