Developer Portal
Welcome to the Ledger Live Wallet developer getting started guide. This document explains how to integrate, test, and deploy features with Ledger Live Wallet and the Ledger/Live/Wallet ecosystem. Whether you're building a hardware-backed wallet integration or a platform connector, Ledger Live Wallet provides the secure primitives and APIs you need.
Ledger Live Wallet is a secure client for managing crypto assets. Use these instructions to set up your environment, connect to devices, and begin sending and receiving transactions. This developer portal covers the Ledger/Live/Wallet APIs, transport layers, and sample code to accelerate integration with Ledger Live Wallet.
Install the official SDK and utilities used to talk to a Ledger device. Example for a quick start:
npm install @ledgerhq/hw-transport-node-hid @ledgerhq/hw-app-eth @ledgerhq/ledger-live-common
These libraries help your app talk to Ledger devices and to implement Ledger Live Wallet flows, account discovery, and transaction signing.
Use the transport layer to detect and connect to Ledger devices. The Ledger/Live/Wallet libraries standardize discovery and permission flows so your app can prompt users safely.
import TransportNodeHid from '@ledgerhq/hw-transport-node-hid';
const transport = await TransportNodeHid.create();
// then pass transport to app-specific libraries
Always handle permissions and user prompts in accordance with best practices. Ledger Live Wallet connections must be explicit and user-initiated; never connect silently.
Discover accounts using the BIP44/BIP32 derivation standards supported by Ledger Live Wallet. After discovery, use the app-specific commands to prepare and sign transactions on-device. Keep private keys on the device at all times — Ledger Live Wallet enforces on-device signing so private keys never leave the hardware.
Security is central to Ledger Live Wallet. Never request user seed phrases. Always rely on the device for signing and never export private keys from the device. Validate all transaction parameters on the host and present human-readable summaries to users before signing. Regularly update to the latest firmware and SDK versions to receive security fixes.
// pseudocode
const transport = await TransportNodeHid.create();
const eth = new Eth(transport);
const unsignedTx = buildUnsignedTx({to, value, gas});
const signature = await eth.signTransaction(path, unsignedTx);
const serialized = serializeTx(unsignedTx, signature);
broadcast(serialized);
This flow demonstrates how Ledger Live Wallet integrations typically construct a transaction, prompt the user to confirm on-device, retrieve the signature, and broadcast it to the network.
For advanced Ledger Live Wallet integrations, consider implementing batched operations, multi-account management, and support for multiple chains. Use the Ledger/Live/Wallet SDK to handle concurrency when signing multiple transactions and to build a trusted proxy for broadcasting. Monitor telemetry and errors (without capturing sensitive key material) to improve reliability and user experience. When scaling your integration, pay attention to rate limits, session management, cross-platform compatibility, and user education. Keep users informed of Ledger Live Wallet, firmware, and SDK updates to reduce support friction and improve security posture.
Use automated tests that mock Transport layers for unit tests and run device tests using a hardware-in-the-loop setup. Verify UX flows on both the device and Ledger Live Wallet application to ensure the user experience is consistent and safe.