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

# Business Accounts

> Share embedded wallets across a team, with separate control over who manages the account and who can sign.

> [!NOTE]
>
> **Business Accounts are in early access.** We are working with design partners. If you'd like to be one of them, [talk to us](https://www.dynamic.xyz/book-a-call).

A **business account** lets a team share [embedded wallets](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/overview.md) instead of tying each wallet to one person. A company treasury and a wallet that a company owns, rather than one person, are both business accounts. On top of shared ownership it adds flexible administration: you decide who can manage the account and who can sign, independently of each other.

## When to use one

A **server signer** is an automated process on your server that signs without a person present. An **end-user signer** is a person who signs with a business-account wallet. Only end-user signers can be added today, and adding a server signer fails. An **agent** is an automated program that acts for a user. In the table below, an agent acts as a server signer.

| Use case | Shape |
| - | - |
| **Company treasury** | Shared wallets for operating funds. Teammates sign across them. Routine automated moves need a server signer. |
| **Platform for business customers** | Provision wallets for other companies. Administer each customer's account without signing by default. |
| **Supervised consumer accounts** | An admin administers the account while the end user signs day to day. |
| **User wallets with an agent** | An agent acts as a server signer, and the user stays a signer so they keep final approval. |

## Ownership

A user who is signed in to your app through the SDK creates the account and becomes its **owner**. Each account has exactly one owner. The owner has full control, including transferring ownership. An `admin` can add and remove members and signers and link wallets, but cannot transfer ownership. For what each role can do, see [Members and roles](https://docs.dynamic.xyz/docs/business-accounts/members-and-roles.md).

To transfer ownership, the current owner completes [step-up authentication](https://docs.dynamic.xyz/docs/business-accounts/step-up-auth.md) and then calls the transfer method in their SDK. The new owner must already be a member, and approvals can also be required for the transfer. The transfer promotes that member to owner and demotes the previous owner to `admin` in the same step, so an account never has zero owners or two. The previous owner is then signed out and must sign in again. The JavaScript steps are in the [transfer section](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/members-and-roles.md#transfer-ownership) of the Members and roles reference.

## What an account contains

Everything else hangs off the account, and the parts build on each other in this order.

| Part | What it is |
| - | - |
| [Members](https://docs.dynamic.xyz/docs/business-accounts/members-and-roles.md) | The people on the account, each holding a role, including every active signer. |
| [Wallets and signers](https://docs.dynamic.xyz/docs/business-accounts/wallets-and-signers.md) | Embedded wallets the account owns, and the members who can sign with each one. |
| [Approvals](https://docs.dynamic.xyz/docs/business-accounts/approvals.md) | Approvals required before an account change applies or a wallet signs. |
| [Policies](https://docs.dynamic.xyz/docs/business-accounts/policies.md) | Rules that limit what a wallet can sign. |
| [Step up](https://docs.dynamic.xyz/docs/business-accounts/step-up-auth.md) | The extra verification that sensitive account actions require. |
| [Webhooks](https://docs.dynamic.xyz/docs/business-accounts/webhooks/account-actions.md) | Events for account changes and for [approval proposals](https://docs.dynamic.xyz/docs/business-accounts/webhooks/proposals.md). |

> [!WARNING]
>
> Every active signer is also a member. When a signer becomes active, they are added as a [`viewer`](https://docs.dynamic.xyz/docs/business-accounts/members-and-roles), the read-only built-in role, if they are not already a member. Otherwise, members and signers are independent. Being an admin does not let someone sign, and being a signer does not grant admin rights.

## Limits

Each business account can hold up to 10 members and 10 wallets, and each wallet can have up to 10 signers. These defaults are configurable per environment, where an environment is a Sandbox or Live environment of your Dynamic project. When an account is at a limit, a request to add another member, wallet, or signer fails, and nothing is added. To change the limits for your account, [talk to us](https://www.dynamic.xyz/book-a-call).

## Account details

Only the account name can be changed with the SDK. A name change emits the `businessAccount.updated` event, which [Account action webhooks](https://docs.dynamic.xyz/docs/business-accounts/webhooks/account-actions.md) describes.

## Next steps

Before you build, [talk to us](https://www.dynamic.xyz/book-a-call) to get early access for your Dynamic account. Then follow the guide for your SDK:

* [JavaScript](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/quickstart.md)
* [React Native](https://docs.dynamic.xyz/docs/javascript/react-native/business-accounts.md)
* [Flutter](https://docs.dynamic.xyz/docs/flutter/business-accounts/create-an-account.md)
* [Kotlin](https://docs.dynamic.xyz/docs/kotlin/business-accounts/create-an-account.md)
* [Swift](https://docs.dynamic.xyz/docs/swift/business-accounts/create-an-account.md)
* [Unity](https://docs.dynamic.xyz/docs/unity/business-accounts/create-an-account.md)


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