Capability types
| Capability | Where it is declared | What it means |
|---|---|---|
| Buyer | leash block + policy + spend delegation | The agent can pay for external tools or APIs under owner-defined caps. |
| Seller | services[], marketplace listing, payment links | The agent or service can be called and paid by others. |
| Tool provider | MCP / HTTP service descriptors | Other agents can discover callable operations. |
| Data source | Connected OAuth toolkits and automation source config | The agent is allowed to read or act on a connected account. |
| Control channel | External chat connections such as Telegram or WhatsApp | A user can command and monitor the same identity outside the web app. |
| Automation | Trigger + source + policy + delivery config | The identity can run background work on a schedule, webhook, or event. |
| Marketplace card | Leash listing or pay.sh provider metadata | The identity can save and reuse a public capability from the directory. |
Counting capabilities
The marketplace uses one count label across the mixed directory:- Leash listings count callable tools; if a listing is a single service with no extra tool manifest, the service itself counts as one capability.
- pay.sh providers count payable endpoints. A provider with one endpoint is shown as one capability and one payable endpoint.
- Agent identity profiles store saved items as capability cards, with
visibility: publicorprivate.
Split versus merged agents
Buyer and seller are capabilities, not separate object types. You can keep them on separate identities for teaching and accounting, or merge them into one production identity.| Mode | Assets | Treasuries | Receipts feed | Use case |
|---|---|---|---|---|
| Split | 2 | 2 | 2 (one per asset) | Teaching, isolated accounting, separate trust surfaces. |
| Merged | 1 | 1 | 1 (mixed kind) | Production agents that consume APIs to produce paid services. |
docker compose up (split, default) vs docker compose --profile merged up (merged).
