Business Accounts are in early access. See Business Accounts for the model.
owner role. Each member holds one role, which is either a built-in role or a custom role, and the role decides which account actions the member can take.
A
viewer has read-only access to the account. The owner cannot be removed or have its role changed. To give ownership to another member, transfer ownership, which makes the current owner an admin.
An account can hold up to 10 members by default, and the owner counts as one of them. See Limits for the configurable caps.
Custom roles
An account can also define custom roles. A custom role is a name your product recognizes, such ascfo or treasurer, and it always inherits the permissions of admin or viewer. A custom role cannot inherit owner, and its name cannot reuse owner, admin or viewer. A member with a custom role has exactly the permissions of the role it inherits.
Owners and admins define and delete custom roles. Assign a custom role the same way as a built-in role, by passing its name as the role when you add a member or update a member’s role. Deleting a custom role does not remove its holders, who keep the permissions of the role they inherit.
Approval requirements can name a custom role as an eligible approver or as an initiator. The initiator is the member who starts an action.
Define, list, assign, and delete custom roles with the SDK: see Custom roles in the JavaScript reference.
Changing membership
Adding a member, removing a member, changing a member’s role, and transferring ownership are account changes. All four require step-up authentication when step-up is enabled for the environment. The caller must then verify their identity again just before the change, and without that verification the call fails with a403 error.
If the account has an approval requirement for the change, the change waits as a proposal until enough eligible members approve it. It then applies automatically, unless the initiator turned off auto-execute.
Removing a member, demoting them through an ownership transfer, or changing their role revokes the approvals they had given on still-open proposals and vetoes the open proposals they initiated, so consent and signed intents recorded under their old standing cannot complete a proposal after the change.
Removing a member also removes that member’s signer records on every wallet they signed for, so they can no longer sign for those wallets. Dynamic refuses to remove the last active signer of a wallet, because the wallet would become inaccessible. Add another signer before you remove the only signer of a wallet.