Skip to Content
HardwareTransportChoose a transport
On this page

Choose a transport

Hardware SDK 1.2.x uses one JavaScript API. init({ env }) selects the transport, not Protocol V1 vs V2.

PlatformTransportPackageenvGuide
Browser / desktop WebUSBWebUSB@onekeyfe/hd-common-connect-sdkwebusbWebUSB
React NativeBLE@onekeyfe/hd-ble-sdk(BLE SDK default)React Native BLE
Android native hostBLE via low-level plugin@onekeyfe/hd-common-connect-sdklowlevelAndroid
iOS native hostBLE via low-level plugin@onekeyfe/hd-common-connect-sdklowleveliOS
Flutter hostBLE via low-level plugin@onekeyfe/hd-common-connect-sdklowlevelFlutter
Native BLE overviewBLE@onekeyfe/hd-common-connect-sdklowlevelNative BLE

USB requires a compatible device interface and firmware; validate connection and signing on your target platform. BLE is Pro, Pro 2, Neo, Touch, Classic 1s / Pure — not Mini. Air-Gap QR is a separate product path: Air-Gap.

Transport is not the protocol

LayerWhat it isHow you choose it
TransportHow bytes move: USB, BLE, or a native BLE plugininit({ env }) — webusb / BLE SDK / lowlevel
ProtocolOn-wire V1 vs V2 after the link is upSDK probe. Read connectProtocol. Do not infer from USB PID or BLE name

A Pro 2 on USB and a Pro 2 on BLE are both Protocol V2. A Classic on USB is Protocol V1. See Protocol V1 and V2 and Devices.

Do not use OneKey Bridge (env: 'web' + checkBridgeStatus) for new WebUSB apps. Migration: Bridge → WebUSB.

After you connect

  1. First address: Getting Started
  2. PIN / events: Core API Guide
  3. Drops and dispose(): Disconnects and reconnection
  4. Firmware: Firmware Update
  5. Custom BLE bridge: Low-level transport
Last updated on