Agents AVAILABLE
The thing acting — with a permit instead of a key.
What it is
- An agent is a program, a model with tools, or a scheduled job, named by a DID and bounded by a permit.
Why it exists
- An agent that holds a spending key is a key with a prompt in front of it. An agent that holds a permit is a party making a request that something else checks.
How it works
- Give the agent a DID and a permit.
- It calls `/v1/authorize` for every action.
- Freeze it the moment it behaves oddly; the freeze applies to the next authorization.
Who uses it
- Teams deploying autonomous software
Security boundary
- An agent process never holds a spending key.
- Registering an agent has no endpoint yet; today they arrive through the sandbox and fixtures.
Example flow
A compromised agent
- An injected instruction tells the agent to transfer to an unknown address.
- It asks. The permit does not cover that resource. **DENY**.
- The refusal is in the audit trail with its reason, and the agent is frozen.
Current status
| Capability | Status | Where |
|---|---|---|
| See the agents in a project Listing and reading are all this screen does. Registering an agent has no endpoint anywhere in the product. | READ ONLY | /projects/:id/agents |
| Freeze and release an agent | AVAILABLE | /projects/:id/agents/:did |
| Register a new agent | AVAILABLE | /projects/:id/agents |
Related API
GET /v1/projects/:id/agents/statePOST /v1/projects/:id/agents/freeze