Skip to main content
A Mandate is the core governance primitive in AXON. It’s a Policy-as-Code definition that controls what an agent wallet can spend on, how much, and where.
This page covers spend-side mandate fields. The same mandate row also has earn-side fields (receive_enabled, min_price_usdc, vault_sweep_threshold_usdc, payer allow/blocklists, etc.) when a wallet accepts inbound payments. See Earning Mandates.

Properties

Limits

Full Example

Evaluation Flow

  1. Per-Tx Limit — Is amount ≤ per_transaction_limit_usdc?
  2. Daily Limit — Is daily_spent + amount ≤ daily_limit_usdc?
  3. Monthly Limit — Is monthly_spent + amount ≤ monthly_limit_usdc?
  4. Block List — Is origin_domain in block_list? If so, deny.
  5. Allow List — Is origin_domain in allow_list? If not, deny.
  6. Network Validation — Is the requested chain in networks?
  7. Intent Check — Does intent_context match policy constraints? (optional)

Network Constraints

Mandates can restrict which chains an agent can pay on: If an x402 seller requests payment on an unsupported network, AXON blocks the transaction with REJECTED_NETWORK.

Enforcement Modes

Best Practices

Begin with low limits and expand as needed. It’s easier to loosen policy than to recover from overspend.
Use allow_list rather than open access. Only add domains your agents actually need.
Define allowed_categories for audit clarity. This makes every transaction explainable.
Don’t share wallets between agents. Isolation ensures clean audit trails and prevents cross-agent spending.
Create reusable mandate templates and apply department-level defaults for consistency at scale.