Skip to main content

Overview

The CLI provides full CRUD for spending policies. When you list policies, each one is tagged as [agent] (directly assigned) or [org-wide] (inherited from your organization).
conto policies

Create a Policy

The interactive builder walks you through each step with descriptions:
conto policies create
You’ll be prompted for:
  1. Policy name — A descriptive label
  2. Policy type — 14 types available, each with an explanation
  3. Priority — Lower numbers are evaluated first
  4. Rules — Optionally add the first rule immediately
  5. Assignment — Assign to the current agent or leave org-wide

Policy Types

TypeDescription
Spend LimitCap per-transaction, daily, weekly, or monthly totals
Approval ThresholdRequire human approval above a dollar amount
CounterpartyAllow or block specific wallet addresses
CategoryRestrict which spend categories are permitted
GeographicBlock transactions involving sanctioned countries
Budget AllocationSet a total budget cap for a time period
ExpirationPolicy only active within a date range
MerchantAllow or block specific merchants by address
Time WindowRestrict transactions to specific hours or days
VelocityRate limit: max transactions per time period
WhitelistOnly pre-approved addresses can receive payments
CompositeCombine multiple conditions with AND/OR logic
Contract AllowlistRestrict to approved smart contract addresses
Blackout PeriodBlock all transactions during specific time windows

Add Rules

Add rules to an existing policy:
conto policies add-rule <policy-id>
The rule builder prompts for:
  • Rule type — Context-aware options based on the policy type
  • Operator<=, >=, in list, not in list, between, etc.
  • Value — With smart placeholders (dollar amounts for limits, JSON arrays for lists, country codes for geographic rules)
  • Action — Allow, Deny, or Require Approval

Value Examples by Rule Type

Rule TypeExample ValueFormat
Daily Limit500Dollar amount
Allowed Counterparties["0xabc...","0xdef..."]JSON array of addresses
Geographic Restriction["CU","IR","KP","SY"]JSON array of country codes
Trust Score50Number (0-100)
Date Range{"start":"2025-01-01","end":"2025-12-31"}JSON with ISO dates
Velocity Limit5Max transactions per window

Update & Delete

# Update name, priority, or active status
conto policies update <policy-id>

# Delete (with confirmation prompt)
conto policies delete <policy-id>

# Remove a specific rule from a policy
conto policies remove-rule <policy-id> <rule-id>

Assign & Unassign

Control which policies apply to your agent:
# Assign an org policy to your agent
conto policies assign <policy-id>

# Remove a policy from your agent
conto policies unassign <policy-id>
Org-wide policies (tagged [org-wide]) cannot be unassigned — they apply to all agents in the organization. To remove them, either delete the policy or set it to inactive with conto policies update <id>.

List All Org Policies

To see every policy in the organization (not just your agent’s):
conto policies all
This shows the policy ID, agent count, rules, and active status for all policies.

JSON Output

All policy commands support --json:
conto policies --json
conto policies all --json
conto policies create --json    # Returns created policy as JSON