The model
One controller account delegates scoped authority to multiple agents. All agents share the same operational wallet, but each has a separate delegation receipt with its ownallowedActions, deniedActions, and scope.
Why one wallet, many delegations
- No key sprawl. One wallet to manage, secure, and rotate.
- Per-agent scope. Each agent has a narrow delegation; a compromised creative agent cannot send messages or modify secrets.
- Audit trail. Every action is tied to a delegation receipt, so you always know which agent did what.
- Instant revocation. Revoke a single delegation to disable one agent without touching the others.
Action matrix
| Action | Sales | Creative | Marketing | Ops |
|---|---|---|---|---|
read_context | yes | yes | yes | yes |
read_proofs | yes | yes | yes | yes |
create_proof | yes | yes | yes | yes |
run_command | yes | yes | yes | yes |
execute_jobs | yes | yes | yes | yes |
send_message | yes | — | yes | — |
manage_runtime | — | — | — | yes |
modify_secrets | denied | denied | denied | denied |
manage_delegations | denied | denied | denied | denied |
manage_proofs | denied | denied | denied | denied |
access_secret | denied | denied | denied | denied |
send_message are still gated by humanApprovalRequiredForNewClaims — they draft for human review, they do not auto-send.
Set it up
Create each agent
Call
neus_agent_create for each team agent. Pass agentId, scope, delegationAllowedActions, delegationDeniedActions, skills, and instructions. The controller wallet signs the delegation.Mount per project
In each project repo where the agent should operate:Binds identity, delegation, and scoped policy to the workspace.
Skills
Each agent carries role-specific skills in its delegation receipt. Skills are metadata — they advertise what the agent can do, but the delegationallowedActions/deniedActions decide what it is actually permitted to do. Skill catalogs are available to all agents at runtime without bloating the delegation payload.
Next
Agent delegation
Full field reference for
allowedActions and deniedActions.Runtime Mount
Bind an agent to any repo or runtime.
Agent cards
Public discovery via
/agent/[id] and A2A.Verification flow
Step-by-step setup order.