Integrate Trust. Build Securely.

Welcome to the official **Ledger Live Developer Portal**. Leverage the **Ledger Live SDK** to seamlessly integrate your decentralized applications (DApps), services, and exchanges directly into the Ledger ecosystem, guaranteeing millions of users the gold standard in **hardware wallet security**.

View Quickstart Documentation

Understanding the Secure Architecture

The Ledger platform is built on two core components: the physical **Ledger Nano Hardware Wallet** (where the private keys remain isolated) and the **Ledger Live** application (the user's gateway). The **Ledger Live SDK** provides a safe, attested bridge for third-party services like yours to interact with the user's accounts without ever compromising the private keys.

The Ledger Live environment is fundamentally different from browser-based extensions. All transaction signing requests are routed through the secure Ledger Live application, verified against the user's Ledger device, and ultimately confirmed manually on the hardware screen. This architecture entirely mitigates the risks associated with browser-injection attacks and malicious scripts, making it the most trusted path for **secure wallet access** and transaction authorization.

Your integration becomes a trusted "Platform App" within the Ledger Live ecosystem. This dedicated, secure environment is key for building confidence and ensuring compliance with the highest security standards in **Web3 development**.

Quickstart: From Zero to Integrated DApp

Follow these four essential steps to establish your development environment and successfully communicate with the **Ledger Live SDK**.

1

Prerequisite Check & Node Setup

Ensure you have a recent version of Node.js (v18+) and npm/yarn installed. The SDK relies on modern JavaScript environments. Initialize your project and install the core Ledger dependencies.

npm init -y
npm install @ledgerhq/hw-app-btc @ledgerhq/hw-transport-node-hid

Tip: Always pin your dependency versions (e.g., using a fixed version number) to ensure stable security audits for your application.

2

The Transport Layer Abstraction

The SDK abstracts the hardware communication layer. For desktop environments, you'll use @ledgerhq/hw-transport-node-hid. This module facilitates the direct, low-level USB communication with the physical device, managed through the Ledger Live application.

import Transport from '@ledgerhq/hw-transport-node-hid';
const transport = await Transport.create();

This transport object is the foundation of all subsequent interaction, establishing a safe channel for **Hardware Wallet Integration**.

3

Accessing App-Specific Logic

Interaction with the device is done through specific app clients (e.g., HwAppBtc for Bitcoin, HwAppEth for Ethereum). These clients handle the precise commands (APDU) required for each blockchain to perform actions like getting public keys or signing transactions.

import Eth from '@ledgerhq/hw-app-eth';
const ethApp = new Eth(transport);
const { publicKey } = await ethApp.getAddress("44'/60'/0'/0/0");

This demonstrates reading a public key—the first step in integrating **Blockchain App Development** features.

4

Transaction Signing Flow

The signing process is the most critical function. Your application sends the *unsigned* transaction data to the SDK. The Ledger device then displays the details for verification, and the user approves it on the hardware screen. The signature is returned to your application.

const rawTx = '...'; // Unsigned transaction data
const signature = await ethApp.signTransaction("44'/60'/0'/0/0", rawTx);

The **Ledger Live SDK** ensures that the private key never leaves the device's secure element, maintaining the highest level of trust.

Security & Advanced Integration Concepts

The Security Manifesto: Trust by Design

When developing for Ledger, security is not a feature—it's the core promise. The entire platform is built around the **Secure Element**, a chip resistant to physical attack. Your role as a developer is to respect this boundary. Never attempt to prompt the user for their **Recovery Seed** (24-word phrase) on your computer interface. All sensitive operations, especially the Passphrase (Hidden Wallet feature) or seed input, must be confined to the physical device.

The SDK forces an asynchronous, user-confirmed interaction for signing. This means your application must be designed to wait for explicit user confirmation on the Ledger device before proceeding. This compulsory verification step is the fundamental reason why Ledger is immune to malware-based theft.

Keyword Focus: Secure Element, Plausible Deniability, Transaction Confirmation, Ledger Security Architecture.

Managing Derivation Paths (HD Wallets)

Ledger Live manages multiple accounts using Hierarchical Deterministic (HD) keys, identified by **derivation paths** (e.g., m/44'/60'/0'/0/0). When integrating, you must correctly query the public key and sign transactions using the exact derivation path provided by Ledger Live. This ensures consistency and proper account management across different currencies and applications.

Example Path Usage: Different chains require different base paths. Bitcoin often uses 49' or 84', while Ethereum consistently uses 44'/60'. Understanding this mapping is crucial for accurate **DApp integration**.

Error Handling and User Feedback

Robust error handling is essential for a good user experience. Potential errors include TransportOpenUserDenied (user unplugged device), UserRefusedOnDevice (user rejected the transaction), or InvalidData (a malformed transaction). Your application must clearly communicate these errors to the user, instructing them on necessary actions (e.g., "Please check and confirm the transaction details on your Ledger Nano device.").

Properly catching and processing these Ledger-specific errors is key to building an application that feels native and trustworthy within the **Ledger Live ecosystem**.

Join the Ledger Developer Community

The Ledger developer community is vibrant and dedicated to expanding the limits of secure access to Web3. Whether you need technical assistance, are looking to contribute to the open-source SDK, or want to submit your DApp for official listing, we have the resources you need.

SDK GitHub Repository API Reference Documentation Submit Your Platform App