# Savings Ledger — String Normalisation + Category Frequencies

> Savings Ledger — String Normalisation + Category Frequencies is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-11-02).

Runs two local analytical reports on savings ledger rows: string normalisation and category frequency counts for instrument groups, deposits, and withdrawals.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-finance-23-024?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/savings-ledger-string-normalisation-category-frequencies-7b7d7bf5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kF1tBUAVlOVWduzfvyVsO

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 savings-ledger-string-normalisation-category-frequencies-7b7d7bf5 -d '<json body>'
```

Example prompt: Can you normalise the instrument group strings and count category frequencies for my savings ledger? Here are 4 rows: row-1 on 2026-10-01 in group-a with deposit 10 and withdrawal 1, row-2 on 2026-10-02 in group-b with deposit 20 and withdrawal 2, row-3 on 2026-10-03 in group-a with deposit 15 and withdrawal 3, row-4 on 2026-10-04 in group-b with deposit 30 and withdrawal 4.

## When to prefer this

Choose this endpoint when you need lightweight, offline string normalisation and category frequency analysis on up to 200 savings ledger rows without any external API calls, predictions, or live data. It is ideal for pre-processing or auditing savings data before aggregation or reporting. At $0.01 USDC for two reports, it suits cost-sensitive pipelines that just need categorical summaries and string cleanup on deposit/withdrawal ledger records.

## Known failure modes

- Fewer than 1 row supplied — validation error
- More than 200 rows supplied — rejected with maxItems error
- Missing required fields (row_id, instrument_group, date, deposit_amount, withdrawal_amount) — schema validation failure
- Invalid date format (not YYYY-MM-DD) — pattern validation error
- Numeric amounts outside ±1,000,000,000,000 range — validation error
- Payment not completed — 402 Payment Required response

## How this service works

Savings ledger — String normalisation + Category frequencies: String normalisation + Category frequencies for supplied savings ledger records (deposit_amount, withdrawal_amount). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Returns two analytical reports for the supplied savings ledger rows: (1) a string normalisation report standardising the instrument_group and other text fields, and (2) a category frequency report counting occurrences of each instrument group and related categorical breakdowns across deposit_amount and withdrawal_amount fields. No external lookups or predictions are made; all analysis is local.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "instrument_group",
     "date",
     "deposit_amount",
     "withdrawal_amount"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "deposit_amount": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "instrument_group": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "withdrawal_amount": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "deposit_amount": 10,
     "instrument_group": "group-a",
     "withdrawal_amount": 1
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "deposit_amount": 20,
     "instrument_group": "group-b",
     "withdrawal_amount": 2
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "deposit_amount": 15,
     "instrument_group": "group-a",
     "withdrawal_amount": 3
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "deposit_amount": 30,
     "instrument_group": "group-b",
     "withdrawal_amount": 4
    }
   ],
   "maxItems": 200,
   "minItems": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/savings-ledger-string-normalisation-category-frequencies-7b7d7bf5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
