Overview
Ledger® provides hardware security for private keys and cryptographic operations. As a developer, you can build integrations that interact with Ledger® Wallet devices via SDKs, the WebUSB/WebHID bridge, or Ledger Live. This portal summarizes how to get started quickly and securely.
1. Environment Setup
- Install prerequisites: Node.js (LTS), Python (for some tools), and your preferred package manager.
 - Get a Ledger® device: Use a test device with a fresh firmware where possible. Ensure the device firmware is up to date via Ledger Live.
 - Developer tools: Install 
npm/yarn,ledgerctl(if applicable), and configure USB permissions on Linux/macOS for WebHID/WebUSB testing. 
2. SDKs & Tools
Ledger® provides several SDKs and libraries to help you integrate device functionality into apps:
- ledgerjs: JavaScript libraries for APDU transport, Ledger device communication, and common app helpers.
 - Speculos: Device emulator for testing your app without hardware.
 - BOLOS SDK: The low-level SDK for building Ledger® native apps (C-based); use for firmware-level development.
 - Ledger Live SDK: If integrating into Ledger Live, follow Ledger's partner guidelines and API contracts.
 
3. Common Integration Patterns
- Web apps: Use 
ledgerjswith WebUSB/WebHID to request user signature prompts. Always display transaction details in clear human-readable form before requesting signatures. - Backend signing: Avoid storing keys on servers. Instead, orchestrate unsigned transactions server-side and prompt the Ledger® device for signing on the client.
 - Native apps: Use platform-specific transports (HID/USB) and the Ledger® SDK to interface with devices from desktop/mobile applications.
 
4. Integrating with Ledger Live
Ledger Live is Ledger's official desktop and mobile portfolio manager. Partner integrations require following Ledger's guidelines and approval process. If you plan to add support for a coin or feature through Ledger Live, follow the contributor and app review workflows in the official docs.
5. Security Best Practices
- Never export private keys from the device. All signing must occur on-device.
 - Validate user-facing transaction details twice: in your app UI and on the device screen.
 - Use secure transport channels and avoid logging sensitive APDU payloads in production logs.
 - Audit third-party dependencies and minimize privilege scope for integrations and API keys.
 
6. Testing, Continuous Integration & Publishing
Testing and reproducible builds are crucial for Ledger® integrations. Recommended steps:
- Unit & integration tests: Cover APDU flows with mocked transports and Speculos.
 - CI pipelines: Run emulator tests in CI and restrict access to hardware devices in build environments.
 - Security review: Perform internal security reviews and coordinate with Ledger if requesting Ledger Live inclusion.
 - Documentation: Publish clear integration docs, example code, and step-by-step onboarding for developers and end users.