# IndexedDB Cursor Key-Range Update Transaction Replayer

> IndexedDB Cursor Key-Range Update Transaction Replayer is a paid API for AI agents from detect.halowerk.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-11-04).

Replays and validates IndexedDB cursor transactions including key-range scans, object store index operations, and transactional updates against a bounded artifact ledger.

## Facts

- Endpoint: POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-17/indexeddb202610-objectstore-index-cursor-key-range-update-transaction-ledger?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/indexeddb-cursor-key-range-update-transaction-replayer-bf99dac2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4YnORGa3xstY9noIl-U4n

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 indexeddb-cursor-key-range-update-transaction-replayer-bf99dac2 -d '<json body>'
```

Example prompt: Replay this IndexedDB cursor transaction for me: the object store has indexes named 'userid' (unique) and 'created' (non-unique, multi-entry), initial records with string keys like 'abc' and number keys, and I want to run a key-range update transaction without aborting — give me back the resulting ledger state.

## When to prefer this

Choose this endpoint when you need deterministic, sandboxed replay and validation of IndexedDB cursor transactions — particularly for web platform conformance testing, browser storage engine verification, or fixture-driven test harness scenarios. It is distinct from live browser IndexedDB APIs because it operates offline against a bounded artifact ledger, making it ideal for CI pipelines and automated correctness checks.

## Known failure modes

- Invalid key type or value out of allowed range returns a schema validation error
- Key pattern contains non-hex characters for binary type causing rejection
- Index or field names contain characters outside lowercase a-z causing validation failure
- Array key exceeds maxItems of 8 causing rejection
- Payload or string values exceed maxLength constraints returning an error
- Malformed artifact structure with missing required properties returns 400
- Transaction replay produces unexpected state divergence from fixture

## How this service works

Replay IndexedDB cursor transactions.

## Output

Returns the replayed transaction ledger state including final record values, cursor positions after traversal, index states, and whether the transaction committed or aborted — allowing the caller to verify correctness of IndexedDB cursor update behavior against expected outcomes.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "artifact": {
   "type": "object",
   "$defs": {
    "key": {
     "type": "object",
     "anyOf": [
      {
       "properties": {
        "type": {
         "const": "number"
        },
        "value": {
         "type": "number",
         "maximum": 1000000000,
         "minimum": -1000000000
        }
       }
      },
      {
       "properties": {
        "type": {
         "const": "date"
        },
        "value": {
         "type": "integer",
         "maximum": 1000000000000,
         "minimum": -1000000000000
        }
       }
      },
      {
       "properties": {
        "type": {
         "const": "string"
        },
        "value": {
         "type": "string",
         "maxLength": 32
        }
       }
      },
      {
       "properties": {
        "type": {
         "const": "binary"
        },
        "value": {
         "not": {
          "pattern": "[^0-9a-f]"
         },
         "type": "string",
         "pattern": "^(?:[0-9a-f]{2})*$",
         "maxLength": 32
        }
       }
      },
      {
       "properties": {
        "type": {
         "const": "array"
        },
        "value": {
         "type": "array",
         "items": {
          "$ref": "#/properties/input/properties/body/properties/artifact/%24defs/key"
         },
         "maxItems": 8
        }
       }
      }
     ],
     "properties": {
      "type": {},
      "value": {}
     },
     "minProperties": 2,
     "additionalProperties": false
    },
    "value": {
     "type": "object",
     "properties": {
      "fields": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "key": {
          "$ref": "#/properties/input/properties/body/properties/artifact/%24defs/key"
         },
         "name": {
          "not": {
           "pattern": "[^a-z]"
          },
          "type": "string",
          "pattern": "^[a-z]{1,8}$",
          "maxLength": 8,
          "minLength": 1
         }
        },
        "minProperties": 2,
        "additionalProperties": false
       },
       "maxItems": 3
      },
      "payload": {
       "type": "string",
       "maxLength": 32
      }
     },
     "minProperties": 2,
     "additionalProperties": false
    }
   },
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "properties": {
    "indexedCursor": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "properties": {
        
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/indexeddb-cursor-key-range-update-transaction-replayer-bf99dac2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from detect.halowerk.com](https://www.zero.xyz/host/detect.halowerk.com/llms.txt)
