# RQM Compare State Estimators

> RQM Compare State Estimators 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 multiple bounded state estimator outputs against a reference trajectory using configurable error metric rules (RMSE, MAE, max absolute error) and returns pass/fail results per estimator.

## Facts

- Endpoint: POST https://jobs.rqmtechnologies.com/x402/buyer-jobs/robotics.compare-state-estimators.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-state-estimators-62487c30
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mOb_WltlBPLZab1oWPPGz

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-state-estimators-62487c30 -d '<json body>'
```

Example prompt: Compare these two state estimator outputs against my reference data — both have up to 4096 timestamped samples with 6-dimensional state vectors — and tell me which ones pass RMSE below 0.05 and maximum absolute error below 0.2.

## When to prefer this

Use this endpoint when you need a rigorous, rule-bound quantitative comparison of multiple state estimator outputs against a known reference, with explicit pass/fail thresholds on specific error metrics. Prefer it over manual computation when you have up to 8 estimators and need consistent, reproducible scoring with bounded input sizes. Do not use it as a general estimator-quality oracle without a reference dataset, or for comparing estimators on qualitative or subjective criteria.

## Known failure modes

- Missing or malformed reference array (fewer than 2 samples)
- Estimator sample count below minimum (fewer than 2 samples)
- Fewer than 2 estimators supplied
- Metric rules array empty or exceeds 3 rules
- Timestamp values outside allowed range 0–86400
- State vector dimension mismatch between reference and estimator samples
- Invalid estimator_id format (must match alphanumeric pattern)
- Payment failure or insufficient USDC balance
- Idempotency key format violation

## How this service works

Problem: Compare these bounded estimator outputs against the supplied reference and objective rules. Input: JSON with reference, estimators, rules. Result: per-estimator metrics, rule verdicts, deterministic selected estimator or.... Limits: Software/model evidence only; 65536 request bytes; 5 s execution.

## Output

Returns per-estimator comparison results including computed metric values (RMSE, mean absolute error, maximum absolute error as requested) and a pass/fail determination against each supplied rule. Results are aligned to the reference timestamps and bounded by the supplied metric limits.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "request": {
   "type": "object",
   "title": "EstimatorComparisonRequest",
   "required": [
    "reference",
    "estimators",
    "rules"
   ],
   "properties": {
    "rules": {
     "type": "array",
     "items": {
      "type": "object",
      "title": "MetricRule",
      "required": [
       "metric",
       "maximum"
      ],
      "properties": {
       "metric": {
        "enum": [
         "rmse",
         "maximum_absolute_error",
         "mean_absolute_error"
        ],
        "type": "string",
        "title": "Metric"
       },
       "maximum": {
        "type": "number",
        "title": "Maximum",
        "maximum": 1000000000000,
        "minimum": 0
       }
      },
      "additionalProperties": false
     },
     "title": "Rules",
     "maxItems": 3,
     "minItems": 1
    },
    "reference": {
     "type": "array",
     "items": {
      "type": "object",
      "title": "TimedVector",
      "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": "Reference",
     "maxItems": 4096,
     "minItems": 2
    },
    "estimators": {
     "type": "array",
     "items": {
      "type": "object",
      "title": "EstimatorOutput",
      "required": [
       "estimator_id",
       "samples"
      ],
      "properties": {
       "samples": {
        "type": "array",
        "items": {
         "type": "object",
         "title": "TimedVector",
         "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": "Samples",
        "maxItems": 4096,
        "minItems": 2
       },
       "estimator_id": {
        "type": "string",
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rqm-compare-state-estimators-62487c30/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)
