Checking if a Wallet is a Sui Wallet

React
import { isSuiWallet } from '@dynamic-labs/sui';

if (!isSuiWallet(wallet)) {
  throw new Error('This wallet is not a Sui wallet');
}

Fetch Client

React
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isSuiWallet } from '@dynamic-labs/sui';

const { primaryWallet } = useDynamicContext();

if(!primaryWallet || !isSuiWallet(primaryWallet)) {
  throw new Error('This wallet is not a Sui wallet');
}

const suiClient = await primaryWallet.getSuiClient();

Fetch Network

React
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isSuiWallet } from '@dynamic-labs/sui';

const { primaryWallet } = useDynamicContext();

if(!primaryWallet || !isSuiWallet(primaryWallet)) {
  throw new Error('This wallet is not a Sui wallet');
}

const activeNetwork = await primaryWallet.getActiveNetwork();
</Tab>

<Tab title="React Native">
```ts React Native
import { dynamicClient } from '<path to client file>';
import { SuiClient } from '@mysten/sui.js/client'

const wallet = dynamicClient.wallets.primary

if (!wallet) {
  throw new Error('This wallet is not found');
}

const networkUrl = await dynamicClient.sui.getNetworkUrl({ walletId: wallet.id })
const networkName = await dynamicClient.sui.getNetworkName({ walletId: wallet.id })
</Tab>

<Tab title="JavaScript">
```ts JavaScript
Coming soon

Resources

SuiClient WalletAccount

Examples

You can find examples of how to interact with Sui wallets in the examples section: