> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcenpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Agent object

> Reference for ArcenPay's autonomous agent data model — spending limits, session keys, auto-topup dispatch, and multi-chain settlement.

Autonomous agents in ArcenPay are non-human entities that negotiate pricing, pay for API access via HTTP 402, and consume metered entitlements without manual intervention.

Agents operate with cryptographically restricted session keys, strict hourly and daily spend velocity limits, and auto-topup dispatch rules to ensure autonomous continuous operation.

***

## The Agent object

```json theme={null}
{
  "id": "agent_01h9zabc123",
  "name": "Market Researcher Agent",
  "walletAddress": "0x1234567890abcdef1234567890abcdef12345678",
  "status": "ACTIVE",
  "permissions": {
    "maxSpendPerHour": "50000000",
    "maxSpendPerDay": "200000000",
    "maxPerTx": "10000000",
    "allowedChains": [677, 8453, 968],
    "allowedContracts": [
      "0x1111111111111111111111111111111111111111"
    ],
    "whitelistedTokens": ["USDC", "EURC"]
  },
  "balance": {
    "currentBalance": "150000000",
    "spentToday": "45000000",
    "remainingBudgetToday": "155000000",
    "currency": "USDC"
  },
  "dispatch": {
    "enabled": true,
    "minBalanceThreshold": "20000000",
    "topupAmount": "100000000",
    "targetWallet": "0x1234567890abcdef1234567890abcdef12345678",
    "chainId": 8453
  },
  "createdAt": "2026-03-01T00:00:00.000Z",
  "lastActivityAt": "2026-03-19T18:30:00.000Z"
}
```

### Attributes

| Attribute        | Type           | Description                                                                                       |
| ---------------- | -------------- | ------------------------------------------------------------------------------------------------- |
| `id`             | string         | Unique ArcenPay agent identifier, prefixed `agent_…`.                                             |
| `name`           | string         | Human-readable name configured by the developer.                                                  |
| `walletAddress`  | string         | EVM or Stellar wallet address used by the agent to sign transactions.                             |
| `status`         | string         | `ACTIVE` (normal execution), `PAUSED` (temporarily blocked), or `REVOKED` (permanently disabled). |
| `permissions`    | object         | Spend budget velocity controls, allowed chains, and contract allowlists.                          |
| `balance`        | object         | Real-time vault balance, cumulative daily spend, and remaining allowance.                         |
| `dispatch`       | object         | Autonomous topup rules triggered when vault balances fall below threshold.                        |
| `createdAt`      | string         | ISO 8601 creation timestamp.                                                                      |
| `lastActivityAt` | string \| null | Timestamp of the most recent transaction or entitlement consumption.                              |

***

## Velocity & Spend Controls

To protect autonomous agent operations from unintended drain or compromise, ArcenPay enforces three layers of velocity limits:

1. **Per-Transaction Cap (`maxPerTx`)**
   Maximum micro-units an agent can transfer or commit in a single transaction.
2. **Hourly Spend Velocity (`maxSpendPerHour`)**
   Rolling 60-minute spending window cap.
3. **Daily Spend Velocity (`maxSpendPerDay`)**
   Rolling 24-hour spending window cap.

All limits are verified off-chain via facilitator keepers and on-chain via smart contract session vaults.
