- Wi-Fi + identity — credentials, device ID and owner, saved in
Preferences - Key registration — the device’s public key recorded against the account that owns it
Why the app is the supported path
Each device generates its own P-256 keypair on first boot. The private half is written to NVS and never leaves the chip — not in a log, not over the network, not to us. That is the whole point of the secure channel, and it is also what shapes onboarding:- The public key can only be obtained from the device itself
- The device only offers it during AP-mode provisioning
- Recording it requires a signed-in user who owns the device row
Hyperwisor app (Android)
Install the app, then add your device from it. This is the only onboarding
route supported for end users.
What begin() does
When you call device.begin(), the library:
- Loads or generates the device keypair (HSC)
- Tries to connect with saved Wi-Fi credentials
- Starts AP-mode if nothing is configured
- Sets up DNS + an HTTP provisioning page
- Initializes the realtime connection
- Loads
deviceid,ssid,email,productid, andversionidfrom storage - Registers default and user-provided command handlers
AP-mode provisioning (first boot)
If the device has no saved credentials it starts its own access point and serves a setup page:
The app joins that network and submits Wi-Fi and identity. The device replies
with an acknowledgment carrying its
device_id and public_key; the app reads
the key from that reply and registers it against your account. The device then
restarts and connects on its own from then on.
That acknowledgment is the only moment the public key is published — which is why
abandoning setup half-way leaves a device on Wi-Fi but unregistered.
Setting credentials from code
Registering a key without the app (development only)
Two options on the bench. Both need a user access token, which is why neither belongs in a shipped product: tokens expire, and a user’s session sitting on a device is a credential you cannot rotate. Read the key and register it yourself. Print it over serial, then call the endpoint with your own session:Reading identity at runtime
Next: API reference
Every method you can call on the device.

