Skip to main content
Spending policies let you cap your agent wallet’s USDC transfers over a rolling time window, or restrict the wallet to specific recipient or contract addresses. Policies apply to mainnet agent wallets only. Policies are set per blockchain. For example, a limit configured with --chain ARC applies on Arc only. When no policy is set, a default limit of 100 USDC per month applies. Run circle wallet limit to see the limits in effect.

Prerequisites

Before you begin, ensure you have:
Spending policies require a mainnet agent wallet. Testnet is not supported. Setting a policy triggers a second email OTP to confirm the change. The OTP is used once and not stored.

Steps

Choose the policy type that matches your goal.
Transfer limits cap the outbound USDC transfers your agent initiates through Circle. They don’t apply to token allowances, so neither approve() nor the spender’s subsequent transferFrom counts toward your limits. Approve only the amount each spender needs.
1

Set the limits

Run circle wallet limit set with per-transaction, daily, weekly, and monthly caps:
Circle sends an email OTP to your agent session email to confirm the policy change. Limits must satisfy: per-transaction ≤ daily ≤ weekly ≤ monthly.
2

Verify the policy

Confirm the limits are in effect:
See the CLI command reference for full syntax and options.