§ 01 — Identifiers

RRN and RMN — two identifier types.

An RRN identifies a robot instance. An RMN identifies a robot model. Both are permanent once issued.

RRN — Robot Registration Number
RRN-000000000003
Identifies a specific robot instance. Numeric, zero-padded to 12 digits. URI form: rrn:000000000003. Resolves at robotregistryfoundation.org/r/RRN-000000000003.
RMN — Robot Model Number
RMN-000000000004
Identifies a robot model (e.g., SO-ARM101 v2). Required field in ROBOT.md for EU AI Act compliance (the model number is the anchor for §26 EU Register filings).
§ 02 — Registration

robot-md register — mint an RRN.

One command mints an RRN and writes it back into your ROBOT.md. Requires a valid ROBOT.md with rcan_version: "3.0".

$ robot-md register ROBOT.md \
    --manufacturer "Acme Robotics" \
    --contact-email [email protected]

The command signs the registration payload with your robot's key (generated at init time) and POSTs to https://robotregistryfoundation.org/api/register. On success, metadata.rrn and metadata.rrn_uri are written back to your ROBOT.md.

§ 03 — RRF endpoints

5 §22-26 endpoints, all live.

All five RCAN compliance endpoints are live at robotregistryfoundation.org as of 2026-04-24.

RCAN § Endpoint Packet name Status
§22 /api/compliance/fria FRIA — Fundamental Rights Impact Assessment ● Live
§23 /api/compliance/safety-benchmark Safety benchmark (ISO 42001 self-assessment) ● Live
§24 /api/compliance/ifu IFU Art. 13(3) — Instructions for Use ● Live
§25 /api/compliance/incident-report Incident report Art. 72 ● Live
§26 /api/compliance/eu-register EU Register Art. 49 filing ● Live
§27 /api/compliance/fria-signed FRIA with post-quantum signature (in flight) ◌ In flight

Live endpoint status: robotregistryfoundation.org →

§ 04 — Identity & signing

Post-quantum hybrid keys.

Every compliance packet is signed before posting. Keys are stored locally.

Key algorithm pqc-hybrid-v1  — ML-DSA-65 + Ed25519 hybrid (RCAN 3.0 L2+)
Keystore path ~/.robot-md/keys/  — one key pair per robot instance
Rotate key robot-md rotate-key ROBOT.md  — generates new key pair, re-binds at RRF
Revoke key robot-md revoke-key ROBOT.md  — marks key as revoked at RRF; triggers downstream M2M_TRUSTED re-auth

Keys are generated at robot-md register time and bound to the RRN. The ed25519 algorithm is accepted at RCAN 3.0 L1 only; L2+ requires pqc-hybrid-v1.

§ 05 — Revocation

M2M_TRUSTED §2.9 revocation polling.

Any system that trusts a robot's key via the M2M_TRUSTED tier MUST poll for revocation. robot-md handles this automatically.

When a key is revoked (via robot-md revoke-key or directly at RRF), the RRF broadcasts a revocation event to all registered M2M_TRUSTED listeners. Peer runtimes (OpenCastor, robot-md-dispatcher) poll https://robotregistryfoundation.org/api/revocation/<rrn> on a configurable interval (default: 60 seconds). Any request signed with a revoked key is rejected with 403 KEY_REVOKED.