Skip to main content
Spending policies control what your agents can do. They’re enforced at two layers — see Agent Permissions for the full picture.

Signer-level policies (wallet)

Set when creating a wallet. These constrain what the server signer is allowed to do. They apply to all agents sharing the wallet.
TemplateSigningTransactionsBest For
ConservativeMessage signing only (x402/MPP)DeniedTesting, sandboxed agents
StandardPayment signing + limited transactionsCapped at 0.1 ETHMost use cases
Power UserFull signing accessUnlimitedProduction, high-volume
All templates deny private key export. These are hard ceilings enforced by the TEE and cannot be overridden.

Agent-level limits

After creating an agent, you can customize per-agent:
  • Daily spending cap — total amount the agent can spend per day (resets at midnight UTC)
  • Per-transaction maximum — largest single payment allowed
  • Allowed chains — EVM only, Solana only, or all
  • Service access — blocklist or allowlist specific services and categories
Changes take effect immediately. Active agents see the new limits on their next request.

How caps work

Daily caps are tracked in base units (1,000,000 = 1.00 USDC). When an agent checks its spending:
{
  "dailySpend": "3500000",
  "dailySpendingCap": "10000000",
  "remaining": "6500000"
}
This means: spent 3.50,capis3.50, cap is 10.00, $6.50 remaining today.

What happens when limits are hit

LimitError CodeAgent Sees
Daily cap exceededDAILY_CAP_EXCEEDED”Daily spending limit reached”
Per-tx too largeAGENT_TX_LIMIT_EXCEEDED”Payment exceeds per-transaction limit”
Chain not allowedCHAIN_NOT_ALLOWED”Agent not allowed to use this chain”
Service blockedSERVICE_BLOCKED”Service is blocked for this agent”
The agent receives a clear error code and message. Well-configured agents (using skill.md) know to report these to the user rather than retrying.