# SALT19 Commerce Decision Engine

> SALT19 Commerce Decision Engine is a paid API for AI agents from api.salt19.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Evaluates a payment request against a spending policy and returns a GO/NO-GO decision with a selected payment offer for x402-style micropayments

## Facts

- Endpoint: POST https://api.salt19.com/v1/commerce-decision
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/salt19-commerce-decision-engine-019414e6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WR9AVsPxyQWgfIHqkmAHV

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability salt19-commerce-decision-engine-019414e6 -d '<json body>'
```

Example prompt: Before paying for this API call, check whether the $0.02 USDC charge on Base from this payee is within my spending policy — my daily limit is $1.00, allowed assets are USDC, and I have no blocked payees — and tell me if I should go ahead.

## When to prefer this

Choose this endpoint when an AI agent needs to enforce a governed spending policy before executing an x402 micropayment — especially when you need cryptographic proof (hashes) of the decision for audit trails, when blocking/allowlisting payees is critical, or when operating in a multi-network environment and need deterministic offer selection. Prefer this over manual policy checks when the agent operates autonomously at high frequency and needs a fast, structured GO/NO-GO signal.

## Known failure modes

- Invalid or malformed policy object — returns policy_valid: false
- payment_required object missing required fields (x402Version, accepts) — validation error
- Requested resource string exceeds 2048 characters — schema rejection
- spend_24h_atomic or max_amount_atomic not a valid numeric string — pattern mismatch
- No accepted offer matches policy constraints — decision returns NO-GO
- max_timeout_seconds outside 1–3600 range — schema rejection
- Payment provider unreachable or offer list empty — no selectable offer

## How this service works

SALT19 is an independent applied AI systems lab behind EvoMind governed cognition, the MCP-native Agent Utility Grid, the ARCS research community, AeroClear UAS flight intelligence, and practical software for real-world work.

## Output

A JSON object containing a 'decision' field ('GO' or 'NO-GO'), a 'selected_offer' with the chosen payment amount, scheme, and network, plus cryptographic hashes for the offer, policy, request, and a preflight root for auditability. Also includes a 'policy_valid' boolean indicating whether the submitted policy was well-formed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "policy": {
   "type": "object",
   "properties": {
    "allowed_assets": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "maxItems": 32
    },
    "allowed_payees": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "maxItems": 64
    },
    "blocked_payees": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "maxItems": 64
    },
    "allowed_networks": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "maxItems": 32
    },
    "spend_24h_atomic": {
     "type": "string",
     "pattern": "^[0-9]+$"
    },
    "max_amount_atomic": {
     "type": "string",
     "pattern": "^[0-9]+$"
    },
    "max_per_day_atomic": {
     "type": "string",
     "pattern": "^[0-9]+$"
    },
    "max_timeout_seconds": {
     "type": "integer",
     "maximum": 3600,
     "minimum": 1
    }
   },
   "additionalProperties": false
  },
  "request": {
   "type": "object",
   "required": [
    "resource"
   ],
   "properties": {
    "body": {},
    "method": {
     "type": "string",
     "maxLength": 16
    },
    "resource": {
     "type": "string",
     "maxLength": 2048,
     "minLength": 1
    },
    "parameters": {
     "type": "object"
    },
    "content_type": {
     "type": "string",
     "maxLength": 128
    }
   },
   "additionalProperties": false
  },
  "payment_required": {
   "type": "object",
   "required": [
    "x402Version",
    "accepts"
   ],
   "properties": {
    "accepts": {
     "type": "array",
     "items": {
      "type": "object"
     },
     "maxItems": 16,
     "minItems": 1
    },
    "resource": {
     "type": "object"
    },
    "extensions": {
     "type": "object"
    },
    "x402Version": {
     "enum": [
      2
     ],
     "type": "integer"
    }
   },
   "additionalProperties": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "decision": "GO",
  "offer_hash": "...",
  "policy_hash": "...",
  "policy_valid": true,
  "request_hash": "...",
  "preflight_root": "...",
  "selected_offer": {
   "amount": "20000",
   "scheme": "exact",
   "network": "eip155:8453"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/salt19-commerce-decision-engine-019414e6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.salt19.com](https://www.zero.xyz/host/api.salt19.com/llms.txt)
