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

# CrossmintWallets

<Note>
  **This page has been updated for Wallets SDK V1.** If you are using the previous version,
  see the [previous version of this page](/sdk-reference/wallets/v0/typescript/classes/CrossmintWallets) or the [V1 migration guide](/wallets/guides/migrate-to-v1).
</Note>

Defined in: [packages/wallets/src/sdk.ts:11](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L11)

## Methods

### createDeviceSigner()

> **createDeviceSigner**(`deviceKeyStorage`, `address`?): `Promise`\<`DeviceSignerConfig`>

Defined in: [packages/wallets/src/sdk.ts:67](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L67)

#### Parameters

| Parameter          | Type                                                 |
| ------------------ | ---------------------------------------------------- |
| `deviceKeyStorage` | [`DeviceSignerKeyStorage`](./DeviceSignerKeyStorage) |
| `address`?         | `string`                                             |

#### Returns

`Promise`\<`DeviceSignerConfig`>

***

### createPasskeySigner()

> **createPasskeySigner**(`passkeyName`): `Promise`\<\{ `id`: `string`; `name`: `string`; `publicKey`: \{ `x`: `string`; `y`: `string`; }; `type`: `"passkey"`; }>

Defined in: [packages/wallets/src/sdk.ts:71](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L71)

#### Parameters

| Parameter     | Type     |
| ------------- | -------- |
| `passkeyName` | `string` |

#### Returns

`Promise`\<\{ `id`: `string`; `name`: `string`; `publicKey`: \{ `x`: `string`; `y`: `string`; }; `type`: `"passkey"`; }>

***

### createWallet()

> **createWallet**\<`C`>(`options`): `Promise`\<[`Wallet`](./Wallet)\<`C`>>

Defined in: [packages/wallets/src/sdk.ts:63](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L63)

Create a new wallet.
Works on both client and server side.
Either a signer or recovery must be provided.
If no signer is provided but recovery is set, the wallet will be read-only.

#### Type Parameters

| Type Parameter                                 |
| ---------------------------------------------- |
| `C` *extends* [`Chain`](../type-aliases/Chain) |

#### Parameters

| Parameter | Type                                                         | Description             |
| --------- | ------------------------------------------------------------ | ----------------------- |
| `options` | [`WalletCreateArgs`](../type-aliases/WalletCreateArgs)\<`C`> | Wallet creation options |

#### Returns

`Promise`\<[`Wallet`](./Wallet)\<`C`>>

A new wallet

***

### getWallet()

#### Call Signature

> **getWallet**\<`C`>(`args`): `Promise`\<[`Wallet`](./Wallet)\<`C`>>

Defined in: [packages/wallets/src/sdk.ts:40](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L40)

Get an existing wallet.
Works on both client and server side.
On client side, provide wallet args directly.
On server side, provide the wallet locator string and wallet args.

##### Type Parameters

| Type Parameter                                 |
| ---------------------------------------------- |
| `C` *extends* [`Chain`](../type-aliases/Chain) |

##### Parameters

| Parameter | Type                                                   |
| --------- | ------------------------------------------------------ |
| `args`    | [`WalletArgsFor`](../type-aliases/WalletArgsFor)\<`C`> |

##### Returns

`Promise`\<[`Wallet`](./Wallet)\<`C`>>

A wallet if found, throws WalletNotAvailableError if not found

#### Call Signature

> **getWallet**\<`C`>(`walletLocator`, `args`): `Promise`\<[`Wallet`](./Wallet)\<`C`>>

Defined in: [packages/wallets/src/sdk.ts:41](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L41)

Get an existing wallet.
Works on both client and server side.
On client side, provide wallet args directly.
On server side, provide the wallet locator string and wallet args.

##### Type Parameters

| Type Parameter                                 |
| ---------------------------------------------- |
| `C` *extends* [`Chain`](../type-aliases/Chain) |

##### Parameters

| Parameter       | Type                                                   |
| --------------- | ------------------------------------------------------ |
| `walletLocator` | `string`                                               |
| `args`          | [`WalletArgsFor`](../type-aliases/WalletArgsFor)\<`C`> |

##### Returns

`Promise`\<[`Wallet`](./Wallet)\<`C`>>

A wallet if found, throws WalletNotAvailableError if not found

***

### from()

> `static` **from**(`crossmint`): `CrossmintWallets`

Defined in: [packages/wallets/src/sdk.ts:27](https://github.com/Crossmint/crossmint-sdk/blob/main/packages/wallets/src/sdk.ts#L27)

Initialize the Wallets SDK

#### Parameters

| Parameter   | Type        | Description                                          |
| ----------- | ----------- | ---------------------------------------------------- |
| `crossmint` | `Crossmint` | Crossmint data (use `createCrossmint` to initialize) |

#### Returns

`CrossmintWallets`

A new CrossmintWallets instance
