Agents
An agent is a named spending identity linked to a gas pool. It has a daily USDC spend limit and can be suspended independently of other agents on the same pool.
Create
POST/agentsJWT
| Field | Type | |
|---|---|---|
| poolId | string (uuid) | required |
| name | string | required |
| algoAddress | string | required — Algorand address |
| dailyLimitCents | integer | required |
| vendorWhitelistHash | string | required — SHA-256 of allowed merchants |
List
GET/agentsAll agents for authenticated userJWT
| Query param | Default |
|---|---|
| limit | 20 |
| offset | 0 |
GET/agents/pool/:poolIdAgents for a specific poolJWT
GET/agents/:agentIdSingle agent with status and daily spendJWT
{
"id": "uuid",
"name": "my-agent",
"status": "active",
"dailyLimitCents": 5000,
"dailySpentCents": 1200,
"lastResetAt": "2026-04-05T00:00:00Z"
}Update / Suspend
PATCH/agents/:agentIdJWT
| Field | Type | |
|---|---|---|
| name | string | optional |
| dailyLimitCents | integer | optional |
| vendorWhitelistHash | string | optional |
POST/agents/:agentId/suspendSet status = suspended, blocks new paymentsJWT
Agent statuses
| Status | Meaning |
|---|---|
| active | Normal operation |
| limit_reached | Daily cap hit — resets at midnight UTC |
| suspended | Manually suspended — no payments until reactivated |