# SALT19 Commerce Receipt Verifier

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

Verifies and issues a cryptographically signed receipt for an x402 micropayment transaction, confirming payment settlement and delivery against policy constraints.

## Facts

- Endpoint: POST https://api.salt19.com/v1/commerce-receipt
- Price: $0.04/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-receipt-verifier-80020292
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_k-VQ-XJeBc5epm9nUMacG

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-receipt-verifier-80020292 -d '<json body>'
```

Example prompt: After the x402 payment goes through for that API call, verify the settlement and get me a signed Ed25519 receipt from SALT19 — check the payment against my policy allowing only USDC on Base with a max of 1000000 atomic units, and use operation ID 'evomind-op-20240601' so I can audit it later.

## When to prefer this

Use this endpoint when you need a cryptographically signed, auditable receipt for an x402-protocol micropayment — especially when operating autonomous agents that must enforce spend policies, verify content delivery integrity via SHA256, or produce compliance records. Prefer this over generic payment webhooks or off-chain confirmations when you need Ed25519-attested proof with a publicly verifiable URL hosted by SALT19.

## Known failure modes

- Payment payload does not satisfy the provided policy (blocked payee, disallowed asset, or exceeded spend limit) — returns a rejection verdict
- Invalid or malformed x402Version (only version 2 is accepted) — validation error
- Expected SHA256 hash does not match delivered content — delivery verification failure
- Target operation ID is missing or too short (minimum 8 characters) — schema validation error
- Policy spend_24h_atomic or max_amount_atomic value is not a valid numeric string — request rejected
- Accepts array in payment_required is empty or exceeds 16 items — schema constraint violation

## 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 signed receipt with a unique receipt ID, a signing key ID, a verification URL (at api.salt19.com/proof402/receipts/), the signature algorithm (Ed25519), a verdict string (e.g. VERIFIED_LOCAL_EVIDENCE), and a commerce root hash attesting to the transaction.

## 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": {
  "receipt": {
   "id": "...",
   "signing_key_id": "...",
   "verification_url": "https://api.salt19.com/proof402/receipts/...",
   "signature_algorithm": "Ed25519"
  },
  "verdict": "VERIFIED_LOCAL_EVIDENCE",
  "commerce_root": "..."
 }
}
```

## More

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