Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,20 @@ Any agent should be able to take a product PR and update these docs without a hu

| Fact | Canonical home |
| --- | --- |
| Workspace definition, creating a workspace, setup steps | `/workspaces` |
| Workspace definition, creating a workspace, setup steps, workspaces created from an agent | `/workspaces` |
| Roles, capability matrix, settings visibility, API key scopes, read-only members | `/workspaces/roles` |
| Recovery, recovery signers, verifying them | `/workspaces/recovery` |
| Keeping workspaces unlinked onchain: per-workspace keys and recovery signers, sender/recipient hygiene | `/workspaces/privacy` |
| Settings map (each section, who sees it) | `/workspaces/settings` |
| Member (the person), signing up, inviting, roles-are-per-team pointer, removal | `/members` |
| Member (the person or the agent), signing up, inviting, roles-are-per-team pointer, removal, agent members | `/members` |
| Signing keys: passkeys, password managers, EOAs, verifying access, troubleshooting | `/members/keys` |
| Account types, ownership chain (Root → Treasury → sub-accounts) | `/accounts` |
| Signer definition, signers-vs-membership boundary | `/accounts/signers` |
| Thresholds, choosing one | `/accounts/thresholds` |
| Renaming, changing signers and thresholds, resetting signers via the owner | `/accounts/editing` |
| Proposal model, transaction types | `/transactions` |
| Gas sponsorship order, plan budgets, gas balance, top-ups | `/transactions/gas` |
| API overview, CLI/MCP setup, API key scopes model, headless signing | `/introduction/agents` |
| API overview, CLI/MCP setup, browser login, API key scopes model, headless signing | `/introduction/agents` |
| Experiment definition, prototype caveats | `/experiments` |
| PACT: raise mechanics, contract guarantees, limitations | `/experiments/pact` |

Expand Down
11 changes: 11 additions & 0 deletions src/pages/accounts/earn.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,14 @@ Splits checks each wrapper's owner and fee settings, and each Steakhouse vault's
Using Earn does not require you to manually account for vault shares or calculate the yield yourself. [Accounting](/accounting) treats a deposit as a swap of USDC into vault shares and a withdrawal as a swap back. Vault shares are tracked as their own tax lots, and yield is realized as gain on the shares when you withdraw.

Deposits and withdrawals remain in the transaction history and CSV exports. The displayed yield is net of the performance fee.

## Programmatic access

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

