Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
circlefin avatar

Agent Wallet Policy

  • 434 installs
  • 136 repo stars
  • Updated June 22, 2026
  • circlefin/skills

agent-wallet-policy is a Circle CLI skill that views and configures USDC spending limits, allowlists, and approval rules on Circle agent wallets for developers who need guardrails before autonomous agent payments.

About

agent-wallet-policy is a Circle CLI skill for inspecting and setting spending policy on Circle agent wallets used by autonomous payment agents. Developers use the circle CLI to view per-transaction, daily, weekly, and monthly USDC caps, allowlists, and wallet rules; setting or resetting limits requires OTP confirmation in an interactive terminal session that the agent must not store. The skill is mainnet-only and rejects testnet chains. Reach for agent-wallet-policy when auditing current limits or preparing verbatim OTP-gated commands before enabling production agent spending.

  • Agent wallet spend and allowlist policies
  • Circle compliance-oriented guardrails
  • Pre-launch financial risk controls
  • Audit-friendly policy templates
  • Pairs with pay-via-agent-wallet

Agent Wallet Policy by the numbers

  • 434 all-time installs (skills.sh)
  • Ranked #532 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/circlefin/skills --skill agent-wallet-policy

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs434
repo stars136
Last updatedJune 22, 2026
Repositorycirclefin/skills

How do you set USDC spending limits on Circle agent wallets?

Define spending limits, allowlists, and approval rules for Circle agent wallets before enabling autonomous payments in production agents.

Who is it for?

Developers shipping Circle-powered autonomous payment agents who must enforce mainnet USDC caps before production rollout.

Skip if: Developers testing on testnet chains or teams that only need to fund wallets without inspecting or changing spending policy.

When should I use this skill?

User mentions spending limits, spending policy, per-tx cap, daily cap, weekly cap, monthly cap, wallet rules, or OTP confirmation for Circle agent wallets.

What you get

Current wallet policy report, OTP-ready circle CLI limit commands, and documented allowlist and approval rules.

  • Spending policy inspection output
  • OTP-gated limit commands

By the numbers

  • Covers four spending limit windows: per-transaction, daily, weekly, and monthly USDC caps

Files

SKILL.mdMarkdownGitHub ↗

Overview

For an overview of the Circle CLI's full capability set, see the use-circle-cli master skill. This skill is the narrower spending-policy flow.

Circle agent wallets support spending policies — per-wallet caps that the CLI enforces on every payment and transfer. There are three operations:

OperationCommandOTP required?
View current limitscircle wallet limit --address <addr> --chain BASE --output jsonNo
Set custom limitscircle wallet limit set ...Yes — human OTP, run in user's own terminal
Reset to defaultscircle wallet limit reset ...Yes — human OTP, run in user's own terminal

Spending policies are mainnet-only (testnet chains are rejected; see Troubleshooting / Rules).

Prerequisites

# Confirm session is good
circle wallet status

# Get the wallet address
circle wallet list --chain BASE --type agent --output json

If circle wallet status errors with "Not logged in" or "Terms acceptance is required", hand off to the use-agent-wallet skill — it covers install, terms, login, and wallet creation.

Viewing current limits (in-agent, no OTP)

circle wallet limit --address <addr> --chain BASE --output json

Shows the current per-tx, daily, weekly, and monthly USDC caps (null for any unset tier). Safe to call freely — read-only, no money moves, no OTP.

Setting or resetting limits (interactive terminal — handoff to user)

circle wallet limit set and circle wallet limit reset are interactive. They send a 6-digit OTP to the user's email mid-execution and wait for the code at the CLI's stdin prompt.

OTPs are password-equivalent. The agent must NOT receive, store, or relay the OTP. The agent's job here is to hand the user a verbatim command to run in their own terminal, then wait for them to report back.

Step 1 — Confirm values with the user

Limits must be monotonic: per-tx ≤ daily ≤ weekly ≤ monthly.

