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

# CrossmintWalletHost

> Flutter Final Class

**Final Class**

Advanced runtime host that mounts the client/auth/wallet scopes plus the hidden bridge hosts required for signer/export flows.

```dart theme={null}
final class CrossmintWalletHost extends StatelessWidget
```

Prefer `CrossmintWalletProvider` for the recommended app-facing integration
path. This widget remains useful when the host app owns the
`CrossmintClient` and `CrossmintWalletController` lifecycle directly.

## Constructors

### CrossmintWalletHost

```dart theme={null}
const CrossmintWalletHost({
  super.key,
  required this.client,
  required this.walletController,
  required this.child,
  this.hiddenSignerBridgeController,
  this.exportSignerBridgeController,
  this.offstageHiddenSignerBridge = true,
  this.offstageExportSignerBridge = true,
})
```

Creates a host widget. Pass the `client` and `walletController` the host should expose through scopes; optionally override the bridge controllers.

## Properties

### client

```dart theme={null}
final CrossmintClient client
```

The owning `CrossmintClient`.

### walletController

```dart theme={null}
final CrossmintWalletController walletController
```

The wallet controller the scope exposes via `CrossmintWalletContext`.

### child

```dart theme={null}
final Widget child
```

The subtree wrapped by the host.

### hiddenSignerBridgeController

```dart theme={null}
final HiddenSignerBridgeRuntimeController? hiddenSignerBridgeController
```

Optional override of the client's default hidden signer bridge controller — useful for tests that inject a fake bridge.

### offstageHiddenSignerBridge

```dart theme={null}
final bool offstageHiddenSignerBridge
```

When `true` (the default) the hidden signer WebView is hidden via a 1×1 `Opacity(0.01)` + `IgnorePointer` wrapper — invisible and non-interactive but still laid out, painted, and composited. It is **not** wrapped in an `Offstage` widget (see `HiddenSignerBridgeHost` for why). Set to `false` only when debugging the bridge.

### offstageExportSignerBridge

```dart theme={null}
final bool offstageExportSignerBridge
```

When `true` (the default) the export signer WebView is hidden the same way as `offstageHiddenSignerBridge`.

## Methods

### build

```dart theme={null}
Widget build(BuildContext context)
```
