# Payment Reconciliation API

> Payment Reconciliation API is a paid API for AI agents from payment-recon.krimskrams.xyz, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-15).

Returns classified incoming stablecoin transfers (product, protocol_fee, or unknown) and totals for a given Tempo or Base chain address over up to a 31-day window.

## Facts

- Endpoint: GET https://payment-recon.krimskrams.xyz/v1/report
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payment-reconciliation-api-b7c45c15
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_532xKEX-n8FBVn03s6LjH

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 payment-reconciliation-api-b7c45c15
```

Example prompt: Can you pull a payment reconciliation report for my Base address 0xAbCd1234...5678 for the past seven days and break down how much came in as product revenue versus protocol fees?

## When to prefer this

Choose this endpoint when you need on-chain stablecoin transfer history for a specific Tempo or Base address with automatic classification of incoming payments into product revenue, protocol fees, or unknown categories. It is ideal for automated bookkeeping, revenue reporting, or auditing workflows where you need structured JSON from public chain data without running your own indexer. Prefer it over generic blockchain explorers when you need classified, aggregated summaries rather than raw transaction data.

## Known failure modes

- Invalid or malformed Ethereum address (must match ^0x[0-9a-fA-F]{40}$) returns error
- Unsupported chain value (only 'tempo' and 'base' accepted)
- Date window exceeding 31 days returns error
- 'since' date after 'until' date returns error
- No transfers found in window returns empty transfers array with zero totals
- API payment not satisfied results in 402 response requiring x402 payment
- Network or chain node issues may cause delayed or incomplete data

## How this service works

Provide a Tempo or Base recipient address and optional UTC bounds within a maximum 31-day window (default seven days). Receive JSON from public chain data with incoming stablecoin transfers, totals, and product, protocol-fee, or unknown classifications.

## Output

A JSON report containing: the queried address and chain, the time window, a list of individual stablecoin transfers (with sender, block number, tx hash, timestamp, USD amount, and class), a breakdown of totals by class (product, protocol_fee, unknown), an overall total in USD, the total transfer count, a flag indicating whether results were truncated, and a reconciliation flag.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "chain",
      "address"
     ],
     "properties": {
      "chain": {
       "enum": [
        "tempo",
        "base"
       ],
       "type": "string"
      },
      "since": {
       "type": "string",
       "format": "date-time"
      },
      "until": {
       "type": "string",
       "format": "date-time"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "ReportResponse",
     "properties": {
      "note": {
       "type": "string",
       "title": "Note"
      },
      "chain": {
       "enum": [
        "tempo",
        "base"
       ],
       "type": "string",
       "title": "Chain"
      },
      "window": {
       "type": "object",
       "title": "Window",
       "additionalProperties": {
        "type": "string",
        "format": "date-time"
       }
      },
      "address": {
       "type": "string",
       "title": "Address"
      },
      "classes": {
       "type": "object",
       "title": "Classes",
       "additionalProperties": {
        "type": "object",
        "title": "ClassSummary",
        "properties": {
         "count": {
          "type": "integer",
          "title": "Count"
         },
         "total_usd": {
          "type": "string",
          "title": "Total Usd"
         }
        }
       }
      },
      "total_usd": {
       "type": "string",
       "title": "Total Usd"
      },
      "transfers": {
       "type": "array",
       "items": {
        "type": "object",
        "title": "TransferRow",
        "properties": {
         "from": {
          "type": "string",
          "title": "From"
         },
         "block": {
          "type": "integer",
          "title": "Block"
         },
         "class": {
          "enum": [
           "product",
          
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payment-reconciliation-api-b7c45c15/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from payment-recon.krimskrams.xyz](https://www.zero.xyz/host/payment-recon.krimskrams.xyz/llms.txt)
