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

# Add Wallets to a Business Account

> Create a fresh business-account wallet, or bring an existing embedded wallet under the account.

> [!NOTE]
>
> Business Accounts are in **early access**. See [Business Accounts](https://docs.dynamic.xyz/docs/business-accounts/accounts.md) for the model.

There are two ways to give a business account a wallet:

* **Create a fresh wallet** owned by the account from the start.
* **Link an existing** embedded wallet you already own, so the team can share it.

Either way, the account owns the wallet (not a single user), and you become its first [signer](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/manage-signers.md).

## Create a fresh wallet

`createWalletForBusinessAccount` creates a new embedded wallet owned by the account.

> [tab] JavaScript
>
> ```javascript theme={"system"}
> import { createWalletForBusinessAccount } from '@dynamic-labs-sdk/client/waas';
>
> const wallet = await createWalletForBusinessAccount({
>   businessAccountId: account.id,
>   chain: 'EVM',
> });
> ```

**businessAccountId** `string` *required*

The account that will own the wallet.

**chain** `Chain` *required*

The chain to create the wallet on (e.g. `EVM`, `SOL`).

**password** `string`

Optional passphrase used to encrypt the caller's key share. Use a separate `targetSignerPassword` when you [add a signer](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/manage-signers.md#passwords-when-adding-a-signer).

**thresholdSignatureScheme** `ThresholdSignatureScheme`

Optional signing scheme; defaults to the environment's configuration.

## Link an existing wallet

`addWalletToBusinessAccount` links a wallet you already own into the account. It returns the updated account, including members, signers, and wallets.

> [tab] JavaScript
>
> ```javascript theme={"system"}
> import { addWalletToBusinessAccount } from '@dynamic-labs-sdk/client/waas';
>
> const detail = await addWalletToBusinessAccount({
>   walletId,
>   businessAccountId: account.id,
> });
> ```

> [tab] React
>
> ```tsx theme={"system"}
> import { useAddWalletToBusinessAccount } from '@dynamic-labs-sdk/react-hooks';
>
> const LinkWallet = ({ walletId, businessAccountId }) => {
>   const { mutate, isPending } = useAddWalletToBusinessAccount();
>   return (
>     <button onClick={() => mutate({ walletId, businessAccountId })} disabled={isPending}>
>       Link wallet
>     </button>
>   );
> };
> ```

> [!NOTE]
>
> `businessAccountId` is optional when linking. If omitted, the wallet is linked into its per-wallet business account (found or created automatically). Pass it explicitly to link into a specific account you own or administer.

> [!WARNING]
>
> Only the wallet's owner can link it, and a wallet can belong to **one** business account. Linking a wallet that already belongs to a different account is rejected.

## Next steps

> [card] [Manage signers](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/manage-signers.md)
>
> Add teammates or agents as signers on the wallet.

> [card] [Sign transactions](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/signing.md)
>
> Sign with a business-account wallet.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.