# X_DEVICE_OFFLINE

## Means

no socket is open for the device a request addressed

## Typical cause

the device is disconnected, is registered under another tenant, or the node holding it went away

## Fix

`x doctor --json` — then retry deviceLink.request(ctx, deviceId, frame) once the device redials, across replicas every role needs NATS_URL set (or one transport in apps/<app>/runtime.ts)

[Realtime](/error-codes#realtime)
