The dynamic client provides an interface to easily interact with and create embedded wallets for your users.

Notice that embedded wallets must be enabled in your environment’s dashboard settings first!

Usage

This interface allows you to check if an embedded wallet exists, fetch the current embedded wallet or create one if it doesn’t yet exist.

See the following example which renders a prompt to create a wallet or renders its address if it already exists:

const EmbeddedWallet: FC = () => {
  const { wallets } = useReactiveClient(client)

  const wallet = wallets.userWallets[0]

  return (
    <View>
      {wallet && wallets.embedded.hasWallet ? (
        <View>Your wallet address: {wallet.address}</View>
      ) : (
        <Button onPress={() => wallets.embedded.createWallet()}>
          Create Wallet
        </Button>
      )}
    </View>
  )
}

You can read more about the embedded wallets module here.