- `splits accounts balances <address>`: balances, with each Earn position's underlying asset and value (**Read** scope)
- `splits transactions create earn-deposit --account 0x... --chain-id 8453 --asset 0x... --amount 100`: propose a deposit, in asset units (**Write** scope)
- `splits transactions create earn-withdraw ...`: propose a withdrawal, in asset units (**Write** scope)
- `splits transactions create transfer ... --source-token <vault>`: pay a recipient from a position; see [Sends](/transactions/sends#programmatic-access)
- `splits settings get`: the workspace's Automated Earn state (**Read** scope)
- `splits transactions create auto-earn-on` / `auto-earn-off`: propose the Treasury transaction that toggles Automated Earn (**Write** scope, as an Owner or Treasury signer)
2 changes: 1 addition & 1 deletion src/pages/accounts/editing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ If every passkey on the workspace is lost, reset the Treasury first (recovery wa

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

- `splits accounts update-signers <address> --threshold N ...`: propose signer/threshold changes; approval happens in the web UI (**Owner** scope)
- `splits accounts update-signers <address> --add-eoa-signer-ids <id> --threshold N`: propose signer/threshold changes, signed in the web UI or with a registered EOA (**Owner** scope)
- `splits accounts rename <address>`: rename an account (**Owner** scope)

Resets are web-only today.
4 changes: 4 additions & 0 deletions src/pages/accounts/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,8 @@ Via the [Splits CLI / MCP](/introduction/agents):
- `splits accounts list`: all accounts in the workspace (**Read** scope)
- `splits accounts create --name "Name" --threshold 2`: create an operating account (**Owner** scope)
- `splits accounts rename <address>` / `archive` / `unarchive`: manage accounts (**Owner** scope)
- `splits accounts sign-message <address>`: sign a message as the account; see [WalletConnect](/integrations/walletconnect#programmatic-access)
- `splits automations list`: the workspace's automations (**Read** scope)
- `splits automations create --name "Name" --forwarder 0x...`: create an automation account with its policy (**Owner** scope)

Editing automations and watching external accounts are web-only today.
4 changes: 3 additions & 1 deletion src/pages/accounts/signers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,7 @@ The [Root account](/accounts#root)'s signers are the workspace's recovery signer
Via the [Splits CLI / MCP](/introduction/agents):

- `splits accounts signers <address>`: an account's signers and threshold (**Read** scope)
- `splits accounts update-signers <address> ...`: propose signer/threshold changes; approval happens in the web UI (**Owner** scope)
- `splits accounts update-signers <address> ...`: propose signer/threshold changes, signed in the web UI or with a registered EOA (**Owner** scope)
- `splits auth register-signer <address>`: register an EOA so it can be added as a signer (**Write** scope)
- `splits auth signers`: the EOAs registered under the key's member, with their ids (**Read** scope)
- `splits members signers <userId>`: a member's passkey IDs, for adding them as a signer (**Read** scope)
9 changes: 9 additions & 0 deletions src/pages/banking/offramping.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,12 @@ For IBAN banks supporting SEPA Instant, settlement occurs in under 30 seconds.
If your workspace already has an offramping provider, you can offramp through it instead, without completing Splits' [entity verification](/banking#getting-verified). Most providers issue a **liquidation address**: a deposit address that converts incoming stablecoins to fiat and forwards them to your bank account. Save that address as a [contact](/contacts), then [send](/transactions/sends) stablecoins to it like any other recipient.

Splits treats these as ordinary sends: the 0.25% banking fee and the settlement times above don't apply; your provider's own fees and timing do.

## Programmatic access

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

- `splits offramp external-accounts`: the workspace's bank accounts (**Owner** scope)
- `splits transactions create offramp --account 0x... --external-account-id <id> --amount 100`: propose an off-ramp of the amount the bank receives (**Write** and **Owner** scopes)

Adding bank accounts and onramping are web-only today.
4 changes: 2 additions & 2 deletions src/pages/contacts/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Two recipient types are stored separately from contacts but appear alongside the

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

- `splits contacts list --q "acme"`: search contacts by name or address; returns up to 500 (**Read** scope)
- `splits contacts lookup --addresses 0x...,0x...`: batch address-to-name lookup, max 100 addresses (**Read** scope)
- `splits contacts list --q "acme"`: search contacts by name or address, with their send rules; returns up to 500 (**Read** scope)
- `splits contacts lookup --addresses 0x...,0x...`: batch address-to-name lookup, with send rules, max 100 addresses (**Read** scope)

Creating and editing contacts is web-only today.
2 changes: 1 addition & 1 deletion src/pages/integrations/bankr.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The module path exists for autonomous execution, including calls to contracts th

## Setup

1. An Owner creates an API key in [Settings > API Keys](https://app.splits.org/settings/team/api-keys/) (**Owner** scope is required for the agent to create accounts or propose signer changes).
1. The agent gets access: an Owner approves its [browser login](/introduction/agents#sign-in-from-the-browser), or creates an API key in [Settings > API Keys](https://app.splits.org/settings/team/api-keys/) (**Owner** scope is required for the agent to create accounts or propose signer changes).
2. The agent authenticates (`splits auth login`), generates and registers its own signing EOA (`splits auth create-key --register`), and either creates a new account with itself and a human passkey as signers, or proposes adding itself to an existing account, approved by a human in the app.

The skill covers the exact commands, key handling, and validation rules. Everything the agent does surfaces like any other activity: proposals in the transaction feed, and module executions logged onchain and in the feed.
8 changes: 8 additions & 0 deletions src/pages/integrations/walletconnect.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,11 @@ description: Connect a Splits account to third-party apps over WalletConnect whe
2. On the account's page in Splits, paste the URI into the WalletConnect section and approve the connection.

The app's transaction and signature requests then appear in Splits, where you sign at the account's [threshold](/accounts/thresholds), the same as any transaction. Requests can also be [added to a batch](/transactions/batch#batching-from-external-apps).

## Programmatic access

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

- `splits accounts sign-message <address> --chain-id 8453 --message "..."`: sign a message as the account with a registered EOA (**Write** scope)

Pairing an account with an app is web-only today.
Loading
Loading