Skip to main content
  1. CrossmintProvider — SDK initialization (required for all Crossmint features)
  2. CrossmintWalletProvider — Wallet creation and management

CrossmintProvider

Root provider for the Crossmint SDK. Must wrap your entire application. Initializes the SDK with your API key and sets up logging.

Props

apiKey
string
required
Your Crossmint client-side API key.
consoleLogLevel
ConsoleLogLevel
Minimum log level for console output (or “silent” to suppress all output). Logs below this level will not be written to the console. Set to “silent” to completely suppress console output. Defaults to “debug” (all logs shown) for backward compatibility.
overrideBaseUrl
string
Override the base API URL.

Usage

import { CrossmintProvider } from "@crossmint/client-sdk-react-native-ui";

function App() {
    return (
        <CrossmintProvider apiKey="YOUR_CLIENT_API_KEY">
            {/* Your app content */}
        </CrossmintProvider>
    );
}

CrossmintWalletProvider

Provider for wallet creation and management. Must be nested inside CrossmintProvider. Handles secure communication with the Crossmint signer via a hidden WebView.

Props

appearance
UIConfig
Optional appearance configuration for styling built-in UI components.
callbacks
{ onTransactionStart?: () => Promise<void>; onWalletCreationStart?: () => Promise<void> }
Optional lifecycle callbacks invoked during wallet creation and transaction signing.
createOnLogin
CreateOnLogin
Wallet configuration for automatic creation on user login. Defines the chain and signer type for the wallet.
headlessSigningFlow
boolean
When true (default), no UI is rendered and signing flows must be handled manually. When false, built-in UI components are rendered.

Usage

import {
    CrossmintProvider,
    CrossmintWalletProvider,
} from "@crossmint/client-sdk-react-native-ui";

function App() {
    return (
        <CrossmintProvider apiKey="YOUR_CLIENT_API_KEY">
            <CrossmintWalletProvider
                createOnLogin={{
                    chain: "base-sepolia",
                    signer: { type: "email" },
                }}
            >
                {/* Your app content */}
            </CrossmintWalletProvider>
        </CrossmintProvider>
    );
}
Note: CrossmintWalletProvider must be nested inside CrossmintProvider.