What is a policy?
A policy is a set of rules that decides whether a payment can proceed. Every applicable policy must pass, and the payment gets one of three outcomes:
How policies are evaluated covers scope, evaluation order, and how rules
combine. The policy rule reference lists every rule type.
Starter guardrails for new organizations
New human organizations start with two active starter policies:- Starter guardrails:
$25maximum per transaction and$100maximum per day - Starter approval threshold: payments above
$10require explicit approval
Policy types
The policy type groups rules in the dashboard. The rules decide the outcome.- Spend limits: per-payment, daily, weekly, and monthly caps
- Time windows: allowed hours and days, and blackout periods
- Counterparties: recipient allowlists, blocklists, and trust rules
- Policy rule reference: every rule type, including identity, category, geographic, contract, budget, x402, and MPP rules
- Policy testing: build a policy that approves, holds, and denies test payments
- Version history: view, compare, and restore earlier versions of a policy
Creating policies
Via dashboard
1
Open the form
Go to Policies > Create Policy.
2
Configure the policy
3
Add rules
Set the rule values for the chosen type.
4
Assign if needed
For assigned scope, link the policy to agents, wallets, or cards.
Via API
Policy properties
Assigning policies
Assign a policy to specific agents, wallets, or cards. Only policies withscope: "assigned" can be
assigned. Organization policies apply automatically.
Assign to agent
Recommended setup
Keep the starter guardrails (100 per day, review above $10) until the agent has a track record. Then raise limits by giving each agent its own policies, in this order. Create each policy with"scope": "assigned" and the agent’s ID, or assign it on the agent’s Permissions
tab. The starter policies still apply until you edit or unassign them, because every applicable
policy must pass. The numbers below are an example for a payments agent and a separate API agent.
- Cap spend.
MAX_AMOUNT50 andDAILY_LIMIT200 deny any payment over 200. See Spend limits. - Send the middle band to review.
REQUIRE_APPROVAL_ABOVE25 holds payments from 50 on the Approvals tab of Alerts & Approvals for a person to review. The agent getsREQUIRES_APPROVALand can poll or use webhooks to check status. Keep the threshold belowMAX_AMOUNT: smaller payments go through, the middle band waits for review, and larger payments are denied. See Approval workflows. - Limit recipients.
ALLOWED_COUNTERPARTIESpays only the addresses you list. To allow every recipient except known bad ones, useBLOCKED_COUNTERPARTIESinstead. To also deny payees whose network score drops below 0.5, addTRUST_SCOREGTE0.5. It still allows new payees. See Counterparty policies. - Limit hours.
TIME_WINDOW09:00 to 18:00 andDAY_OF_WEEKMon to Fri deny overnight and weekend payments. Set atimezoneon each rule over the API, or it runs in UTC. AddBLACKOUT_PERIODfor holidays and maintenance windows. See Time windows. - Give x402 spend its own agent. If the agent pays for APIs with
x402, assign x402 rules only to a separate API agent, because they
apply to every payment of the agents they cover.
X402_MAX_PER_REQUEST0.10 andX402_MAX_PER_SERVICE{"maxAmount": 20}cap each call at 20 over a rolling 24 hours.X402_ALLOWED_SERVICESpays only the domains you list. See x402 protocol rules. - Email owners about serious alerts. Conto raises alerts on Alerts & Approvals automatically, including policy violations and x402 anomalies. On Alerts & Approvals, select Configure alerts, turn on Email owners about high-severity alerts, and set Severity to email to High and critical or Critical only. Lower severities stay in the dashboard.
- Verify before you go live. Call
GET /api/sdk/setupwith the agent’s SDK key and check that the payment-control summary reflects the policies you assigned. Then test allow, review, and deny.
Denial explanations
When a payment is denied, the response includes a plain-language reason that can be shown to an operator or end user:No usable wallet is linked to this agent. or
This payee needs review before payments to it can proceed automatically. They never include rule
values or policy names. See payment reasons.
An authorized operator can review the configured controls in the dashboard’s policy and wallet
views. Dashboard alerts for a denied payment show the full evaluation reason.
Test a policy before you enable it
POST /api/policies/simulate replays a candidate policy against your real recent transactions and
reports what it would have decided. It creates no policy, runs no approval, and moves no money. Use
it to see which currently allowed payments a new limit would block before you turn it on.
wouldBe decision (ALLOW, DENY, REQUIRE_APPROVAL) and a
summary with newlyBlocked and newlyAllowed counts.
The simulation evaluates the rule types a single historical transaction fully determines (amount,
category, counterparty, agent identity, x402/MPP service). Rule types whose decision depends on
state that is not on a payment row (cumulative daily/weekly/monthly limits, velocity, live trust
scores, geography, and time-of-day windows) are not replayed and are listed under
summary.contextDependentRuleTypes.