Product / The digital twin

The vendor-neutral digital twin

Any BMS in. One twin out.

Rootd normalizes every vendor's telemetry into a single vendor-neutral digital twin — connectivity, state-of-health, and an estimated state-of-charge derived from SoH and the latest reading.

TWIN · PK-0421online
state_of_health90.4%derivedfrom charge/discharge history
connectivityonlinemodeledonline / stale / offline
est_state_of_charge~64%derivedf(SoH, latest reading)
cycle_count412measuredreported by BMS
last_reading8s agomeasuredingest timestamp
vendorneutralnormalizedany BMS, one schema

SoC is never stored as a peer of SoH — it is computed on read from SoH and the latest reading.

Vendor-neutralany BMS, one schema
Derivedintelligence, not a device
Modeledonline / stale / offline
Estimated SoCfrom SoH + latest reading

Normalization

Different dialects in. One clean schema out.

Every vendor speaks its own protocol. Rootd resolves units, gaps, and timing into a single twin your whole stack can read.

ANY BMS IN
Vendor A · CANraw BMS frames
Vendor B · MQTTraw BMS frames
Vendor C · RESTraw BMS frames
VENDOR-NEUTRAL TWIN
SoHconnectivityest. SoCcycles
LIVE TWIN · TENANT: NORTHWIND
onlinestaleoffline
PackConnectivityState of healthEst. SoCLast reading
SoC is estimated from SoH + latest reading — never stored as a peer field. Offline packs hold last-known twin state.

Connectivity is a modeled state — not an error. SoC is always shown as estimated, derived from SoH.

How the twin stays honest

Intelligence with its assumptions on the label.

Derived, not a device

The twin is intelligence computed from telemetry — not a second copy of the battery and not a thing you install. It exists because the data does.

Estimated state-of-charge

SoC is computed on read from SoH and the latest reading, and always labeled estimated. It is never stored as an independent peer field.

Modeled connectivity

Connectivity is a first-class state — online, stale, or offline. When a feed drops, the twin holds last-known state instead of silently disappearing.

One twin, three readers. Operators forecast inventory, riders get swap windows, and financiers read residual value — all from this single normalized signal. Rootd never favors a battery brand.

One vendor-neutral twin, fed by the BMS you already run.

Send us a sample feed — we'll show your batteries as one normalized twin.