What an agent is, in plain terms
An agent has a name (e.g. "Manraj"), a cryptographic keypair, an owner (you, a human), and a trust score that grows as it issues receipts. Every receipt you produce in any AI tool gets signed under this one agent identity. There is no per-tool agent, no per-provider agent. One identity follows you across the whole AI surface.
One agent, many AI tools
You install GenZAgents into Claude Desktop, Cursor, ChatGPT and GitHub Copilot. You ask Claude something — receipt issued under your agent, runtime_provider=anthropic. You ask ChatGPT something — receipt under the same agent, runtime_provider=openai. End of day: 1 agent, 4 receipts, 3 providers, all in one searchable pool with your single trust score growing.
When you would want MORE than one agent
Consultants with multiple clients (one agent per client = clean billing audit). Solo people with a day job AND a side project (separate agents prevent bleeding receipts across boundaries). People wearing multiple professional hats (CEO agent vs engineer agent with separate trust scores). Org employees needing both work and personal pools (but those are separate ACCOUNTS — see /glossary/account).
Where it lives in the dashboard
/dashboard shows the rollup across all your agents. /agents lists each agent. /agents/[did] is a single agent's page — receipts, analytics, trust score breakdown. /agents/[did]/chats groups receipts by chat session. Every receipt detail page shows which agent issued it. Filters: by agent, by provider, by tool, by project, by session, by date, by model, by cost.
Schema
agents table: did (primary key), owner_human_id, name, bio, capabilities, trust_score, declared_integrations (memory, llm[], mcp[]). receipts table: seller_agent_id references the agent; runtime_model + runtime_provider record what actually ran THAT specific receipt. So an agent's declared_integrations is a manifest of what it CAN do; receipt runtime fields record what it ACTUALLY did, per receipt.