Organizations#
An organization is an account a team acts for: its own wallets, branches, keys and public page, with people attached in roles. A person founds it from their own account and becomes its owner. Nobody signs in as the organization; each member signs in as themselves and acts for it.
What this costs
The same as a person's account, per wallet: the first three wallets are free, then the opening fee from the fourth on, taken from the wallet itself. Free payments are counted per account, so an organization has its own thousand. The numbers are on the price list.
Roles#
| Role | May |
|---|---|
| Spender | pay from the organization's wallets, read balances and events, use funding links |
| Manager | also open and burn wallets and branches, and mint wallet and branch keys |
| Owner | also invite and remove members, change roles, set burn addresses, transfer ownership and change the handle |
Exactly one owner at a time. Ownership moves by nomination: the owner names a live member, and the nomination is the transfer.
Founding and joining#
Under Account, Team, Create a team: a name and an
optional handle. The handle becomes the organization's public page at
/u/{handle}. Only the owner goes through the first-wallet screen; after
that, managers open the rest.
Invitations go to an email address with a role. The invited person signs in with that address and pastes the token from the email under Accept an invitation, or opens the link. An invitation is for one address and expires.
Over the API:
POST /v1/orgs found one
POST /v1/orgs/{org}/invitations invite {email, role}
POST /v1/orgs/accept join {token}
PATCH /v1/orgs/{org}/members/{member} change a role
DELETE /v1/orgs/{org}/members/{member} remove
POST /v1/orgs/{org}/transfer nominate the next owner
These are session-only: a key cannot reshape a team.
Your own account stays yours#
An invitation never changes the invited person's own account. You sign in as yourself, with your own email, and keep your own wallets, keys, page and costs; the organization is a separate account beside it. Being removed from an organization leaves your account exactly as it was. An address that has never signed in gets an ordinary private account on its first sign-in, and acceptance adds the organization next to it.
Acting for the organization#
Acting is a separate step, once per browser session. After sign-in, a
member with organizations sees a choice before the dashboard: Continue as
yourself, or Act for one of them. While acting, a banner names the
organization and offers Switch, which brings the choice back. A new
sign-in always starts as yourself. To land on the choice with the
organization pre-selected, sign in at /login?account=<handle>; the
invitation email carries that link.
Over the API, send X-Mechawallet-Account: <handle> or ?account=<handle>
on each request; over MCP, pass account on any tool. Nothing acts for the
organization unless the request says so. Your role decides what the call
may do, and a refusal names the role it needed.
Keys belong to the member who minted them and carry that member's role as a ceiling. A manager sees the keys they minted; the owner sees every key's prefix and can revoke any of them. A wallet key or a branch key spends within its wallet or branch whoever holds it, so hand them out as you would money.
Support and burn addresses#
The organization's burn addresses are set by the owner under Account, Profile and page while acting for it. Support threads opened while acting for the organization belong to it; the answer is emailed to the member who opened the thread, since the organization has no inbox of its own.