InAppWallet

InAppWallet is the ultimate persistent wallet provider option for your game. It supports email, phone, social and custom authentication schemes, and will persist across devices, platforms, and other SDKs.

It makes for a fantastic SmartWallet admin/signer and will make sure your users can have the same wallet address across all your games, apps and blockchains.

Login with Email

var inAppWalletOptions = new InAppWalletOptions(email: "myepicemail@domain.id");
var options = new WalletOptions(
provider: WalletProvider.InAppWallet,
chainId: 1,
inAppWalletOptions: inAppWalletOptions
);
var wallet = await ThirdwebManager.Instance.ConnectWallet(options);

Will instantiate InAppWalletModal or resume the session - a simple prefab that will verify the user OTP.

Login with Phone

var inAppWalletOptions = new InAppWalletOptions(phoneNumber: "+1234567890");
var options = new WalletOptions(
provider: WalletProvider.InAppWallet,
chainId: 1,
inAppWalletOptions: inAppWalletOptions
);
var wallet = await ThirdwebManager.Instance.ConnectWallet(options);

Will instantiate InAppWalletModal or resume the session - a simple prefab that will verify the user OTP.

Login with Socials (Google, Apple, Facebook, etc.)

var inAppWalletOptions = new InAppWalletOptions(authprovider: AuthProvider.Google);
var options = new WalletOptions(
provider: WalletProvider.InAppWallet,
chainId: 1,
inAppWalletOptions: inAppWalletOptions
);
var wallet = await ThirdwebManager.Instance.ConnectWallet(options);

Will open a native browser or oauth session to authenticate the user and redirect back to the game.

Learn more about InAppWallet