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

# Signing with a Business-Account Wallet

> Sign transactions and messages with a wallet owned by a business account.

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

A business-account wallet is a standard Dynamic embedded wallet. Once you're an active [signer](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/manage-signers.md) on it, you sign the same way as with any embedded wallet.

## Sign with the wallet

Wallets you can sign for appear in `getWalletAccounts()`. Pass that `walletAccount` to the standard [`signMessage`](https://docs.dynamic.xyz/docs/javascript/reference/wallets/sign-message) (or transaction-signing) calls; there is no business-account-specific signing API.

> [tab] JavaScript
>
> ```javascript theme={"system"}
> import { getWalletAccounts } from '@dynamic-labs-sdk/client';
> import { signMessage } from '@dynamic-labs-sdk/client';
>
> const [walletAccount] = getWalletAccounts();
> const { signature } = await signMessage({ walletAccount, message: 'gm' });
> ```

> [tab] React
>
> ```tsx theme={"system"}
> import { useGetWalletAccounts } from '@dynamic-labs-sdk/react-hooks';
> import { signMessage } from '@dynamic-labs-sdk/client';
>
> const Sign = () => {
>   const { data: walletAccounts = [] } = useGetWalletAccounts();
>   return (
>     <button
>       onClick={() =>
>         signMessage({ walletAccount: walletAccounts[0], message: 'gm' })
>       }
>     >
>       Sign
>     </button>
>   );
> };
> ```

> [!NOTE]
>
> Only active signers can sign. Being an admin or viewer does not grant signing access. See [Members & roles](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/members-and-roles.md).

> [!TIP]
>
> If a newly linked or created wallet doesn't show up yet, refresh authentication so your session picks it up before signing.

## Related

> [card] [Manage signers](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/manage-signers.md)
>
> Ensure the caller holds an active share.

> [card] [Sign a message](https://docs.dynamic.xyz/docs/javascript/reference/wallets/sign-message.md)
>
> The standard signing primitive, used unchanged here.


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