> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Signer

> **Signer** = \{ `id`: `string`; `locator`: `string`; `name`: `string`; `publicKey`: \{ `x`: `string`; `y`: `string`; }; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"passkey"`; `validatorContractVersion`: `string`; } | \{ `address`: `string`; `locator`: `string`; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"api-key"`; } | \{ `address`: `string`; `locator`: `string`; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"external-wallet"`; } | \{ `address`: `string`; `email`: `string`; `locator`: `string`; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"email"`; } | \{ `address`: `string`; `locator`: `string`; `phone`: `string`; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"phone"`; } | \{ `locator`: `string`; `name`: `string`; `publicKey`: \{ `x`: `string`; `y`: `string`; }; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"device"`; } | \{ `address`: `string`; `locator`: `string`; `scopes`: [`Scope`](./Scope)\[]; `status`: [`SignerStatus`](./SignerStatus); `type`: `"server"`; }

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