> ## 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.

# useSmartWallets

<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>

# useSmartWallets

The `useSmartWallets` hook provides utility functions for working with smart contract wallets and their corresponding EOA (Externally Owned Account) wallets.

## Usage

```typescript theme={"system"}
import { useSmartWallets } from '@dynamic-labs/sdk-react-core';

function MyComponent() {
  const { isSmartWallet, getEOAWallet, getSmartWallet } = useSmartWallets();
  // ...
}
```

## Return Value

The hook returns an object with the following properties:

* isSmartWallet: (wallet: Wallet) => boolean;
  Allows you to tell whether a wallet is a Smart Contract Wallet.

* getEOAWallet: (wallet: Wallet) => Wallet | undefined;
  Given a smart wallet, returns the correspondent EOA wallet. If a non smart wallet is provided, returns undefined.

* getSmartWallet: (wallet: Wallet) => Wallet | undefined;
  Given an EOA wallet, returns the corresponding smart wallet. If a non EOA wallet is provided, returns undefined.
