> ## Documentation Index
> Fetch the complete documentation index at: https://www.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 in Unity with a wallet owned by a business account.

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

A business-account wallet is a standard Dynamic embedded wallet. Once you are an active [signer](https://www.dynamic.xyz/docs/unity/business-accounts/manage-signers.md) on it, you sign the same way as with any embedded wallet. There is no business-account-specific signing API.

## Sign with the wallet

Wallets you can sign for appear in `DynamicSDK.Instance.Wallets.UserWallets`. Match one against the account's wallets, then pass it to the standard signing calls.

```csharp theme={"system"}
using System.Collections.Generic;
using System.Linq;
using DynamicSDK.Models.BusinessAccounts;
using UnityEngine;

var detail = await DynamicSDK.Instance.BusinessAccounts.Get(account.Id);
var accountWalletIds = (detail.Wallets ?? new List<BusinessAccountWalletSummary>())
    .Select(w => w.Id)
    .ToHashSet();

var wallet = DynamicSDK.Instance.Wallets.UserWallets
    .FirstOrDefault(w => accountWalletIds.Contains(w.Id));
if (wallet == null) return;

var signature = await DynamicSDK.Instance.Wallets.SignMessage(wallet, "gm");
Debug.Log(signature);
```

For transactions, use the chain page that matches the wallet: [EVM](https://www.dynamic.xyz/docs/unity/wallets/evm/send-transactions.md) or [Solana](https://www.dynamic.xyz/docs/unity/wallets/solana/send-transactions.md).

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

> [!TIP]
>
> If a newly linked wallet does not appear in `DynamicSDK.Instance.Wallets.UserWallets` yet, refresh authentication so the session picks it up before signing. You can subscribe to `OnUserWalletsChanged` to react when it arrives.

## Related

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

> [card] [Message signing](https://www.dynamic.xyz/docs/unity/wallets/evm/message-signing.md)
>
> The standard signing primitive, used unchanged here.


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