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-providerYou 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 unmountsinitializeLedgerProvider 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:
- EVM β β EIP-6963 discovery,
eth_requestAccounts, message and transaction signing - Configuration β β UI position, environment, and all other options
- API reference β β
initializeLedgerProviderAPI reference
Upgrading to 1.4.x or adding Solana? See the Migration guide and the v2 guide.