- An organization is the tenant boundary.
- A vault wallet is the treasury wallet for that organization.
- An agent pocket wallet is the wallet a worker agent actually spends from.
- A runtime key is bound to one agent pocket wallet, not to the whole org.
Organization
An organization owns the wallets, mandates, offers, approvals, and ledger entries for one team or company. API keys are always scoped to exactly one organization.- Org-wide operator keys live on the control plane.
- Wallet-scoped runtime keys live on the runtime plane.
Vault wallet
The vault is the organization’s treasury wallet. What it does:- receives treasury deposits
- acts as the source for vault -> pocket allocations in server-signed orgs
- anchors the org’s signing mode (
fullvsbrowser)
- it is not the wallet your worker agent spends from
- it does not carry the runtime mandate that governs agent spend
Agent pocket wallets
An agent pocket wallet is the wallet a specific agent uses for governed spend. It can also receive earnings when you attach an offer to it. Operationally, this is the wallet that matters most:- the runtime key from
@axon402/initis bound to one agent pocket governed_fetchspends from that pocket- seller offers pay into that pocket
- spend-side and earn-side governance both attach to that pocket’s mandate row
Signing mode changes funding
The most important wallet behavior difference is the org’s signing mode.
This distinction is load-bearing:
- full / server-signed orgs can use treasury allocation as an internal move
- browser-signed orgs must use Deposit to Wallet for each target wallet because the server has no vault signer
VAULT_ALLOCATION_UNAVAILABLE, that is not a
generic treasury error. It means the org is browser-signed and the correct next
step is direct wallet funding.
Departments are optional
AXON still supports departments as an optional grouping for wallets, but they are not required for first launch and most new teams can ignore them initially. Use departments only when you actually need:- wallet grouping by team or business unit
- scoped emergency stops
- reporting or ownership boundaries inside one organization
Practical mental model
For most launches, think in this order:- Operator creates or boots the organization.
- Operator creates or confirms the vault wallet.
- Operator creates one agent pocket wallet per worker.
- Operator funds the pocket that should spend.
- Operator hands the runtime key for that pocket to the agent host.
Where to inspect the current state
- GET /v1/me — org, surface, wallet binding, signing mode
- GET /v1/wallets/ — deposit address and whether vault allocation is available
- GET /v1/orgs//vault — treasury view
- GET /v1/orgs//workforce — org wallet/workforce view