CrossmintWalletProviderConfig class final

Configuration for CrossmintWalletProvider.

Provide either a clientConfig (the provider builds dependencies for you) or a fully-formed dependencies bundle. Both together is invalid.

Most apps want the clientConfig path:

CrossmintWalletProvider(
  config: CrossmintWalletProviderConfig(
    clientConfig: CrossmintClientConfig(
      apiKey: 'YOUR_STAGING_API_KEY',
      appScheme: 'com.your.app',
    ),
    walletControllerConfig: CrossmintWalletControllerConfig(
      createOnLogin: CrossmintCreateOnLoginConfig(
        chain: 'base-sepolia',
        recovery: const CrossmintEmailSignerConfig(),
      ),
    ),
  ),
  child: CrossmintWalletGate(...),
);

Constructors

CrossmintWalletProviderConfig({CrossmintClientConfig? clientConfig, CrossmintWalletControllerConfig walletControllerConfig = const CrossmintWalletControllerConfig(), CrossmintWalletProviderDependencies? dependencies, bool disposeInjectedDependencies = false, CrossmintAuthLinkProvider? authLinkProvider, bool startAuthCallbackRouter = true, bool autoLoadWallet = true, String? jwt, CrossmintOtpPromptBuilder? otpPromptBuilder, bool mountBridgeHosts = true})
Creates a provider config. Either clientConfig or dependencies must be non-null.
const

Properties

authLinkProvider → CrossmintAuthLinkProvider?
Optional resolver for the OAuth callback URL. Leave null to use the default deep-link resolver.
final
autoLoadWallet → bool
When true (default) the provider triggers ensureLoaded() on the wallet controller once a session is detected.
final
clientConfig → CrossmintClientConfig?
Config used to build a new CrossmintClient. Mutually exclusive with dependencies.
final
dependencies → CrossmintWalletProviderDependencies?
Pre-built dependencies — use this when you want to share a client or controller between mount points. Mutually exclusive with clientConfig.
final
disposeInjectedDependencies → bool
When the provider was handed pre-built dependencies, controls whether they are disposed alongside the provider. Defaults to false — the caller retains ownership.
final
hashCode → int
The hash code for this object.
no setterinherited
jwt → String?
BYOA JWT — when supplied, the provider seeds auth.setJwt(jwt) on startup (Bring Your Own Auth). Apps not using BYOA can leave this null.
final
mountBridgeHosts → bool
When true (default) the provider mounts CrossmintWalletHost so the hidden signer bridge has a place to run. Set to false only if your subtree already hosts the bridge.
final
otpPromptBuilder → CrossmintOtpPromptBuilder?
Builder for the default OTP prompt UI — pass crossmintDefaultOtpPromptBuilder for the Material default. Leave null to drive OTP UI headlessly via walletController.otp.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
startAuthCallbackRouter → bool
When true (default) the provider starts CrossmintAuthCallbackRouter automatically so OAuth redirects land correctly.
final
walletControllerConfig → CrossmintWalletControllerConfig
Config for the wallet controller the provider creates.
final

Methods

isEquivalentTo(CrossmintWalletProviderConfig other) → bool
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited