ToolAssay

[Spend policy

[Spend policy: agent payment risk check] Before an AI agent pays an invoice or merchant: POST {payment, policy} -> allow / deny / needs_approval plus the rules that fired (per-tx limit, rolling cap, merchant categories, allow/deny lists, hours + timezone, assets/chains, approval threshold) and an Ed25519-signed receipt bound to your request hash. Deterministic, stateless, no custody, moves no money. Bad bodies rejected before payment. $0.02 USDC.

Answeringour last check, 2026-10-24
1 of 1checks answered this week
691 msmedian answer time
$0.02listed price per call
$0.02price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://micro-saas-agent.onrender.com/api/spend/check

CategoryCommerce and shopping
Provider hostmicro-saas-agent.onrender.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-24 valid payment request 402$0.02 691 ms

Example input (from the provider)

{
  "body": {
    "payment": {
      "agentId": "ap-agent-7",
      "amount": "420.00",
      "chain": "base",
      "currency": "USDC",
      "memo": "INV-10442",
      "merchantCategory": "office-supplies",
      "recipientDomain": "acme-supplies.com",
      "recipientId": "acct_acme_supplies",
      "timestamp": "2026-10-21T15:30:00Z"
    },
    "policy": {
      "allowList": [
        "acme-supplies.com"
      ],
      "allowedAssets": [
        "USDC"
      ],
      "allowedChains": [
        "base"
      ],
      "allowedHours": {
        "days": [
          "mon",
          "tue",
          "wed",
          "thu",
          "fri"
        ],
        "end": "18:00",
        "start": "08:00",
        "timezone": "America/Denver"
      },
      "blockedCategories": [
        "gambling",
        "crypto-exchange"
      ],
      "currency": "USDC",
      "perTxLimit": "1000",
      "requireApprovalAbove": "750",
      "rollingCap": {
        "limit": "5000",
        "spentSoFar": "1200",
        "windowHours": 24
      }
    }
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "payment": {
              "example": {
                "agentId": "ap-agent-7",
                "amount": "420.00",
                "chain": "base",
                "currency": "USDC",
                "memo": "INV-10442",
                "merchantCategory": "office-supplies",
                "recipientDomain": "acme-supplies.com",
                "recipientId": "acct_acme_supplies",
                "timestamp": "2026-10-21T15:30:00Z"
              },
              "type": "object"
            },
            "policy": {
              "example": {
                "allowList": [
                  "acme-supplies.com"
                ],
                "allowedAssets": [
                  "USDC"
                ],
                "allowedChains": [
                  "base"
                ],
                "allowedHours": {
                  "days": [
                    "mon",
                    "tue",
                    "wed",
                    "thu",
                    "fri"
                  ],
                  "end": "18:00",
                  "start": "08:00",
                  "timezone": "America/Denver"
                },
                "blockedCategories": [
                  "gambling",
                  "crypto-exchange"
                ],
                "currency": "USDC",
                "perTxLimit": "1000",
                "requireApprovalAbove": "750",
                "rollingCap": {
                  "limit": "5000",
                  "spentSoFar": "1200",
                  "windowHours": 24
                }
              },
              "type": "object"
            }
          },
          "required": [
            "payment",
            "policy"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {},
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON