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

# EVMKeyPairSigner

> Swift Class

**Class**

```swift theme={null}
final class EVMKeyPairSigner
```

## Initializers

### init(privateKey:)

```swift theme={null}
init(privateKey: String) throws(SignerError)
```

### init(privateKeyData:)

```swift theme={null}
init(privateKeyData: [UInt8]? = nil) throws(SignerError)
```

## Instance Properties

| Property      | Type                       | Description                          |
| ------------- | -------------------------- | ------------------------------------ |
| `adminSigner` | `ExternalWalletSignerData` | Inherited from `Signer.adminSigner`. |
| `evmAddress`  | `EVMAddress`               | -                                    |
| `privateKey`  | `String`                   | -                                    |
| `publicKey`   | `String`                   | -                                    |
| `signerType`  | `SignerType`               | Inherited from `Signer.signerType`.  |

## Instance Methods

### approvals(withSignature:)

Inherited from `Signer.approvals(withSignature:)`.

```swift theme={null}
func approvals(withSignature signature: String) async throws(SignerError) -> [SignRequestApi.Approval]
```

### initialize(\_:)

Inherited from `Signer.initialize(_:)`.

```swift theme={null}
func initialize(_ service: (any SmartWalletService)?) async throws(SignerError)
```

### sign(message:)

Inherited from `Signer.sign(message:)`.

```swift theme={null}
func sign(message: String) async throws(SignerError) -> String
```

## Type Aliases

### EVMKeyPairSigner.AdminType

Inherited from `Signer.AdminType`.

```swift theme={null}
typealias AdminType = ExternalWalletSignerData
```
