RQM Relay

Published registry snapshot. Checking the current listing…

← Find services

Run through Relay · mcp / x402

Frame and convention validation

Validate this bounded frame graph and report unit, axis, handedness, rotation, and transform-direction violations.

RQM-operated service.

Version: 1.0.0 · Registry observed: 2026-08-23T20:01:22.843Z · current

Price and connection

0.010000 USD per request, provider price. Supported Relay purchases add max(0.002 USDC, 5% of provider price). Your fresh quote supplies the exact total.

Authentication: x402 payment for purchases; discovery is free. Never paste keys into this website.

Provider documentation →

View example and get a quote

Inputs and outputs

Input contract
{
  "$defs": {
    "CoordinateFrame": {
      "additionalProperties": false,
      "properties": {
        "frame_id": {
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]{0,63}$",
          "title": "Frame Id",
          "type": "string"
        },
        "parent_frame_id": {
          "anyOf": [
            {
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]{0,63}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Parent Frame Id"
        },
        "translation": {
          "$ref": "#/$defs/Translation"
        },
        "rotation": {
          "discriminator": {
            "mapping": {
              "matrix": "#/$defs/MatrixRotation",
              "quaternion": "#/$defs/QuaternionRotation"
            },
            "propertyName": "kind"
          },
          "oneOf": [
            {
              "$ref": "#/$defs/QuaternionRotation"
            },
            {
              "$ref": "#/$defs/MatrixRotation"
            }
          ],
          "title": "Rotation"
        },
        "transform_direction": {
          "enum": [
            "parent_to_child",
            "child_to_parent"
          ],
          "title": "Transform Direction",
          "type": "string"
        },
        "rotation_semantics": {
          "enum": [
            "active",
            "passive"
          ],
          "title": "Rotation Semantics",
          "type": "string"
        },
        "handedness": {
          "enum": [
            "right",
            "left"
          ],
          "title": "Handedness",
          "type": "string"
        },
        "axis_convention": {
          "enum": [
            "ENU",
            "NED",
            "NWU",
            "FLU",
            "FRD"
          ],
          "title": "Axis Convention",
          "type": "string"
        }
      },
      "required": [
        "frame_id",
        "translation",
        "rotation",
        "transform_direction",
        "rotation_semantics",
        "handedness",
        "axis_convention"
      ],
      "title": "CoordinateFrame",
      "type": "object"
    },
    "MatrixRotation": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "matrix",
          "default": "matrix",
          "title": "Kind",
          "type": "string"
        },
        "values": {
          "maxItems": 3,
          "minItems": 3,
          "prefixItems": [
            {
              "maxItems": 3,
              "minItems": 3,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "type": "array"
            },
            {
              "maxItems": 3,
              "minItems": 3,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "type": "array"
            },
            {
              "maxItems": 3,
              "minItems": 3,
              "prefixItems": [
                {
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ],
              "type": "array"
            }
          ],
          "title": "Values",
          "type": "array"
        }
      },
      "required": [
        "values"
      ],
      "title": "MatrixRotation",
      "type": "object"
    },
    "QuaternionRotation": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "quaternion",
          "default": "quaternion",
          "title": "Kind",
          "type": "string"
        },
        "values": {
          "maxItems": 4,
          "minItems": 4,
          "prefixItems": [
            {
              "type": "number"
            },
            {
              "type": "number"
            },
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ],
          "title": "Values",
          "type": "array"
        },
        "order": {
          "enum": [
            "wxyz",
            "xyzw"
          ],
          "title": "Order",
          "type": "string"
        }
      },
      "required": [
        "values",
        "order"
      ],
      "title": "QuaternionRotation",
      "type": "object"
    },
    "Tolerances": {
      "additionalProperties": false,
      "properties": {
        "quaternion_norm": {
          "default": 0.000001,
          "maximum": 0.01,
          "minimum": 1e-12,
          "title": "Quaternion Norm",
          "type": "number"
        },
        "matrix_orthogonality": {
          "default": 1e-8,
          "maximum": 0.01,
          "minimum": 1e-12,
          "title": "Matrix Orthogonality",
          "type": "number"
        },
        "matrix_determinant": {
          "default": 1e-8,
          "maximum": 0.01,
          "minimum": 1e-12,
          "title": "Matrix Determinant",
          "type": "number"
        }
      },
      "title": "Tolerances",
      "type": "object"
    },
    "Translation": {
      "additionalProperties": false,
      "properties": {
        "values": {
          "maxItems": 3,
          "minItems": 3,
          "prefixItems": [
            {
              "type": "number"
            },
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ],
          "title": "Values",
          "type": "array"
        },
        "unit": {
          "enum": [
            "m",
            "cm",
            "mm"
          ],
          "title": "Unit",
          "type": "string"
        }
      },
      "required": [
        "values",
        "unit"
      ],
      "title": "Translation",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "schema_version": {
      "const": "rqm.robotics.frame-convention-validation-request.v1",
      "default": "rqm.robotics.frame-convention-validation-request.v1",
      "title": "Schema Version",
      "type": "string"
    },
    "frames": {
      "items": {
        "$ref": "#/$defs/CoordinateFrame"
      },
      "maxItems": 64,
      "minItems": 1,
      "title": "Frames",
      "type": "array"
    },
    "declared_length_unit": {
      "enum": [
        "m",
        "cm",
        "mm"
      ],
      "title": "Declared Length Unit",
      "type": "string"
    },
    "declared_transform_direction": {
      "enum": [
        "parent_to_child",
        "child_to_parent"
      ],
      "title": "Declared Transform Direction",
      "type": "string"
    },
    "declared_rotation_semantics": {
      "enum": [
        "active",
        "passive"
      ],
      "title": "Declared Rotation Semantics",
      "type": "string"
    },
    "declared_handedness": {
      "enum": [
        "right",
        "left"
      ],
      "title": "Declared Handedness",
      "type": "string"
    },
    "declared_axis_convention": {
      "enum": [
        "ENU",
        "NED",
        "NWU",
        "FLU",
        "FRD"
      ],
      "title": "Declared Axis Convention",
      "type": "string"
    },
    "tolerances": {
      "$ref": "#/$defs/Tolerances"
    }
  },
  "required": [
    "frames",
    "declared_length_unit",
    "declared_transform_direction",
    "declared_rotation_semantics",
    "declared_handedness",
    "declared_axis_convention"
  ],
  "title": "FrameConventionValidationRequest",
  "type": "object"
}
Output contract
{
  "$defs": {
    "ConventionSummary": {
      "additionalProperties": false,
      "properties": {
        "length_unit": {
          "enum": [
            "m",
            "cm",
            "mm"
          ],
          "title": "Length Unit",
          "type": "string"
        },
        "transform_direction": {
          "enum": [
            "parent_to_child",
            "child_to_parent"
          ],
          "title": "Transform Direction",
          "type": "string"
        },
        "rotation_semantics": {
          "enum": [
            "active",
            "passive"
          ],
          "title": "Rotation Semantics",
          "type": "string"
        },
        "handedness": {
          "enum": [
            "right",
            "left"
          ],
          "title": "Handedness",
          "type": "string"
        },
        "axis_convention": {
          "enum": [
            "ENU",
            "NED",
            "NWU",
            "FLU",
            "FRD"
          ],
          "title": "Axis Convention",
          "type": "string"
        },
        "frame_count": {
          "maximum": 64,
          "minimum": 1,
          "title": "Frame Count",
          "type": "integer"
        },
        "root_frame_ids": {
          "items": {
            "type": "string"
          },
          "maxItems": 64,
          "title": "Root Frame Ids",
          "type": "array"
        }
      },
      "required": [
        "length_unit",
        "transform_direction",
        "rotation_semantics",
        "handedness",
        "axis_convention",
        "frame_count",
        "root_frame_ids"
      ],
      "title": "ConventionSummary",
      "type": "object"
    },
    "EvidenceEnvelope": {
      "additionalProperties": false,
      "properties": {
        "schema_version": {
          "const": "rqm.robotics.frame-validation-evidence.v1",
          "default": "rqm.robotics.frame-validation-evidence.v1",
          "title": "Schema Version",
          "type": "string"
        },
        "capability_id": {
          "const": "frame-convention-validation-v1",
          "default": "frame-convention-validation-v1",
          "title": "Capability Id",
          "type": "string"
        },
        "evidence_record": {
          "const": "robotics-frame-validation-v0.1",
          "default": "robotics-frame-validation-v0.1",
          "title": "Evidence Record",
          "type": "string"
        },
        "evidence_revision": {
          "const": "1",
          "default": "1",
          "title": "Evidence Revision",
          "type": "string"
        },
        "evidence_verdict": {
          "const": "functional_local_validation",
          "default": "functional_local_validation",
          "title": "Evidence Verdict",
          "type": "string"
        },
        "request_hash": {
          "pattern": "^[0-9a-f]{64}$",
          "title": "Request Hash",
          "type": "string"
        },
        "catalog_digest": {
          "pattern": "^[0-9a-f]{64}$",
          "title": "Catalog Digest",
          "type": "string"
        },
        "constraints": {
          "items": {
            "type": "string"
          },
          "maxItems": 16,
          "title": "Constraints",
          "type": "array"
        }
      },
      "required": [
        "request_hash",
        "catalog_digest",
        "constraints"
      ],
      "title": "EvidenceEnvelope",
      "type": "object"
    },
    "Finding": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "enum": [
            "DUPLICATE_FRAME_ID",
            "MISSING_PARENT",
            "SELF_PARENT",
            "FRAME_CYCLE",
            "DISCONNECTED_GRAPH",
            "NONFINITE_VALUE",
            "UNSUPPORTED_UNIT",
            "UNSUPPORTED_CONVENTION",
            "AMBIGUOUS_QUATERNION_ORDER",
            "INVALID_QUATERNION_NORM",
            "NON_ORTHONORMAL_ROTATION",
            "IMPROPER_ROTATION",
            "HANDEDNESS_MISMATCH",
            "TRANSFORM_DIRECTION_MISMATCH",
            "ROTATION_SEMANTICS_MISMATCH",
            "UNIT_MISMATCH"
          ],
          "title": "Code",
          "type": "string"
        },
        "severity": {
          "enum": [
            "error",
            "warning"
          ],
          "title": "Severity",
          "type": "string"
        },
        "json_paths": {
          "items": {
            "type": "string"
          },
          "maxItems": 16,
          "title": "Json Paths",
          "type": "array"
        },
        "frame_ids": {
          "items": {
            "type": "string"
          },
          "maxItems": 64,
          "title": "Frame Ids",
          "type": "array"
        },
        "measured_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Measured Value"
        },
        "applied_tolerance": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Applied Tolerance"
        },
        "explanation": {
          "maxLength": 512,
          "title": "Explanation",
          "type": "string"
        },
        "corrective_recommendation": {
          "maxLength": 512,
          "title": "Corrective Recommendation",
          "type": "string"
        }
      },
      "required": [
        "code",
        "severity",
        "json_paths",
        "frame_ids",
        "explanation",
        "corrective_recommendation"
      ],
      "title": "Finding",
      "type": "object"
    },
    "InlineArtifact": {
      "additionalProperties": false,
      "properties": {
        "artifact_id": {
          "maxLength": 128,
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "media_type": {
          "const": "application/json",
          "default": "application/json",
          "title": "Media Type",
          "type": "string"
        },
        "delivery": {
          "const": "inline",
          "default": "inline",
          "title": "Delivery",
          "type": "string"
        },
        "byte_length": {
          "maximum": 131072,
          "minimum": 1,
          "title": "Byte Length",
          "type": "integer"
        },
        "sha256": {
          "pattern": "^[0-9a-f]{64}$",
          "title": "Sha256",
          "type": "string"
        },
        "content": {
          "additionalProperties": true,
          "title": "Content",
          "type": "object"
        }
      },
      "required": [
        "artifact_id",
        "byte_length",
        "sha256",
        "content"
      ],
      "title": "InlineArtifact",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "schema_version": {
      "const": "rqm.robotics.frame-convention-validation-result.v1",
      "default": "rqm.robotics.frame-convention-validation-result.v1",
      "title": "Schema Version",
      "type": "string"
    },
    "verdict": {
      "enum": [
        "pass",
        "fail",
        "unsupported"
      ],
      "title": "Verdict",
      "type": "string"
    },
    "normalized_convention": {
      "$ref": "#/$defs/ConventionSummary"
    },
    "findings": {
      "items": {
        "$ref": "#/$defs/Finding"
      },
      "maxItems": 256,
      "title": "Findings",
      "type": "array"
    },
    "normalization_applied": {
      "items": {
        "type": "string"
      },
      "maxItems": 64,
      "title": "Normalization Applied",
      "type": "array"
    },
    "claim_boundary": {
      "maxLength": 1024,
      "title": "Claim Boundary",
      "type": "string"
    },
    "evidence": {
      "$ref": "#/$defs/EvidenceEnvelope"
    },
    "artifact": {
      "anyOf": [
        {
          "$ref": "#/$defs/InlineArtifact"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "verdict",
    "normalized_convention",
    "findings",
    "normalization_applied",
    "claim_boundary",
    "evidence"
  ],
  "title": "FrameConventionValidationResult",
  "type": "object"
}

Registry source · Buyer instructions and recovery · Public support