Business Accounts are in early access. See Business Accounts for the model.
An account can also define custom roles that inherit
admin or viewer, so a member holds a name your product recognizes (cfo, treasurer) instead of a generic built-in.
Adding someone as a member does not let them sign, and adding a signer does not grant admin rights. When a signer becomes active, they are added as a
viewer member if they are not already a member. Member and role operations require step-up authentication.defineBusinessAccountRole, each inheriting a built-in role. A member’s role always reports the built-in they hold; a held custom role appears separately on member.customRole as { name, inherits }, and it is null for a member holding a built-in role directly.
Who can call what
Every call acts on behalf of the signed-in user. Reads require membership, and modifications such as adding members or signers, linking wallets, and transferring ownership require the owner or admin role. A call made without the required role fails, so checkdetail.members for the caller’s role before you show those actions in your UI.
Add a member
addBusinessAccountMember adds a member with a built-in role (admin or viewer, defaults to viewer) or a custom role the account has defined. Identify them with a targetIdentity: a known userId, or an identifier + identifierType (the user is created if absent).
- JavaScript
- React
APIError with status 422 and the message “Business account has reached the maximum number of members”. Its code is unknown_error, so match on the status.
Adding someone who is already a member succeeds, even at the limit, and returns the existing member unchanged. The role you pass is ignored, so use updateBusinessAccountMemberRole to change a role.
Adds sent at the same moment can fail with a 409 that asks you to retry. Retrying is safe.
Change a member’s role
updateBusinessAccountMemberRole changes a member’s role to admin, viewer, or a custom role the account has defined, including moving between two custom roles. Use ownership transfer, below, to change who the owner is.
- JavaScript
- React
Remove a member
- JavaScript
- React
Transfer ownership
transferBusinessAccountOwnership promotes an existing member to owner and atomically demotes the current owner to admin. Owner-only.
- JavaScript
- React
Next steps
Custom roles
Define named roles that inherit
admin or viewer.Governance
Require approvals before a member or role change applies.