# Buyer Spending Policy Check

> Buyer Spending Policy Check is a paid API for AI agents from www.mahastrategies.com, paid per call via x402, $0.035/call, status unknown (last checked 2026-10-20).

Validates up to 64 proposed Base-USDC payment calls against a declared budget, per-call cap, allowed payees, and human-approval flag, returning policy mismatches and arithmetic totals without executing any payments.

## Facts

- Endpoint: POST https://www.mahastrategies.com/api/v1/micro/buyer-spending-policy-check?utm_source=zero.xyz
- Price: $0.035/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/buyer-spending-policy-check-a00fb343
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hcv5SAbt7VRpEq7OHlcTp

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 buyer-spending-policy-check-a00fb343 -d '<json body>'
```

Example prompt: Before I send these 12 Base-USDC payment calls, can you check them against my policy — total budget is 5000000 base units, per-call cap is 500000, payees must be in this list [0xABC, 0xDEF], and all calls require human approval?

## When to prefer this

Choose this endpoint when an AI agent or automated system needs to pre-flight a batch of Base-USDC payment calls against a declared spending policy before any execution occurs. It is ideal for enforcing guardrails on autonomous payment agents, auditing proposed transactions without any side effects, and producing a cryptographically digestible record of the policy check. Prefer this over generic budget calculators when you need payee allowlisting, per-call caps, and human-approval flag checking in a single deterministic call.

## Known failure modes

- More than 64 calls submitted — request rejected with validation error
- budgetBaseUnits or perCallCapBaseUnits not parseable as integers — arithmetic error returned
- allowedPayees list empty or exceeds 32 entries — schema rejection
- dataClass not one of 'public' or 'synthetic' — enum validation failure
- Caller-declared human-approval labels are not independently verified — policy check reflects declared values only
- Malformed or missing required fields — 400-level error with field-level detail

## How this service works

Compare up to 64 proposed Base-USDC calls with a declared total budget, per-call cap, allowed payees and human-approval requirement. Returns policy mismatches and exact arithmetic totals. Does not authorize, sign or execute payments; caller approval labels are not verified.

## Output

Returns a structured result containing identified policy mismatches (budget overruns, per-call cap violations, unauthorized payees, missing human-approval flags), computed arithmetic totals across all calls, boundary violation details, an input digest for auditability, and a receipt digest — all without authorizing or signing any transactions.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "dataClass",
      "budgetBaseUnits",
      "perCallCapBaseUnits",
      "allowedPayees",
      "requireHumanApproval",
      "calls"
     ],
     "properties": {
      "calls": {
       "type": "array",
       "maxItems": 64,
       "minItems": 1
      },
      "dataClass": {
       "enum": [
        "public",
        "synthetic"
       ],
       "type": "string"
      },
      "allowedPayees": {
       "type": "array",
       "maxItems": 32,
       "minItems": 1
      },
      "budgetBaseUnits": {
       "type": "string",
       "maxLength": 16
      },
      "perCallCapBaseUnits": {
       "type": "string",
       "maxLength": 16
      },
      "requireHumanApproval": {
       "type": "boolean"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "version",
      "offerId",
      "amountBaseUnits",
      "inputDigest",
      "result",
      "boundaries",
      "receiptDigest"
     ],
     "properties": {
      "result": {
       "type": "object"
      },
      "offerId": {
       "enum": [
        "buyer-spending-policy-check"
       ],
       "type": "string"
      },
      "version": {
       "enum": [
        "maha-microproducts/0.1"
       ],
       "type": "string"
      },
      "boundaries": {
       "type": "array",
       "maxItems": 128,
       "minItems": 0
      },
      "inputDigest": {
       "type": "string",
       "maxLength": 71
      },
      "receiptDigest": {
       "type": "string",
       "maxLength": 71
      },
      "amountBaseUnits": {
       "enum": [
        "35000"
       ],
       "type": "string"
      }
     },
     "additionalProperties": false
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/buyer-spending-policy-check-a00fb343/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from www.mahastrategies.com](https://www.zero.xyz/host/www.mahastrategies.com/llms.txt)
