MTPROTO v1.2

MTPROTO

Measurement & Traceability Protocol

An open, vendor-neutral exchange format for calibration certificates, measurement results and the traceability chains that connect them. One record format, readable by a laboratory information system, a test bench, or a person.

1.2 — current published 2026-04-14 CC BY 4.0 JSON · CBOR

The problem

A calibration certificate is a structured document that is almost always exchanged as an unstructured one. Values, units, uncertainties and the identity of the reference standard are printed onto a PDF, scanned at the receiving end, and typed back into a database by hand. The traceability chain — the thing the certificate exists to prove — is reconstructed from human-readable references, one hop at a time.

MTPROTO defines a small, stable record that carries the same information in machine-readable form, together with the cryptographic material needed to verify who issued it. It does not replace accreditation, reporting templates or national regulation; it replaces retyping.

At a glance

Self-describing quantities

Every value carries its unit, its standard uncertainty, the coverage factor and the distribution assumed. Nothing is implied by column position.

Explicit traceability

A record names the reference standard used and the identifier of that standard's own certificate, so a chain can be walked automatically to its national anchor.

Transport-agnostic

Records are files. Move them over HTTPS, a message bus, a USB stick or an email attachment — the format makes no assumption about how it travels.

Verifiable

Detached Ed25519 signatures over a canonical serialisation, so a record stays verifiable after it has been reformatted, re-indented or round-tripped.

Small surface

Nine required fields. The whole specification is roughly thirty pages, and a conforming validator is a weekend of work.

Backward compatible

Unknown members are preserved, not rejected. A 1.0 consumer reads a 1.2 record and ignores what it does not understand.

A record

The example below is a complete, conforming MTPROTO 1.2 record for a single-point gauge block calibration. The traceable_to member is what turns a pile of certificates into a chain.

example.mtproto.json
{
  "mtproto": "1.2",
  "record_id": "urn:mtproto:9f2a1c84-5d10-4b6e-a7f3-0c2e11d84b90",
  "issued": "2026-03-02T09:41:00Z",
  "issuer": {
    "name": "Calibration laboratory (issuer name)",
    "key_id": "mtp:ed25519:8Qf3…c1a7"
  },
  "item": {
    "description": "Gauge block, steel, nominal 25 mm",
    "identifier": "GB-25-004182"
  },
  "conditions": {
    "temperature": { "value": 20.1, "unit": "Cel", "u": 0.15, "k": 2 },
    "humidity":    { "value": 44.0, "unit": "%",   "u": 3.0,  "k": 2 }
  },
  "results": [
    {
      "quantity": "length.deviation",
      "value": -0.12,
      "unit": "um",
      "u": 0.045,
      "k": 2,
      "distribution": "normal",
      "method": "mechanical comparison"
    }
  ],
  "traceable_to": [
    {
      "standard": "Gauge block set, reference grade K",
      "certificate": "urn:mtproto:4c81b0e2-77aa-41d9-9f0c-6b3d2a5e7181"
    }
  ],
  "valid_until": "2027-03-02"
}

Units. MTPROTO uses UCUM codes rather than free text, so um, Cel and N.m mean exactly one thing to a parser. Section 4 of the specification covers the small number of cases where a UCUM code alone is not sufficient.

Tooling

The working group maintains a reference validator and keeps the schema files under the same versioning policy as the specification text. Everything below is published under the MIT licence; the specification text itself is CC BY 4.0.

ArtefactWhat it doesStatus
mtp-validate Reference validator. Checks schema conformance, canonical form and signatures. 1.2.0
mtp-core Reading, writing and canonicalisation library. 1.2.1
mtp-chain Resolves and walks a traceability chain from a starting record. 0.6.0 (preview)
mtproto-1.2.schema.json JSON Schema for the 1.2 record. Normative for the JSON serialisation. published

Status

Version 1.2 is the current stable release and the one new implementations should target. Work on 1.3 is open: the two active items are a compact profile for streaming instrument data and a resolution mechanism for chains that cross organisational boundaries.

The working group is open. Discussion happens on a public mailing list, and the review period for any normative change is at least sixty days — see Contact.