> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# External Wallets Overview

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/javascript/reference/react-quickstart) to get started.
</Card>

External wallets are a way to let users sign up and log in to your application using their own wallet, such as MetaMask. This is opposed to embedded wallets, where the wallet is created and managed by Dynamic on signup or after.

<Tip>
  External wallets and embedded wallets are completely compatible, a user can start with an embedded wallet and also link their branded wallet, or vice versa.
</Tip>

We cover enabling signup/login with external wallets in the [authentication methods section](/react/authentication-methods/external-wallets), and assume if you're reading this section that you've already enabled the appropriate chains and configured RPC URLs.

This section details the more advanced areas of external wallets, such as:

* [Connect vs Authenticate modes](/react/wallets/external-wallets/connected-vs-authenticated)
* [Allowing multiple wallet connections](/react/wallets/external-wallets/multi-wallet)
* [Recommending certain wallets at signup](/react/wallets/external-wallets/recommend-wallets)
* [Blocking risky wallet addresses with Chainalysis](/react/wallets/external-wallets/chainalysis)
