# Workspaces

The primary organizational unit, and how to create one

A [workspace](/docs/introduction/core-concepts#workspace) is the primary organizational unit in Splits: every account, balance, transaction, and setting is scoped to one. A workspace has [members](/docs/members) and [accounts](/docs/accounts) that hold its assets.

## Creating a workspace

Creating a workspace takes under a minute, and everything about it can be changed after setup **except Recovery**: changing recovery signers later generates new account addresses (see [Change recovery signers](/docs/workspaces/recovery#changing-recovery-signers)).

A member can create and belong to any number of workspaces. If you just registered, you're guided through creating one; otherwise click your workspace's name in the top left and select *Create a workspace*.

:::note
**Creating a demo workspace?** Skip the Owners and Treasury steps (keep the defaults), and on the Recovery step select *1 signer* and paste any address or ENS (e.g. example.eth). You can create a properly configured workspace later.
:::

### The setup steps

1. **Workspace**: enter a name and optionally upload a logo.
2. **User**: confirm your display name and photo, and add at least one passkey. **You must have at least one passkey to continue.** Your preferred passkey becomes your signer on the Treasury. See [Signing keys](/docs/members/keys) for passkey guidance.
3. **Owners**: add teammates as Owners. Owners are automatically added as signers on the Treasury and can invite other members. *Skip if solo or testing.*
4. **Treasury**: set how many owners must approve each outgoing transaction from the Treasury (its [threshold](/docs/accounts/thresholds)). *Skip if solo or testing.*
5. **Recovery**: add at least one EOA (wallet address) as a recovery signer, and set the recovery threshold. Recovery is how you regain your assets if you lose your passkeys. We recommend multiple signers; at Splits we use a [2-of-3 with hardware wallets](/docs/resources/how-we-work#our-workspace).
6. **Review**: check everything, including which networks to activate. Active networks keep signer state in sync onchain. Base, Arbitrum, Optimism, and Ethereum Mainnet are activated by default; click *Change* to adjust. Hit *Finish*.

### What gets created

Finishing setup creates two accounts:

* A hidden **Root** account controlled by your recovery signers, at the top of the ownership chain.
* The **Treasury**, owned by the Root and controlled by the owners' passkeys. It's intended to hold the bulk of your assets, and it owns every account you create later.

See [Account types](/docs/accounts) for the full ownership model. From your new dashboard you can deposit funds, create accounts, [connect a bank](/docs/banking), and [invite members](/docs/members#inviting).

### From an agent

An agent running the [CLI](/docs/introduction/agents) can create a workspace in two ways. Both create the same two accounts as the app, with two differences: the agent's own signing key is the Treasury's only signer, so the Treasury is the agent's deposit address, and the Root's signer is an [email signer](/docs/workspaces/recovery#recovery-signers) rather than a wallet you connect.

* **You approve it in the browser.** The approval page opens on its *Create* tab, prefilled with a name and networks. You sign in, enter the code the agent shows you, adjust anything, and approve. You become the workspace's Owner, and your login email is the Root's signer, which is what recovers the Treasury. The agent joins as an [agent member](/docs/members#agent-members) with its own API key.
* **The agent owns it.** No browser opens and nobody approves. The agent is the workspace's only Owner, and a recovery email it names is the Root's signer. **Splits sends nothing to that email and does not verify it**, so the agent must use an address a person gave it. Whoever signs in to Splits with that email becomes an Owner of the workspace, on every sign-in, which is how they recover it. Off-ramps and paid plans stay unavailable until a person has joined. One agent key creates one workspace: a second attempt with the same key is refused.

## Programmatic access

Via the [Splits CLI / MCP](/docs/introduction/agents):

* `splits workspace create --name "Acme" --client-name "Claude Code"`: create a workspace you approve in the browser
* `splits workspace create-agent-owned --name "Acme" --client-name "Claude Code" --recovery-email you@example.com`: create a workspace the agent owns
* `splits org create --email you@example.com`: email yourself a setup link for the app's flow
* `splits settings get`: the workspace's settings (**Read** scope)

Changing a workspace's name and logo is web-only today.
