# SALT19 Commerce Verify

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

Validates x402 payment-bound commerce transactions by checking policy compliance, payment payload integrity, and delivery binding for agent-initiated purchases.

## Facts

- Endpoint: POST https://api.salt19.com/v1/commerce-verify
- Price: $0.02/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-verify-9348cbba
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lDD5QiYbUJc1GLVrNJ4PA

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-verify-9348cbba -d '<json body>'
```

Example prompt: Before you deliver the response, check this x402 payment payload against my policy — allowed assets are USDC on Base, max single payment 5000000 atomic units, daily spend cap 20000000 atomic, allowed payees are [0xABC...], and the target operation is 'fetch-report-2024'. Verify the payment binding is valid and the settlement evidence is structurally sound.

## When to prefer this

Choose this endpoint when an AI agent needs to gate delivery of a resource or service on x402 payment validity — especially when enforcing spending policies (payee allowlists, per-transaction caps, daily limits, network restrictions) before releasing content. It is purpose-built for the SALT19 Agent Utility Grid's MCP-native x402 payment flow and returns structured verdicts that agents can act on programmatically. Prefer it over generic payment webhooks when you need policy-aware, delivery-bound verification with structured limitation disclosures.

## Known failure modes

- Missing required 'resource' field in request object returns validation error
- payment_required object missing x402Version or accepts fields causes schema rejection
- policy constraints violated (e.g. payee not in allowed_payees) returns non-verified verdict
- expected_sha256 mismatch causes delivery binding failure
- Malformed atomic unit strings (non-numeric) fail pattern validation
- max_timeout_seconds outside 1-3600 range rejected at schema level

## 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

Returns a verdict string (e.g. VERIFIED_LOCAL_EVIDENCE), a commerce_root identifier, a boolean payment_binding_valid flag, a delivery_bound boolean, a settlement_evidence_authority label (e.g. CALLER_PROVIDED), and a limitations array explaining any caveats such as on-chain verification not being performed.

## 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
  },
  "delivery": {},
  "settlement": {
   "type": "object"
  },
  "payment_payload": {
   "type": "object"
  },
  "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
  },
  "expected_delivery": {
   "type": "object",
   "properties": {
    "expected_sha256": {
     "type": "string",
     "pattern": "^[0-9a-fA-F]{64}$"
    },
    "required_fields": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "maxItems": 64
    }
   },
   "additionalProperties": false
  },
  "target_salt19_operation_id": {
   "type": "string",
   "maxLength": 128,
   "minLength": 8
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "verdict": "VERIFIED_LOCAL_EVIDENCE",
  "limitations": [
   "Caller-provided settlement evidence is structurally checked but not independently queried on-chain."
  ],
  "commerce_root": "...",
  "delivery_bound": true,
  "payment_binding_valid": true,
  "settlement_evidence_authority": "CALLER_PROVIDED"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/salt19-commerce-verify-9348cbba/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)
