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

# CrossmintPasskeyApprovalSigner

> Flutter Final Class

**Final Class**

Passkey-based `CrossmintWalletApprovalSigner` that delegates signing to a caller-supplied callback.

```dart theme={null}
final class CrossmintPasskeyApprovalSigner implements CrossmintWalletApprovalSigner
```

In Stage 1, the callback is always required. In Stage 2, native platform
passkey support can be used as a fallback when no callback is provided.
Until native support ships, passing a passkey signer config without
callbacks throws `CrossmintSignerException(code: passkeyCallbackMissing)`
during wallet creation or signing.

## Constructors

### CrossmintPasskeyApprovalSigner

```dart theme={null}
CrossmintPasskeyApprovalSigner({
  required this.credentialId,
  required String locator,
  required Future<CrossmintPasskeySignResult> Function(String message) onSign,
})
```

Creates a passkey approval signer bound to a specific `credentialId` and a user-supplied `onSign` callback.

## Properties

### credentialId

```dart theme={null}
final String credentialId
```

WebAuthn credential identifier bound to this signer.

### type

```dart theme={null}
String get type
```

### locator

```dart theme={null}
String get locator
```

## Methods

### signMessage

```dart theme={null}
Future<Object> signMessage(String message)
```

### signTransaction

```dart theme={null}
Future<Object> signTransaction(String transaction)
```