A typical conservative configuration:

TierSuggested USDC value
--per-tx1
--daily5
--weekly20
--monthly50

Adjust based on the user's stated tolerance. Get explicit yes before generating the command.

Step 2 — Hand the user the command

Tell the user:

Setting spending limits requires an OTP I shouldn't see. Please run this command in your own terminal — the CLI will email you a 6-digit code; enter it at the prompt. Let me know once it completes.

>

```bash
circle wallet limit set \
--address <addr> --chain BASE \
--policy-type stablecoin \
--per-tx 1 --daily 5 --weekly 20 --monthly 50
```

For reset, the verbatim command is:

circle wallet limit reset --address <addr> --chain BASE --yes

Omit --yes if you want the user to see a confirmation prompt before the OTP is sent.

Step 3 — Verify after the user reports done

circle wallet limit --address <addr> --chain BASE --output json

Confirms the new caps. Surface them to the user.

Troubleshooting

SymptomCauseFix
User received multiple OTP emailsCommand was re-run while a previous invocation was still waitingTell the user to use the most recent OTP only. Earlier ones are invalidated.
OTP rejected with "prefix mismatch"User entered an OTP from a previous requestRestart — each set / reset invocation has a fresh prefix.
Spending policies are mainnet-onlyTried to set a policy on a testnet chainRe-run with a mainnet --chain value (BASE, MATIC, etc.).
Limits must be monotonicper-tx > daily, daily > weekly, etc.Re-check the values. per-tx ≤ daily ≤ weekly ≤ monthly.
Only agent wallets support spending policiesTried on a local (non-agent) walletSpending policies apply only to agent wallets created via circle wallet create.

Rules

  • 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.
  • If email- or messaging-integration tools are connected (e.g., Gmail or Slack via MCP), the OTP can also be fetched through them — note the option to the user; how to handle it is their call.
  • ALWAYS hand the user a verbatim circle wallet limit set / reset command for them to run in their own terminal. Do NOT try to orchestrate the OTP from chat.
  • ALWAYS confirm proposed limit values with the user before generating the command. Show the per-tx / daily / weekly / monthly numbers explicitly and wait for explicit yes.
  • Spending policies are mainnet-only — testnet chains are rejected. Don't quote testnet examples.
  • Only agent wallets support spending policies, not local wallets.
  • After the user reports the change is done, run circle wallet limit --address <addr> --chain BASE --output json so the user sees the new caps.

Reference Links

  • Full policy walkthrough (extended examples, edge cases): https://agents.circle.com/skills/wallet-policy.md
  • Circle Developer Docs: https://developers.circle.com/llms.txt

Alternatives

Trigger the use-agent-wallet skill instead when:

  • The user has not yet logged in to the CLI or accepted Terms.
  • circle wallet status errors with "Not logged in" or "Terms acceptance is required".
  • The user is asking about wallet setup, login, or session state — not policy.

Trigger the pay-via-agent-wallet skill instead when:

  • The user wants to call, pay for, or use a paid x402 service.
  • Limits are already set and the user is ready to spend.

Trigger the fund-agent-wallet skill instead when:

  • The user wants to add USDC before setting limits.
  • The user mentions deposit, fiat on-ramp, fiat purchase, QR-code transfer, or Gateway deposit.

---

DISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.

Related skills

How it compares

Use agent-wallet-policy to audit and configure limits; pair with fund-agent-wallet when the wallet needs USDC before policy review.

FAQ

Does agent-wallet-policy work on testnet?

agent-wallet-policy is mainnet-only. The Circle CLI skill rejects testnet chains, so developers must configure and inspect spending policy against mainnet agent wallets only.

Can an agent set wallet limits without user OTP?

agent-wallet-policy never stores OTP. Setting or resetting limits requires OTP confirmation in an interactive terminal session, and the skill hands the developer a verbatim circle CLI command to run themselves.

Securitycomplianceauditappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.