# NOVA Data Transform

> NOVA Data Transform is a paid API for AI agents from nova-demand-worker.vercel.app, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-11).

Transforms rows of structured data using AI-assisted or deterministic rules, producing enriched output fields such as sentiment, classification, or custom annotations.

## Facts

- Endpoint: POST https://nova-demand-worker.vercel.app/x402/data-transform?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nova-data-transform-03046ec2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BPnRyQl54RGgLe1Q6MQH7

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 nova-data-transform-03046ec2 -d '<json body>'
```

Example prompt: Take these 50 customer complaint rows and transform them using AI — extract a 'sentiment' field (positive/negative/neutral) and a 'needsReview' boolean for each row, then flag any duplicates by the 'complaint' field.

## When to prefer this

Choose this endpoint when you need AI-assisted batch transformation, enrichment, or classification of structured data rows — especially when the transformation logic can be expressed as natural language instructions and you want computed output fields like sentiment, flags, or custom annotations. It is well-suited for pipelines that need both AI enrichment and deterministic duplicate detection in a single call, paid per-use via x402/USDC on Base without subscriptions.

## Known failure modes

- Rows array empty or exceeds 100-item limit — returns validation error
- Instructions field missing or ambiguous — AI may produce unexpected or incomplete output fields
- Output fields not achievable from row content — rows may return null or empty values for those fields
- Payment not fulfilled via x402 — request rejected with 402 Payment Required
- Malformed row objects — transformation may skip or error on unparseable entries
- Duplicate field names not present in rows — duplicate detection returns zero matches

## How this service works

Machine-facing pay-per-call utility services using x402 on Base with USDC.

## Output

Returns a JSON object with a mode indicator (e.g. 'ai-assisted'), an array of transformed rows each containing the original index and all requested output fields, a stats block with input/output row counts and duplicate row counts, and a review array listing rows flagged for human review with reasons.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "ai": {
   "type": "boolean"
  },
  "rows": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "maxItems": 100,
   "minItems": 1
  },
  "instructions": {
   "type": "string"
  },
  "outputFields": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 20,
   "minItems": 1
  },
  "duplicateFields": {
   "type": "array",
   "items": {
    "type": "string"
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "ai-assisted",
  "rows": [
   {
    "_index": 0,
    "complaint": "slow shipping",
    "sentiment": "negative",
    "needsReview": false,
    "reviewReasons": []
   }
  ],
  "stats": {
   "inputRows": 1,
   "outputRows": 1,
   "rowsNeedingReview": 0,
   "deterministicDuplicateRows": 0
  },
  "review": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nova-data-transform-03046ec2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nova-demand-worker.vercel.app](https://www.zero.xyz/host/nova-demand-worker.vercel.app/llms.txt)
