
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@ledgerhq/hw-transport-webhid
Advanced tools
Ledger Hardware Wallet WebHID implementation of the communication layer
GitHub, Ledger Devs Discord, Developer Portal
Allows to communicate with Ledger Hardware Wallets.
[Web] (WebHID) – WebHID check browser support.
You may be using this package to open a USB connection between your web application and the device.
For a smooth and quick integration:
The transport functions create() and listen() must be called in the context of a user interaction (like a "click" event), otherwise it fails with DOM Exception. This is by WebUSB design. You also must run on HTTPS.
Please check @ledgerhq/hw-transport-webusb documentation because it is very similar paradigm.
WebUSB is currently only supported on Google Chrome / Chromium DEV version and by explicitly enabling chrome://flags/#enable-experimental-web-platform-features
Extends Transport
WebHID Transport implementation
device HIDDevice import TransportWebHID from "@ledgerhq/hw-transport-webhid";
...
TransportWebHID.create().then(transport => ...)
Release the transport device
Returns Promise<void>
Exchange with the device using APDU protocol.
apdu Buffer Returns Promise<Buffer> a promise of apdu response
Check if WebUSB transport is supported.
List the WebUSB devices that was previously authorized by the user.
Actively listen to WebUSB devices and emit ONE device that was either accepted before, if not it will trigger the native permission UI.
Important: it must be called in the context of a UI click!
observer Observer<DescriptorEvent<HIDDevice>> Returns Subscription
Similar to create() except it will always display the device permission (even if some devices are already accepted).
Similar to create() except it will never display the device permission (it returns a Promise<?Transport>, null if it fails to find a device).
Create a Ledger transport with a HIDDevice
device HIDDevice @ledgerhq/hw-transport-u2f is a similar package that uses the U2F (Universal 2nd Factor) protocol to communicate with Ledger devices. Unlike WebHID, U2F is more widely supported across different browsers but may have limitations in terms of speed and functionality compared to WebHID.
@ledgerhq/hw-transport-webusb provides a transport layer using the WebUSB API. It offers similar functionalities to WebHID but requires user permission to access USB devices. WebUSB can be more versatile in terms of device compatibility but may not be supported in all browsers.
@ledgerhq/hw-transport-node-hid is designed for Node.js environments and uses the HID protocol to communicate with Ledger devices. It is suitable for desktop applications but not for web applications, unlike WebHID which is specifically for web use.
FAQs
Ledger Hardware Wallet WebHID implementation of the communication layer
The npm package @ledgerhq/hw-transport-webhid receives a total of 226,855 weekly downloads. As such, @ledgerhq/hw-transport-webhid popularity was classified as popular.
We found that @ledgerhq/hw-transport-webhid demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.