Skip to Content
πŸ“’ Breaking change: Applications using LedgerJS for transport implementation should migrate to the Device Management Kit (DMK). Learn more.
DocumentationLedger Wallet ProviderGet Startedv1

Get started β€” v1 (EVM only)

This guide covers the v1 API (SDK 1.0.x – 1.4.x), where EVM support is built into the main package. No separate family package or blockchainProviderFactories option is needed.

From v2 onwards you choose the families yourself, including EVM. See the upcoming v2 guide.

Partner program: Ledger Wallet Provider requires enrollment in Ledger’s partner program to obtain API keys. Contact our team to discuss integration.

Before you start, check the Requirements to confirm your target browsers support Web HID and Web Bluetooth.

Install the SDK

Install the UI package:

npm install @ledgerhq/ledger-wallet-provider

You can also install with yarn or pnpm. The latest stable release is published on npmΒ .

Initialize the provider

EVM support is bundled β€” just call initializeLedgerProvider directly:

import { initializeLedgerProvider } from '@ledgerhq/ledger-wallet-provider' import '@ledgerhq/ledger-wallet-provider/styles.css' const cleanup = initializeLedgerProvider({ dAppIdentifier: 'my-dapp', apiKey: 'your-api-key', }) // Call cleanup() when your application unmounts

initializeLedgerProvider mounts the Ledger UI and registers an EIP-6963 / EIP-1193 provider automatically. It returns a cleanup function β€” call it when your application unmounts to remove the UI and unregister the provider.

See Configuration for the full list of options.

SSR and dynamic imports

The SDK uses browser APIs (window, document, CustomEvent). In SSR frameworks (Next.js, Nuxt, SvelteKit, …), load it only on the client:

import { useEffect } from 'react' useEffect(() => { let cleanup: (() => void) | undefined ;(async () => { await import('@ledgerhq/ledger-wallet-provider/styles.css') const { initializeLedgerProvider } = await import('@ledgerhq/ledger-wallet-provider') cleanup = initializeLedgerProvider({ dAppIdentifier: 'my-dapp', apiKey: 'your-api-key', }) })() return () => cleanup?.() }, [])

Next steps

After initialization, integrate EIP-6963 discovery and EIP-1193 signing:

Upgrading to 1.4.x or adding Solana? See the Migration guide and the v2 guide.

Last updated on
Ledger
Copyright Β© Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Flex, Ledger Nano, Ledger Nano S, Ledger OS, Ledger Wallet, [LEDGER] (logo), [L] (logo) are trademarks owned by Ledger SAS.