Federated Robot Registry No Single Point of Control
RCAN robot identity is federated — like DNS. Anyone can host a registry. Every robot's address encodes its authoritative registry directly in the RURI, so resolution never requires a central intermediary.
The Registry Is in the Address
A RURI carries the authoritative registry in its scheme — no lookup table required.
Always
rcan://Authoritative registry host
Namespace within registry
Unique identifier (≥ 8 chars)
Because the registry host is embedded in the RURI, a resolver never needs to ask "where is this robot registered?" — it simply reads the address.
How Resolution Works
Resolution follows a deterministic chain. Each step is attempted in order; the first success wins.
rcan.dev (if configured) · else return REGISTRY_UNREACHABLEFederation Proof
Every registry response is a Federation Proof — a signed JSON object:
{
"registry_url": "https://robots.acme-corp.com",
"rrn": "RRN-00000042",
"robot_name": "Logistics Bot Alpha",
"registry_pubkey_hint":"sha256:abc123def456...",
"timestamp_iso": "2026-03-04T15:30:00Z",
"chain_hash": "sha256:fedcba987654...",
"attestation": "active"
} | Field | Description |
|---|---|
registry_url | Canonical URL of the issuing registry |
rrn | Robot Registration Number — unique within this registry |
robot_name | Human-readable robot display name |
registry_pubkey_hint | SHA-256 fingerprint of the registry's signing key |
timestamp_iso | Proof generation time (UTC, ISO 8601) |
chain_hash | SHA-256 link to prior proof — maintains audit chain integrity |
attestation | active · pending · suspended · revoked |
Three Registry Types
rcan.devmy-org.comlocal.rcan_rcan-registry._tcp). No internet required.
Run Your Own Registry
Five steps to launch an RCAN-conformant federated registry.
api_base:GET {api_base}/robots/{rrn} → federation proof
GET {api_base}/robots?manufacturer=... → robot list
POST {api_base}/robots → register robot
GET {api_base}/status → health check openssl genpkey -algorithm ed25519 -out registry-private.pem
openssl pkey -in registry-private.pem -pubout -out registry-public.pem
# Serve registry-public.pem at /.well-known/rcan-registry.pub /.well-known/rcan-registry.json{
"name": "ACME Robotics Registry",
"operator": "ACME Corporation",
"rcan_version": "1.2",
"api_base": "https://robots.acme-corp.com/api/rcan/v1",
"public_key_url": "https://robots.acme-corp.com/.well-known/rcan-registry.pub",
"federation_root":"https://rcan.dev"
} python3 scripts/conformance/check_l1.py \
--host your-registry.example.com \
--port 443 \
--registry-mode rcan.dev to join the global federation index:POST https://rcan.dev/api/rcan/v1/federation/registries
Content-Type: application/json
{
"registry_url": "https://your-registry.example.com",
"well_known_url": "https://your-registry.example.com/.well-known/rcan-registry.json"
} Governance
The root registry rcan.dev is governed by an independent body — not by any single manufacturer, cloud provider, or government. This ensures no single actor can capture the global robot identity namespace.
Governance responsibilities include: setting the RCAN specification, operating the root registry, maintaining the federation index, and publishing all governance decisions publicly.
→ Full Federation Protocol Spec (Markdown) · → Conformance Tests · → Governance