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

# PhoneSigner

> Swift Class

**Class**

A phone (SMS or WhatsApp) OTP signer.

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

## Overview

One class covers every chain because all three differ only in the key type, the signature encoding, and whether the message carries a hex prefix.

## Initializers

### init(phone:channel:chainType:crossmintTEE:)

```swift theme={null}
init(phone: String, channel: OTPDeliveryChannel?, chainType: ChainType, crossmintTEE: CrossmintTEE?)
```

## Instance Properties

| Property | Type | Description |
| - | - | - |
| `adminSigner` | `PhoneSignerData` | Inherited from `Signer.adminSigner`. |
| `channel` | `OTPDeliveryChannel?` | - |
| `encoding` | `String` | - |
| `keyType` | `String` | - |
| `phone` | `String` | In E.164 format, e.g. `"+15551234567"`. |
| `signerType` | `SignerType` | Inherited from `Signer.signerType`. |

## Type Aliases

### PhoneSigner.AdminType

Inherited from `Signer.AdminType`.

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