Skip to Content
HardwareConceptsDevices
On this page

Devices

Hardware SDK 1.2.0 supports two protocol families on one public API. Pick the device constraints here; keep calling the same methods.

DeviceCodeProtocolUSBBLEAir-Gap (QR)
OneKey ClassicclassicV1YesYesNo
OneKey Classic 1sclassic1sV1YesYesNo
OneKey Classic 1s PureclassicpureV1YesYesNo
OneKey MiniminiV1YesNoNo
OneKey TouchtouchV1YesYesNo
OneKey ProproV1YesYesYes
OneKey Pro 2pro2V2YesYesYes
OneKey NeoneoV2YesYesNo (no camera)

The SDK reports the connected protocol on the device object as connectProtocol ('V1' or 'V2'). That value is the result of a live probe, not a lookup from the model name.

What you should do with the model

  • Use model for capability and UX: Mini has no BLE, Neo has no QR Air-Gap, Pro / Pro 2 can do Air-Gap.
  • Do not use the model name to decide Protocol V1 vs V2. Read the protocol confirmed by the active connection.
  • Firmware update API follows the protocol family: Pro uses firmwareUpdateV3; Pro 2 / Neo use firmwareUpdateV4.

Integrator checklist

  1. Cache connectId per transport. USB and BLE IDs for the same unit are different.
  2. Refresh deviceId after wipe / recovery. See Identifiers.
  3. Serialize calls per device. Keep input and signing flows serialized so prompts and results stay associated with their operation.
  4. Never replay a firmware update, wipe, or other side-effecting call after a transport error.

See also: Chain Support · Protocol V1 and V2 · Wallet Sessions

Last updated on