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