Devices

Connect the currently online devices owned by one authenticated principal

Device meshes are for products such as Plutonium where one signed-in user owns several installations.

const devices = await rtc.devices.start({
  auth,
  autoConnect: 'online',
});

const stop = devices.watch((event) => render(event));
const snapshot = await devices.listWithStatus();

OpenRTC preserves the durable device roster, but only live gateway presence makes an installation online. The SDK does not dial persisted offline devices merely because they remain known.

Each install owns an Ed25519 key. Browser keys are non-extractable WebCrypto keys when supported; native keys are held by the host secure-storage integration. Enrollment binds that key to the app-scoped principal and returns a renewable device certificate.

Identity or grant refresh for the same scope occurs in place. Presence is event-driven by socket connect, meaningful state changes, disconnect, or server expiry—there is no application heartbeat loop.

stop();
await devices.close();

Your product may impose a device-count limit. OpenRTC separately enforces manifest, budget, concurrency, and technical ceilings.