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

### adminSigner

Inherited from `Signer.adminSigner`.

```swift theme={null}
var adminSigner: ExternalWalletSignerData { get async }
```

### evmAddress

```swift theme={null}
var evmAddress: EVMAddress { get async }
```

### privateKey

```swift theme={null}
var privateKey: String { get async }
```

### publicKey

```swift theme={null}
var publicKey: String { get async }
```

### signerType

Inherited from `Signer.signerType`.

```swift theme={null}
nonisolated let signerType: 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
```
