> ## 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.

# SignerManagementOperations

> Kotlin Interface

**Interface**

```kotlin theme={null}
interface SignerManagementOperations
```

## Functions

### addSigner

```kotlin theme={null}
abstract suspend fun addSigner(signer: DelegatedSigner): Result<Unit, WalletError>
```

Registers a new delegated signer on the wallet via the recovery/approval flow. Does not change the active signer.

### needsRecovery

```kotlin theme={null}
abstract suspend fun needsRecovery(): Boolean
```

Returns true when a device signer was configured for this wallet but no matching hardware key exists on the current device.

### recover

```kotlin theme={null}
abstract suspend fun recover(): Result<Unit, WalletError>
```

Generates a new hardware key on this device and registers it on the wallet using the admin/recovery signer approval flow.

### removeSigner

```kotlin theme={null}
abstract suspend fun removeSigner(signer: DelegatedSigner): Result<Unit, WalletError>
```

Removes a delegated signer from the wallet. Supported types: DelegatedSigner.Email, DelegatedSigner.Phone, DelegatedSigner.ExternalWallet, DelegatedSigner.Locator.

### signerIsRegistered

```kotlin theme={null}
abstract fun signerIsRegistered(locator: String): Boolean
```

Returns true if the given locator is registered as a delegated signer on this wallet.

### useSigner

```kotlin theme={null}
abstract suspend fun useSigner(signer: DelegatedSigner): Result<Unit, WalletError>
```

Sets the active signer for subsequent wallet operations.
