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

# CrossmintExportableWalletSigner

> Flutter Abstract Interface Class

**Abstract Interface Class**

Marker interface for signers that can hand back the raw private key to the user — primarily non-custodial email and phone signers.

```dart theme={null}
abstract interface class CrossmintExportableWalletSigner
```

Non-custodial signers normally keep keys inside a hidden WebView (the
TEE/KMS runtime the Crossmint signer service manages). For recovery or
migration flows, users can request the private key via a separate,
purpose-built export bridge — that flow lives behind
`exportPrivateKey`.

## Properties

### canExportPrivateKey

```dart theme={null}
bool get canExportPrivateKey
```

Whether this signer can export its private key. Only non-custodial email/phone signers return `true`.

## Methods

### exportPrivateKey

```dart theme={null}
Future<void> exportPrivateKey(CrossmintExportSignerBridge bridge)
```

Kicks off the key-export flow via the provided export bridge. The bridge renders a Crossmint-hosted UI that the user confirms inside. Throws `CrossmintSignerException` when the signer type does not support export.
