# Staking Rewards String Normalisation and Keyed Dataset Comparison

> Staking Rewards String Normalisation and Keyed Dataset Comparison is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-26).

Normalises strings and performs keyed comparison of two staking rewards datasets (reward_units, staked_units) for up to 200 rows, returning 2 analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-finance-15-036?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-26
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/staking-rewards-string-normalisation-and-keyed-dataset-comparison-cc1df375
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aia2ZfWMu-ra_AilIq7oJ

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 staking-rewards-string-normalisation-and-keyed-dataset-comparison-cc1df375 -d '<json body>'
```

Example prompt: I have two sets of staking reward records — each up to 200 rows with fields for row_id, instrument_group, date, reward_units, and staked_units — can you normalise the strings and compare them side by side to show me where the reward_units or staked_units differ?

## When to prefer this

Choose this endpoint when you need to reconcile or diff two batches of staking reward records (up to 200 rows each) using string normalisation and keyed row-level comparison, and you want a local analytical result with no external data fetching. Ideal for auditing, reconciliation, or pre-reporting validation of staking reward data where you already have both datasets available.

## Known failure modes

- Payload exceeds 200 rows — returns validation error
- Missing required fields (row_id, date, instrument_group, reward_units, staked_units) on any row — returns schema validation error
- Date not in YYYY-MM-DD format — returns pattern validation error
- row_id is empty or exceeds 80 characters — returns validation error
- Numeric values outside ±1,000,000,000,000 range — returns validation error
- Empty rows array — returns minItems validation error

## How this service works

Staking supplied rewards — String normalisation + Keyed dataset comparison: String normalisation + Keyed dataset comparison for supplied staking supplied rewards records (reward_units, staked_units). 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

Two analytical reports: (1) a string normalisation report standardising instrument_group and other string fields across rows, and (2) a keyed dataset comparison report mapping rows from both datasets by row_id to surface differences in reward_units and staked_units. Results are based entirely on the supplied data with no external lookups.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/staking-rewards-string-normalisation-and-keyed-dataset-comparison-cc1df375/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)
