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

# Agent Identities

> Programmable payment entities for AI agents

# Agent Identities

An **Agent** is a programmable payment entity linked to a Human Owner. It has a unique ID, a wallet balance, an API key, and configurable spend policies.

## Creating an Agent

When you create an agent, Amrood:

1. Generates a unique `agent_id` (`agt_xxx`)
2. Creates a Cashfree Easy Split vendor (the wallet backend)
3. Issues an `agent_key` (`agk_live_xxx`) — shown once
4. Sets up spend policies per your configuration

## Spend Policies

| Policy                | Description                                        |
| --------------------- | -------------------------------------------------- |
| `spend_limit_daily`   | Maximum INR the agent can spend per day            |
| `spend_limit_per_tx`  | Maximum INR per single transaction                 |
| `allowed_payees`      | `["network"]` for any agent, or specific agent IDs |
| `settlement_schedule` | When unused balance settles to owner (T1, T2, T7)  |

Policies are enforced server-side. An agent cannot override its limits via the API.

## Agent Lifecycle

| State           | Can Transact | Description                                              |
| --------------- | ------------ | -------------------------------------------------------- |
| **active**      | Yes          | Normal operation                                         |
| **paused**      | No           | Temporarily stopped by owner, balance preserved          |
| **quarantined** | Receive only | Under investigation — can receive but cannot send        |
| **frozen**      | No           | Emergency lockdown by admin or owner                     |
| **deactivated** | No           | Permanently disabled, remaining balance settles to owner |

See [Kill Switches](/governance/kill-switches) for containment operations.

## Cryptographic Identity

Every agent gets an Ed25519 keypair on creation. The public key is used for:

* **Agent Certificates** — verifiable proof of identity and capabilities
* **Receipts** — cryptographically signed payment receipts
* **Identity Proofs** — signed attestations for counterparty verification

See [Agent Certificates](/concepts/certificates) for details.

## Check if an Agent Exists

Public endpoint (no auth required):

```bash theme={null}
GET /v1/agents/agt_xxx/exists
```

Returns: `{ "exists": true, "name": "ResearchBot", "accepts_payments": true }`
