# @web3-onboard/ledger

> Ledger hardware wallet module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized spec compliant web3 providers for all supported wallets, framework agnostic mo

Latest version **2.7.1** (published 2024-06-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install @web3-onboard/ledger
pnpm add @web3-onboard/ledger
yarn add @web3-onboard/ledger
bun add @web3-onboard/ledger
```

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 2.7.1 |
| Published | 2024-06-05 |
| First published | 2022-02-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 6 |
| Unpacked size | 18.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 922 |
| Maintainers | aaronbarnard1, cmeisl |
| Keywords | Ethereum, Web3, EVM, dapp, Multichain, Wallet, Transaction, Provider, Hardware Wallet, Notifications, React, Svelte, Vue, Next, Nuxt, MetaMask, Coinbase, WalletConnect, Ledger, Trezor, Connect Wallet, Ethereum Hooks, Blocknative, Mempool, pending, confirmed, Injected Wallet, Crypto, Crypto Wallet |

## Links

- npm: https://www.npmjs.com/package/@web3-onboard/ledger
- Repository: https://github.com/blocknative/web3-onboard
- Homepage: https://onboard.blocknative.com
- Issues: https://github.com/blocknative/web3-onboard/issues
- npm.io page: https://npm.io/package/@web3-onboard/ledger

## Dependencies (6)

- [rxjs](https://npm.io/package/rxjs.md) ^7.5.2
- [@walletconnect/modal](https://npm.io/package/@walletconnect/modal.md) 2.6.1
- [@web3-onboard/common](https://npm.io/package/@web3-onboard/common.md) ^2.4.1
- [@ledgerhq/connect-kit](https://npm.io/package/@ledgerhq/connect-kit.md) 1.1.12
- [@walletconnect/client](https://npm.io/package/@walletconnect/client.md) ^1.8.0
- [@walletconnect/ethereum-provider](https://npm.io/package/@walletconnect/ethereum-provider.md) 2.9.1

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 2.7.1 (latest) — 2024-06-05
- 2.7.0-alpha.2 (next) — 2024-05-28
- 2.7.0 — 2024-05-31
- 2.7.0-wagmi.2 — 2024-05-23
- 2.7.0-wagmi.1 — 2024-05-17
- 2.7.0-viem.1 — 2024-05-13
- 2.6.0 — 2024-03-21
- 2.6.0-alpha.1 — 2024-02-02
- 2.5.2 — 2023-07-31
- 2.5.2-alpha.1 — 2023-07-27
- 2.5.1 — 2023-07-07
- 2.5.1-alpha.2 — 2023-07-07
- 2.5.1-alpha.1 — 2023-07-05
- 2.5.0 — 2023-06-29
- 2.5.0-alpha.1 — 2023-06-28
- … 53 more at https://npm.io/package/@web3-onboard/ledger/versions

## README

# @web3-onboard/ledger

## Wallet module for connecting Ledger hardware wallets to web3-onboard

### Install

`npm i @web3-onboard/core @web3-onboard/ledger`

### Options

```typescript
type LedgerOptionsWCv1 = {
  /**
   * @deprecated
   * Version 1 of WalletConnect has been deprecated by the WC team and the WC bridge is not available.
   * To use version 1 a custom bridge url will need to be provided.
   * Support will be completely remove from Web3-Onboard in the future
   */
  walletConnectVersion?: 1
  enableDebugLogs?: boolean
  chainId?: number
  bridge?: string
  infuraId?: string
  rpc?: { [chainId: number]: string }
}

type LedgerOptionsWCv2 = {
  walletConnectVersion: 2
  enableDebugLogs?: boolean
  /**
   * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com)
   */
  projectId: string
  /**
   * List of Optional Chain(s) ID for wallets to support in number format (integer or hex)
   * Defaults to the chains provided within the web3-onboard init chain property
   */
  requiredChains?: string[] | number[]
  requiredMethods?: string[]
  /**
   * Additional methods to be added to the default list of ['eth_sendTransaction',  'eth_signTransaction',  'personal_sign',  'eth_sign',  'eth_signTypedData',  'eth_signTypedData_v4']
   * Passed methods to be included along with the defaults methods - see https://docs.walletconnect.com/2.0/web/walletConnectModal/options
   */
  optionalMethods?: string[]
  requiredEvents?: string[]
  optionalEvents?: string[]
}

type LedgerOptions = LedgerOptionsWCv1 | LedgerOptionsWCv2
```

### Usage

```typescript
import Onboard from '@web3-onboard/core'
import ledgerModule from '@web3-onboard/ledger'

const ledger = ledgerModule({
  /**
   * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com)
   */
  projectId: 'abc123...',
  /**
   * Chains required to be supported by all wallets connecting to your DApp
   */
  requiredChains: [1, 137]
})

const onboard = Onboard({
  // ... other Onboard options
  wallets: [
    ledger
    //... other wallets
  ]
})

const connectedWallets = await onboard.connectWallet()
console.log(connectedWallets)
```

### Filtering Platforms

You may decide that on certain platforms you do not want to display this wallet as a selectable option. To do that you can use the `filter` init option which is an array of platforms that you would like this wallet to **not** be displayed to the end user:

```typescript
import Onboard from '@web3-onboard/core'
import ledgerModule from '@web3-onboard/ledger'

const ledger = ledgerModule({
  /**
   * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com)
   */
  projectId: 'abc123...',
  /**
   * Chains required to be supported by all wallets connecting to your DApp
   */
  requiredChains: [1, 137]
})

const onboard = Onboard({
  // ... other Onboard options
  wallets: [
    ledger
    //... other wallets
  ]
})

const connectedWallets = await onboard.connectWallet()
console.log(connectedWallets)
```

The following is a list of the platforms that can be filtered:

```typescript
type Platform =
  | 'Windows Phone'
  | 'Windows'
  | 'macOS'
  | 'iOS'
  | 'Android'
  | 'Linux'
  | 'Chrome OS'
  | 'Android Browser'
  | 'Chrome'
  | 'Chromium'
  | 'Firefox'
  | 'Microsoft Edge'
  | 'Opera'
  | 'Safari'
  | 'desktop'
  | 'mobile'
  | 'tablet'
```

---
_Source: https://npm.io/package/@web3-onboard/ledger · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
