# RQM Compare Digital Twin Observations

> RQM Compare Digital Twin Observations is a paid API for AI agents from jobs.rqmtechnologies.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Compares digital-twin predicted output against mapped real-world observations using caller-supplied RMSE and absolute error tolerances

## Facts

- Endpoint: POST https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.compare-digital-twin-observations.v1
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rqm-compare-digital-twin-observations-85f60007
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gNKzjafx08WeLCNylaRMw

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 rqm-compare-digital-twin-observations-85f60007 -d '<json body>'
```

Example prompt: Compare my digital twin's predicted joint state time-series against the observed sensor readings — I have 500 predicted points and 500 observed points, each with 6 values, timestamped within a single cycle. Use identity mapping, and flag any failure if RMSE exceeds 0.05 or absolute error exceeds 0.1.

## When to prefer this

Use this endpoint when you need a bounded, auditable statistical comparison of digital-twin predicted outputs against real sensor observations within caller-defined error tolerances. Prefer it over general-purpose statistics libraries when you need a pay-per-call, schema-validated, robotics-aware comparison that enforces typed inputs and returns structured pass/fail verdicts. Do not use for physical safety certification, live hardware control, or when observations are not mapped via the supported identity mapping.

## Known failure modes

- Mismatched number of predicted vs observed points causing interpolation or alignment errors
- Timestamp values outside the 0–86400 second range rejected with validation error
- Values arrays with fewer than 1 or more than 12 elements rejected
- fewer than 2 points in predicted or observed arrays returns validation error
- RMSE or absolute error tolerance set to zero causing all comparisons to fail
- Identity mapping mismatch if dimensionality of predicted and observed values differs

## How this service works

Problem: Compare digital-twin output with mapped observations against caller tolerances. Input: JSON with predicted, observed, declared mapping, rules. Result: typed verdict, measured metrics, candidate only when verified. Limits: Software/model evidence only; 65536 request bytes; 5 s execution.

## Output

Returns a structured comparison result indicating whether the digital twin's predicted time-series satisfies the caller-supplied RMSE and absolute error tolerances against the observed data, along with computed error metrics (RMSE, max absolute error) and a pass/fail determination.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "request": {
   "type": "object",
   "title": "TwinCompareRequest",
   "required": [
    "predicted",
    "observed",
    "declared_mapping",
    "rules"
   ],
   "properties": {
    "rules": {
     "type": "object",
     "title": "Rules",
     "required": [
      "maximum_rmse",
      "maximum_absolute_error"
     ],
     "properties": {
      "maximum_rmse": {
       "type": "number",
       "title": "Maximum Rmse",
       "maximum": 1000000000,
       "minimum": 0
      },
      "maximum_absolute_error": {
       "type": "number",
       "title": "Maximum Absolute Error",
       "maximum": 1000000000,
       "minimum": 0
      }
     },
     "additionalProperties": false
    },
    "observed": {
     "type": "array",
     "items": {
      "type": "object",
      "title": "Point",
      "required": [
       "timestamp_s",
       "values"
      ],
      "properties": {
       "values": {
        "type": "array",
        "items": {
         "type": "number"
        },
        "title": "Values",
        "maxItems": 12,
        "minItems": 1
       },
       "timestamp_s": {
        "type": "number",
        "title": "Timestamp S",
        "maximum": 86400,
        "minimum": 0
       }
      },
      "additionalProperties": false
     },
     "title": "Observed",
     "maxItems": 4096,
     "minItems": 2
    },
    "predicted": {
     "type": "array",
     "items": {
      "type": "object",
      "title": "Point",
      "required": [
       "timestamp_s",
       "values"
      ],
      "properties": {
       "values": {
        "type": "array",
        "items": {
         "type": "number"
        },
        "title": "Values",
        "maxItems": 12,
        "minItems": 1
       },
       "timestamp_s": {
        "type": "number",
        "title": "Timestamp S",
        "maximum": 86400,
        "minimum": 0
       }
      },
      "additionalProperties": false
     },
     "title": "Predicted",
     "maxItems": 4096,
     "minItems": 2
    },
    "field_scale": {
     "type": "array",
     "items": {
      "type": "number"
     },
     "title": "Field Scale",
     "maxItems": 12
    },
    "field_offset": {
     "type": "array",
     "items": {
      "type": "number"
     },
     "title": "Field Offset",
     "maxItems": 12
    },
    "observed_unit": {
     "type": "string",
     "title": "Observed Unit",
     "default": "declared",
     "maxLength": 32,
     "minLength": 1
    },
    "observed_frame": {
     "type":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rqm-compare-digital-twin-observations-85f60007/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from jobs.rqmtechnologies.com](https://www.zero.xyz/host/jobs.rqmtechnologies.com/llms.txt)
