# @ledgerhq/hw-transport-web-ble

> Ledger Hardware Wallet Web Bluetooth implementation of the communication layer

Latest version **6.35.0** (published 2026-06-30) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @ledgerhq/hw-transport-web-ble
pnpm add @ledgerhq/hw-transport-web-ble
yarn add @ledgerhq/hw-transport-web-ble
bun add @ledgerhq/hw-transport-web-ble
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 6.35.0 |
| Published | 2026-06-30 |
| First published | 2018-12-11 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 5 |
| Unpacked size | 150.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 620 |
| Maintainers | phenry-ledger, sergii-shkolin, gbrahm-ledger, thomas.coudray, ldg-github-ci, vbouzon, ledger-releaser |
| Keywords | Ledger, LedgerWallet, bluetooth, ble, NanoS, Blue, Hardware Wallet |

## Links

- npm: https://www.npmjs.com/package/@ledgerhq/hw-transport-web-ble
- Repository: https://github.com/LedgerHQ/ledger-live
- Homepage: https://github.com/LedgerHQ/ledger-live/tree/develop/libs/ledgerjs/packages/hw-transport-web-ble
- Issues: https://github.com/LedgerHQ/ledger-live/issues
- npm.io page: https://npm.io/package/@ledgerhq/hw-transport-web-ble

## Dependencies (5)

- [rxjs](https://npm.io/package/rxjs.md) 7.8.2
- [@ledgerhq/logs](https://npm.io/package/@ledgerhq/logs.md) ^6.17.0
- [@ledgerhq/errors](https://npm.io/package/@ledgerhq/errors.md) ^6.37.0
- [@ledgerhq/devices](https://npm.io/package/@ledgerhq/devices.md) 8.16.0
- [@ledgerhq/hw-transport](https://npm.io/package/@ledgerhq/hw-transport.md) 6.35.5

## Alternatives

- [@lexical/table](https://npm.io/package/@lexical/table.md) — 3.0M weekly downloads
- [mantine-datatable](https://npm.io/package/mantine-datatable.md) — 98.2K weekly downloads
- [react-native-collapsible-tab-view](https://npm.io/package/react-native-collapsible-tab-view.md) — 70.6K weekly downloads
- [@handsontable/vue3](https://npm.io/package/@handsontable/vue3.md) — 16.1K weekly downloads
- [vuewordcloud](https://npm.io/package/vuewordcloud.md) — 7.2K weekly downloads

## Recent versions

- 6.35.0 (latest) — 2026-06-30
- 6.34.5-nightly.20260630030734 (nightly) — 2026-06-30
- 6.29.7-next.0 (next) — 2025-06-17
- 6.29.2-hotfix.0 (hotfix) — 2024-07-22
- 6.29.0-windows-certificate.0 (windows-certificate) — 2024-05-28
- 6.28.4-new-wc.0 (new-wc) — 2024-02-20
- 6.28.4-new-wc-test.0 (new-wc-test) — 2024-02-20
- 6.28.4-wc-test.0 (wc-test) — 2024-02-14
- 6.28.3-start-exchange.0 (start-exchange) — 2024-01-31
- 6.28.2-custom-exchange.0 (custom-exchange) — 2024-01-09
- 6.27.20-tag-word.0 (tag-word) — 2023-10-25
- 6.27.16-notarizer.0 (notarizer) — 2023-06-22
- 6.27.13-recover-beta.0 (recover-beta) — 2023-04-01
- 6.27.13-recover-simu.0 (recover-simu) — 2023-03-24
- 6.27.13-recover-staging.0 (recover-staging) — 2023-03-22
- … 449 more at https://npm.io/package/@ledgerhq/hw-transport-web-ble/versions

## README

<img src="https://user-images.githubusercontent.com/4631227/191834116-59cf590e-25cc-4956-ae5c-812ea464f324.png" height="100" />

[GitHub](https://github.com/LedgerHQ/ledger-live/),
[Ledger Devs Discord](https://developers.ledger.com/discord-pro),
[Developer Portal](https://developers.ledger.com/)

## @ledgerhq/hw-transport-web-ble

Allows to communicate with Ledger Hardware Wallets.

**[Web]** **(Bluetooth)** – [check browser support](https://caniuse.com/web-bluetooth).

---

## Are you adding Ledger support to your software wallet?

You may be using this package to open a Bluetooth connection between your web application and the device.

For a smooth and quick integration:

- See the developers’ documentation on the [Developer Portal](https://developers.ledger.com/docs/transport/overview/) and
- Go on [Discord](https://developers.ledger.com/discord-pro/) to chat with developer support and the developer community.

---

## API

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

#### Table of Contents

-   [BluetoothTransport](#bluetoothtransport)
    -   [Parameters](#parameters)
    -   [Examples](#examples)
    -   [exchange](#exchange)
        -   [Parameters](#parameters-1)
    -   [observeAvailability](#observeavailability)
        -   [Parameters](#parameters-2)
    -   [listen](#listen)
        -   [Parameters](#parameters-3)
    -   [open](#open)
        -   [Parameters](#parameters-4)
    -   [disconnect](#disconnect)
        -   [Parameters](#parameters-5)

### BluetoothTransport

**Extends Transport**

react-native bluetooth BLE implementation

#### Parameters

-   `device` **Device** 
-   `writeCharacteristic` **Characteristic** 
-   `notifyObservable` **Observable&lt;any>** 
-   `deviceModel` **DeviceModel** 

#### Examples

```javascript
import BluetoothTransport from "@ledgerhq/hw-transport-web-ble";
```

#### exchange

Exchange with the device using APDU protocol.

##### Parameters

-   `apdu` **[Buffer](https://nodejs.org/api/buffer.html)** 

Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Buffer](https://nodejs.org/api/buffer.html)>** a promise of apdu response

#### observeAvailability

observe event with { available: bool, type: string }
(available is generic, type is specific)
an event is emit once and then each time it changes

##### Parameters

-   `observer` **any** 

#### listen

Scan for Ledger Bluetooth devices.
On this web implementation, it only emits ONE device, the one that was selected in the UI (if any).

##### Parameters

-   `observer` **any** 

#### open

open a bluetooth device.

##### Parameters

-   `deviceOrId` **(Device | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 

#### disconnect

globally disconnect a bluetooth device by its id.

##### Parameters

-   `id` **any**

---
_Source: https://npm.io/package/@ledgerhq/hw-transport-web-ble · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
