> ## Documentation Index
> Fetch the complete documentation index at: https://docs.faremeter.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Ledger Wallet Package

> Ledger hardware wallet integration for EVM and Solana

# wallet-ledger/src

## Interfaces

### LedgerEvmWallet

Defined in: [packages/wallet-ledger/src/types.ts:9](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L9)

Ledger hardware wallet interface for EVM chains.

#### Properties

##### address

> **address**: `` `0x${string}` ``

Defined in: [packages/wallet-ledger/src/types.ts:11](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L11)

##### chain

> **chain**: `ChainInfo`

Defined in: [packages/wallet-ledger/src/types.ts:10](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L10)

##### disconnect()

> **disconnect**: () => `Promise`\<`void`>

Defined in: [packages/wallet-ledger/src/types.ts:14](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L14)

###### Returns

`Promise`\<`void`>

##### signTransaction()

> **signTransaction**: (`tx`) => `Promise`\<`` `0x${string}` ``>

Defined in: [packages/wallet-ledger/src/types.ts:12](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L12)

###### Parameters

###### tx

`TransactionSerializable`

###### Returns

`Promise`\<`` `0x${string}` ``>

##### signTypedData()

> **signTypedData**: (`params`) => `Promise`\<`` `0x${string}` ``>

Defined in: [packages/wallet-ledger/src/types.ts:13](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L13)

###### Parameters

###### params

`MessageDefinition`

###### Returns

`Promise`\<`` `0x${string}` ``>

***

### LedgerSolanaWallet

Defined in: [packages/wallet-ledger/src/types.ts:20](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L20)

Ledger hardware wallet interface for Solana.

#### Properties

##### disconnect()

> **disconnect**: () => `Promise`\<`void`>

Defined in: [packages/wallet-ledger/src/types.ts:24](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L24)

###### Returns

`Promise`\<`void`>

##### network

> **network**: `string`

Defined in: [packages/wallet-ledger/src/types.ts:21](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L21)

##### partiallySignTransaction()

> **partiallySignTransaction**: (`tx`) => `Promise`\<`Readonly`\<\{ }>>

Defined in: [packages/wallet-ledger/src/types.ts:23](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L23)

###### Parameters

###### tx

`Readonly`

###### Returns

`Promise`\<`Readonly`\<\{ }>>

##### publicKey

> **publicKey**: `Address`

Defined in: [packages/wallet-ledger/src/types.ts:22](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/types.ts#L22)

## Type Aliases

### createReadlineInterfaceArgs

> **createReadlineInterfaceArgs** = `object`

Defined in: [packages/wallet-ledger/src/interface.ts:6](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/interface.ts#L6)

Arguments for creating a readline-based user interface.

#### Properties

##### stdin

> **stdin**: `NodeJS.ReadableStream`

Defined in: [packages/wallet-ledger/src/interface.ts:8](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/interface.ts#L8)

Input stream (typically process.stdin).

##### stdout

> **stdout**: `NodeJS.WritableStream`

Defined in: [packages/wallet-ledger/src/interface.ts:10](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/interface.ts#L10)

Output stream (typically process.stdout).

## Functions

### createLedgerEvmWallet()

> **createLedgerEvmWallet**(`ui`, `chain`, `derivationPath`): `Promise`\<[`LedgerEvmWallet`](#ledgerevmwallet)>

Defined in: [packages/wallet-ledger/src/evm.ts:26](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/evm.ts#L26)

Creates a Ledger hardware wallet interface for EVM chains.

Connects to a Ledger device and returns a wallet that can sign
transactions and EIP-712 typed data.

#### Parameters

##### ui

`UserInterface`

User interface for displaying prompts and messages.

##### chain

`ChainInfo`

EVM chain configuration.

##### derivationPath

`string`

BIP-44 derivation path (e.g., "m/44'/60'/0'/0/0").

#### Returns

`Promise`\<[`LedgerEvmWallet`](#ledgerevmwallet)>

A Ledger EVM wallet interface.

***

### createLedgerSolanaWallet()

> **createLedgerSolanaWallet**(`network`, `derivationPath`): `Promise`\<[`LedgerSolanaWallet`](#ledgersolanawallet)>

Defined in: [packages/wallet-ledger/src/solana.ts:22](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/solana.ts#L22)

Creates a Ledger hardware wallet interface for Solana.

Connects to a Ledger device and returns a wallet that can sign
kit-native Solana transactions.

#### Parameters

##### network

`string`

Solana network identifier (e.g., "mainnet-beta", "devnet").

##### derivationPath

`string`

BIP-44 derivation path (e.g., "44'/501'/0'").

#### Returns

`Promise`\<[`LedgerSolanaWallet`](#ledgersolanawallet)>

A Ledger Solana wallet interface.

***

### createReadlineInterface()

> **createReadlineInterface**(`args`): `Promise`\<\{ `close`: () => `Promise`\<`void`>; `message`: (`msg`) => `undefined`; `question`: (`q`) => `Promise`\<`string`>; }>

Defined in: [packages/wallet-ledger/src/interface.ts:22](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/interface.ts#L22)

Creates a readline-based user interface for Ledger interactions.

Provides a simple terminal interface for displaying messages and
prompting for user input during account selection.

#### Parameters

##### args

[`createReadlineInterfaceArgs`](#createreadlineinterfaceargs)

Input and output streams for the readline interface.

#### Returns

`Promise`\<\{ `close`: () => `Promise`\<`void`>; `message`: (`msg`) => `undefined`; `question`: (`q`) => `Promise`\<`string`>; }>

A UserInterface implementation using Node.js readline.

***

### selectLedgerAccount()

> **selectLedgerAccount**(`ui`, `type`, `numAccounts`): `Promise`\<`null` | \{ `address`: `string`; `path`: `string`; }>

Defined in: [packages/wallet-ledger/src/utils.ts:26](https://github.com/faremeter/faremeter/blob/main/packages/wallet-ledger/src/utils.ts#L26)

Interactively selects a Ledger account from the device.

Enumerates accounts on the connected Ledger device and prompts the
user to select one via the provided user interface.

#### Parameters

##### ui

`UserInterface`

User interface for displaying accounts and receiving selection.

##### type

Account type to enumerate ("evm" or "solana").

`"solana"` | `"evm"`

##### numAccounts

`number` = `5`

Number of accounts to scan (default: 5).

#### Returns

`Promise`\<`null` | \{ `address`: `string`; `path`: `string`; }>

The selected account's derivation path and address, or null if selection cancelled.
