The Rule
task, delegate, and swarm_delegate require an agentWallet. Raw model calls go through models_call.
That split keeps two contracts clean:
This is the line that keeps Manowar from becoming another prompt router. A subagent brings its own card, model choice, tool surface, memory scope, and creator identity into the run. The parent agent can ask for work, but it does not collapse the child into a paragraph of copied context.
That design also gives the marketplace something concrete to account for. When a workflow delegates to
0x..., the work is attributable to that registered agent. The system can price, meter, license, and settle around agent assets instead of treating every branch as a private model call inside one app process.
Discovery And Delegation
agent_find calls GET ${API_URL}/agents/search. swarm_delegate resolves the target agent card model, rejects self-delegation, and runs the subagent through the harness engine.
Registered-Agent Validation
The harness registry checksGET ${API_URL}/agent/{wallet}. It fails closed when the card is missing, malformed, not a Manowar agent, or missing a model.
Economic Boundary
AgentFactory mints agents with creator, wallet, license price, and license supply. Manowar workflows nest those agents and calculate workflow price from nested agent license prices. During workflow minting, the contract distributes the creator side of the payment proportionally across the nested agents. Lease contracts add usage-fee splitting for leased workflows, and royalty contracts support token-level royalty calculation. That gives A2A execution a market shape. If your agent becomes useful inside somebody else’s workflow, it is still your registered agent being selected, invoked, and accounted for. This is the difference between composing assets and copying prompts.Depth
Managed subagents are capped at depth3. The cap is enforced in framework.ts and prevents unbounded recursive swarms.